diff options
Diffstat (limited to 'src/synth/synth-insts.adb')
-rw-r--r-- | src/synth/synth-insts.adb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/synth/synth-insts.adb b/src/synth/synth-insts.adb index d5d3f4bf3..f1ff14348 100644 --- a/src/synth/synth-insts.adb +++ b/src/synth/synth-insts.adb @@ -630,7 +630,7 @@ package body Synth.Insts is Make_Object (Syn_Inst, Wire_None, Inter); when Port_Out | Port_Inout => - Make_Object (Syn_Inst, Wire_Output, Inter); + Make_Object (Syn_Inst, Wire_None, Inter); end case; Inter := Get_Chain (Inter); end loop; @@ -778,7 +778,6 @@ package body Synth.Insts is pragma Assert (Get_Kind (Inst.Config) = Iir_Kind_Block_Configuration); Apply_Block_Configuration (Inst.Config, Arch); - Synth_Declarations (Syn_Inst, Get_Declaration_Chain (Entity)); Synth_Concurrent_Statements (Syn_Inst, Get_Concurrent_Statement_Chain (Entity)); @@ -787,6 +786,8 @@ package body Synth.Insts is Synth_Concurrent_Statements (Syn_Inst, Get_Concurrent_Statement_Chain (Arch)); + Finalize_Assignments (Build_Context); + -- Remove unused gates. This is not only an optimization but also -- a correctness point: there might be some unsynthesizable gates, like -- the one created for 'rising_egde (clk) and not rst'. |