diff options
author | Jonas Baggett <jonasb@tranquille.ch> | 2016-08-05 14:28:25 +0200 |
---|---|---|
committer | Jonas Baggett <jonasb@tranquille.ch> | 2016-11-02 13:25:04 +0100 |
commit | df259b99050928cd72874377d7797c0de797935b (patch) | |
tree | e28835c3357a82ba1896130445d16f4999a480d7 /src/grt/grt-waves.adb | |
parent | b869a4acb52358fe8ca5decaac826af056bfdfca (diff) | |
download | ghdl-df259b99050928cd72874377d7797c0de797935b.tar.gz ghdl-df259b99050928cd72874377d7797c0de797935b.tar.bz2 ghdl-df259b99050928cd72874377d7797c0de797935b.zip |
Support added for * and **. Please note that wildcards inside names like /top/sub*/... are not supported yet, only synthax like /top/*/... works for now. Support for wildcards inside names will be added on version 1.2, at the same time as simple regexp support.
Current version set to 1.1
Diffstat (limited to 'src/grt/grt-waves.adb')
-rw-r--r-- | src/grt/grt-waves.adb | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/src/grt/grt-waves.adb b/src/grt/grt-waves.adb index a94eae23f..33edffdf2 100644 --- a/src/grt/grt-waves.adb +++ b/src/grt/grt-waves.adb @@ -916,15 +916,15 @@ package body Grt.Waves is -- Create a hierarchy block. procedure Wave_Put_Hierarchy_Block (Inst : VhpiHandleT; Step : Step_Type; - Wave_Elem : Wave_Opt.Elem_Acc); + Match_List : Design.Match_List); procedure Wave_Put_Hierarchy_1 - (Inst : VhpiHandleT; Step : Step_Type; Wave_Elem : Wave_Opt.Elem_Acc) + (Inst : VhpiHandleT; Step : Step_Type; Match_List : Design.Match_List) is Decl_It : VhpiHandleT; Decl : VhpiHandleT; Error : AvhpiErrorT; - Wave_Elem_Child : Wave_Opt.Elem_Acc; + Match_List_Child : Design.Match_List; begin Vhpi_Iterator (VhpiDecls, Inst, Decl_It, Error); if Error /= AvhpiErrorOk then @@ -944,9 +944,9 @@ package body Grt.Waves is case Vhpi_Get_Kind (Decl) is when VhpiPortDeclK | VhpiSigDeclK => - Wave_Elem_Child := Get_Cursor - (Wave_Elem, Avhpi_Get_Base_Name (Decl), Is_Signal => True); - if Is_Displayed (Wave_Elem_Child) then + Match_List_Child := Get_Cursor + (Match_List, Avhpi_Get_Base_Name (Decl), Is_Signal => True); + if Is_Displayed (Match_List_Child) then case Step is when Step_Name => Create_String_Id (Avhpi_Get_Base_Name (Decl)); @@ -985,14 +985,15 @@ package body Grt.Waves is Nbr_Scopes := Nbr_Scopes + 1; - Wave_Elem_Child := Get_Cursor (Wave_Elem, Avhpi_Get_Base_Name (Decl)); - if Is_Displayed (Wave_Elem_Child) then + Match_List_Child := Get_Cursor + (Match_List, Avhpi_Get_Base_Name (Decl)); + if Is_Displayed (Match_List_Child) then case Vhpi_Get_Kind (Decl) is when VhpiIfGenerateK | VhpiForGenerateK | VhpiBlockStmtK | VhpiCompInstStmtK => - Wave_Put_Hierarchy_Block (Decl, Step, Wave_Elem_Child); + Wave_Put_Hierarchy_Block (Decl, Step, Match_List_Child); when VhpiProcessStmtK => case Step is when Step_Name => @@ -1012,7 +1013,7 @@ package body Grt.Waves is procedure Wave_Put_Hierarchy_Block (Inst : VhpiHandleT; Step : Step_Type; - Wave_Elem : Wave_Opt.Elem_Acc) is + Match_List : Design.Match_List) is begin case Step is when Step_Name => @@ -1024,7 +1025,7 @@ package body Grt.Waves is Write_Hierarchy_El (Inst); end case; - Wave_Put_Hierarchy_1 (Inst, Step, Wave_Elem); + Wave_Put_Hierarchy_1 (Inst, Step, Match_List); if Step = Step_Hierarchy then Wave_Put_Byte (Ghw_Hie_Eos); @@ -1036,7 +1037,7 @@ package body Grt.Waves is Pack_It : VhpiHandleT; Pack : VhpiHandleT; Error : AvhpiErrorT; - Wave_Elem : Wave_Opt.Elem_Acc; + Match_List : Design.Match_List; begin -- First packages. Get_Package_Inst (Pack_It); @@ -1047,16 +1048,16 @@ package body Grt.Waves is Avhpi_Error (Error); return; end if; - Wave_Elem := Get_Top_Cursor (Pkg, Avhpi_Get_Base_Name (Pack)); - if Is_Displayed (Wave_Elem) then - Wave_Put_Hierarchy_Block (Pack, Step, Wave_Elem); + Match_List := Get_Top_Cursor (Pkg, Avhpi_Get_Base_Name (Pack)); + if Is_Displayed (Match_List) then + Wave_Put_Hierarchy_Block (Pack, Step, Match_List); end if; end loop; -- Then top entity. - Wave_Elem := Get_Top_Cursor (Entity, Avhpi_Get_Base_Name (Root)); - if Is_Displayed (Wave_Elem) then - Wave_Put_Hierarchy_Block (Root, Step, Wave_Elem); + Match_List := Get_Top_Cursor (Entity, Avhpi_Get_Base_Name (Root)); + if Is_Displayed (Match_List) then + Wave_Put_Hierarchy_Block (Root, Step, Match_List); end if; end Wave_Put_Hierarchy; |