aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/netlists.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-05-19 05:30:28 +0200
committerTristan Gingold <tgingold@free.fr>2020-05-19 06:09:12 +0200
commit88a57f9390b638db0626d185773a50376a256c99 (patch)
tree18f81a79dd10742965024a0b5e7b139799e01621 /src/synth/netlists.ads
parentc8d023f604c77a1aae3c48cc97c4792339b73def (diff)
downloadghdl-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.ads22
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