diff options
author | Tristan Gingold <tgingold@free.fr> | 2022-08-17 03:19:30 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2022-08-17 03:19:30 +0200 |
commit | a546ecfe5c8643c72435318de3973cbf83993fa4 (patch) | |
tree | 76c82ce2422c8e110efa496a8d13dc9f591a447d /src/simul/simul-vhdl_elab.ads | |
parent | e57ba3e335d1f3692805f46d7d9cba49ffea4219 (diff) | |
download | ghdl-a546ecfe5c8643c72435318de3973cbf83993fa4.tar.gz ghdl-a546ecfe5c8643c72435318de3973cbf83993fa4.tar.bz2 ghdl-a546ecfe5c8643c72435318de3973cbf83993fa4.zip |
simul: add create_connects
Diffstat (limited to 'src/simul/simul-vhdl_elab.ads')
-rw-r--r-- | src/simul/simul-vhdl_elab.ads | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/simul/simul-vhdl_elab.ads b/src/simul/simul-vhdl_elab.ads index ed58ca0d6..14ca462a0 100644 --- a/src/simul/simul-vhdl_elab.ads +++ b/src/simul/simul-vhdl_elab.ads @@ -83,18 +83,20 @@ package Simul.Vhdl_Elab is type Connect_Index_Type is new Nat32; No_Connect_Index : constant Connect_Index_Type := 0; + type Connect_Endpoint is record + Base : Signal_Index_Type; + Offs : Value_Offsets; + Typ : Type_Acc; + end record; + -- Connections. For each associations (block/component/entry), the -- elaborator adds an entry in that table. type Connect_Entry is record - Formal_Base : Signal_Index_Type; - Formal_Offs : Value_Offsets; - Formal_Type : Type_Acc; + Formal : Connect_Endpoint; -- Next connection for the formal. Formal_Link : Connect_Index_Type; - Actual_Base : Signal_Index_Type; - Actual_Offs : Value_Offsets; - Actual_Type : Type_Acc; + Actual : Connect_Endpoint; -- Next connection for the actual. Actual_Link : Connect_Index_Type; @@ -103,6 +105,10 @@ package Simul.Vhdl_Elab is Drive_Formal : Boolean; Drive_Actual : Boolean; + -- If true, the connection is fully collapsed: formal is the same + -- signal as actual. + Collapsed : Boolean; + Assoc : Node; Assoc_Inst : Synth_Instance_Acc; end record; |