diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-05-19 05:30:28 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-05-19 06:09:12 +0200 |
commit | 88a57f9390b638db0626d185773a50376a256c99 (patch) | |
tree | 18f81a79dd10742965024a0b5e7b139799e01621 /src/synth/netlists.ads | |
parent | c8d023f604c77a1aae3c48cc97c4792339b73def (diff) | |
download | ghdl-88a57f9390b638db0626d185773a50376a256c99.tar.gz ghdl-88a57f9390b638db0626d185773a50376a256c99.tar.bz2 ghdl-88a57f9390b638db0626d185773a50376a256c99.zip |
netlists: initial infrastructure for attributes. For #1318
Diffstat (limited to 'src/synth/netlists.ads')
-rw-r--r-- | src/synth/netlists.ads | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/synth/netlists.ads b/src/synth/netlists.ads index e5560ba0a..37cd2279b 100644 --- a/src/synth/netlists.ads +++ b/src/synth/netlists.ads @@ -361,6 +361,23 @@ private type Net is new Uns32; No_Net : constant Net := 0; + type Instance is new Uns32; + No_Instance : constant Instance := 0; + + type Attribute is new Uns32; + No_Attribute : Attribute := 0; + + type Attribute_Tables_Instance; + + type Attribute_Table_Acc is access Attribute_Tables_Instance; + + type Attribute_Value is record + Name : Name_Id; + Val : Pval; + Typ : Param_Type; + Chain : Attribute; + end record; + type Module_Record is record Parent : Module; Name : Sname; @@ -383,15 +400,14 @@ private -- FIXME: use an array instead ? First_Instance : Instance; Last_Instance : Instance; + + Attrs : Attribute_Table_Acc; end record; function Get_First_Port_Desc (M : Module) return Port_Desc_Idx; function Get_First_Output (Inst : Instance) return Net; function Get_Port_Desc (Idx : Port_Desc_Idx) return Port_Desc; - type Instance is new Uns32; - No_Instance : constant Instance := 0; - function Is_Valid (I : Instance) return Boolean; type Instance_Record is record |