diff options
author | Tristan Gingold <tgingold@free.fr> | 2021-01-25 18:18:30 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2021-01-25 18:19:10 +0100 |
commit | 6b81ec185f16791362ca770f391578c2a8b828f0 (patch) | |
tree | 18aa0ed76886f1efc84fbb2d97358f29d4787617 /src | |
parent | ccc1c045a19345bc970a7ababb8ee0a260bd6194 (diff) | |
download | ghdl-6b81ec185f16791362ca770f391578c2a8b828f0.tar.gz ghdl-6b81ec185f16791362ca770f391578c2a8b828f0.tar.bz2 ghdl-6b81ec185f16791362ca770f391578c2a8b828f0.zip |
std_names: add gclk. For #1610
Regenerate python files.
Diffstat (limited to 'src')
-rw-r--r-- | src/std_names.adb | 1 | ||||
-rw-r--r-- | src/std_names.ads | 3 | ||||
-rw-r--r-- | src/synth/ghdlsynth.h | 7 | ||||
-rw-r--r-- | src/synth/netlists.ads | 2 |
4 files changed, 12 insertions, 1 deletions
diff --git a/src/std_names.adb b/src/std_names.adb index 26eb53b84..4def79432 100644 --- a/src/std_names.adb +++ b/src/std_names.adb @@ -682,6 +682,7 @@ package body Std_Names is Def ("allseq", Name_Allseq); Def ("anyconst", Name_Anyconst); Def ("anyseq", Name_Anyseq); + Def ("gclk", Name_Gclk); -- Verilog directives Def ("define", Name_Define); diff --git a/src/std_names.ads b/src/std_names.ads index 36fdbf249..2a7fc8dc0 100644 --- a/src/std_names.ads +++ b/src/std_names.ads @@ -767,7 +767,8 @@ package Std_Names is Name_Allseq : constant Name_Id := Name_First_Synthesis + 001; Name_Anyconst : constant Name_Id := Name_First_Synthesis + 002; Name_Anyseq : constant Name_Id := Name_First_Synthesis + 003; - Name_Last_Synthesis : constant Name_Id := Name_Anyseq; + Name_Gclk : constant Name_Id := Name_First_Synthesis + 004; + Name_Last_Synthesis : constant Name_Id := Name_Gclk; -- Verilog Directives. Name_First_Directive : constant Name_Id := Name_Last_Synthesis + 1; diff --git a/src/synth/ghdlsynth.h b/src/synth/ghdlsynth.h index 90c4f15f0..abbb68f77 100644 --- a/src/synth/ghdlsynth.h +++ b/src/synth/ghdlsynth.h @@ -72,6 +72,13 @@ namespace GhdlSynth { return name_table__get_address (n.id); } + extern "C" unsigned name_table__get_identifier_with_len(const char *s, unsigned l); + inline Name_Id get_identifier(const char *s) { + Name_Id n; + n.id = name_table__get_identifier_with_len(s, strlen(s)); + return n; + } + struct Sname { unsigned int id; }; const Sname No_Sname = {0 }; diff --git a/src/synth/netlists.ads b/src/synth/netlists.ads index 5ef74a77d..93bf8b1d3 100644 --- a/src/synth/netlists.ads +++ b/src/synth/netlists.ads @@ -397,6 +397,8 @@ private function Attribute_Build (Params : Instance) return Instance; function Attribute_Build_Value (Obj : Instance) return Attribute; + -- Per instance map of attribute. + -- The index is the sub-instance, the value is the attribute chain. package Attribute_Maps is new Dyn_Maps (Params_Type => Instance, Object_Type => Instance, |