diff options
Diffstat (limited to 'src/synth/netlists-disp_vhdl.adb')
-rw-r--r-- | src/synth/netlists-disp_vhdl.adb | 48 |
1 files changed, 30 insertions, 18 deletions
diff --git a/src/synth/netlists-disp_vhdl.adb b/src/synth/netlists-disp_vhdl.adb index 7e254c50a..cb02c49ca 100644 --- a/src/synth/netlists-disp_vhdl.adb +++ b/src/synth/netlists-disp_vhdl.adb @@ -637,23 +637,8 @@ package body Netlists.Disp_Vhdl is end case; end Disp_Instance_Inline; - procedure Disp_Architecture (M : Module) - is - Self_Inst : constant Instance := Get_Self_Instance (M); + procedure Disp_Architecture_Declarations (M : Module) is begin - if Self_Inst = No_Instance then - -- Not defined. - return; - end if; - - Put ("architecture rtl of "); - Put_Name (Get_Name (M)); - Put_Line (" is"); - - -- Dummy display: - -- * generate one signal per net - -- * generate instances - -- Display signal declarations. -- There are as many signals as gate outputs. for Inst of Instances (M) loop @@ -678,9 +663,12 @@ package body Netlists.Disp_Vhdl is end loop; end if; end loop; + end Disp_Architecture_Declarations; - Put_Line ("begin"); - + procedure Disp_Architecture_Statements (M : Module) + is + Self_Inst : constant Instance := Get_Self_Instance (M); + begin -- Output assignments. declare Idx : Port_Idx; @@ -701,6 +689,30 @@ package body Netlists.Disp_Vhdl is Disp_Instance_Inline (Inst); end if; end loop; + end Disp_Architecture_Statements; + + procedure Disp_Architecture (M : Module) + is + Self_Inst : constant Instance := Get_Self_Instance (M); + begin + if Self_Inst = No_Instance then + -- Not defined. + return; + end if; + + Put ("architecture rtl of "); + Put_Name (Get_Name (M)); + Put_Line (" is"); + + -- Dummy display: + -- * generate one signal per net + -- * generate instances + + Disp_Architecture_Declarations (M); + + Put_Line ("begin"); + + Disp_Architecture_Statements (M); Put_Line ("end rtl;"); New_Line; |