33Design Units
44############
55
6- * Primary Units
6+ A VHDL design (see :ref: `vhdlmodel-design `) is assembled from *design units *. VHDL distinguishes
7+ between *primary * and *secondary * design units.
78
8- * Context
9- * Configuration
10- * Entity
11- * Package
9+ .. rubric :: Table of Content
1210
13- * Secondary Units
11+ * :ref: ` vhdlmodel-primary `
1412
15- * Architeture
16- * Package Body
13+ * :ref: `vhdlmodel-context `
14+ * :ref: `vhdlmodel-configuration `
15+ * :ref: `vhdlmodel-entity `
16+ * :ref: `vhdlmodel-package `
17+
18+ * :ref: `vhdlmodel-secondary `
19+
20+ * :ref: `vhdlmodel-architeture `
21+ * :ref: `vhdlmodel-packagebody `
22+
23+
24+ .. _vhdlmodel-primary :
1725
1826Primary Units
1927=============
2028
29+ .. _vhdlmodel-context :
30+
2131Context
2232-------
2333
2434.. todo ::
2535
2636 Write documentation.
2737
38+
39+
40+ .. _vhdlmodel-configuration :
41+
2842Configuration
2943-------------
3044
3145.. todo ::
3246
3347 Write documentation.
3448
49+
50+
51+ .. _vhdlmodel-entity :
52+
3553Entity
3654------
3755
38- .. todo ::
39-
40- Write documentation.
56+ An ``Entity `` represents a VHDL entity declaration. It has a list of generic and
57+ port items. It can contain a list of declared and body items.
4158
4259**Condensed definition of class ** :class: `~pyVHDLModel.VHDLModel.Entity `:
4360
4663 @export
4764 class Entity (PrimaryUnit ):
4865 _libraryReferences: List[LibraryReference]
49- _uses: List[Use ]
66+ _packageReferences: List[PackageReference ]
5067 _genericItems: List[GenericInterfaceItem]
5168 _portItems: List[PortInterfaceItem]
5269 _declaredItems: List # FIXME : define liste element type e.g. via Union
5875 def LibraryReferences (self ) -> List[LibraryReference]:
5976
6077 @ property
61- def Uses (self ) -> List[Use ]:
78+ def PackageReferences (self ) -> List[PackageReference ]:
6279
6380 @ property
6481 def GenericItems (self ) -> List[GenericInterfaceItem]:
7491
7592
7693
94+ .. _vhdlmodel-package :
95+
7796Package
7897-------
7998
@@ -88,7 +107,7 @@ Package
88107 @export
89108 class Package (PrimaryUnit ):
90109 _libraryReferences: List[Library]
91- _uses: List[Use ]
110+ _packageReferences: List[PackageReference ]
92111 _genericItems: List[GenericInterfaceItem]
93112 _declaredItems: List
94113
@@ -98,7 +117,7 @@ Package
98117 def LibraryReferences (self ) -> List[Library]:
99118
100119 @ property
101- def Uses (self ) -> List[Use ]:
120+ def PackageReferences (self ) -> List[PackageReference ]:
102121
103122 @ property
104123 def GenericItems (self ) -> List[GenericInterfaceItem]:
@@ -108,9 +127,13 @@ Package
108127
109128
110129
130+ .. _vhdlmodel-secondary :
131+
111132Secondary Units
112133===============
113134
135+ .. _vhdlmodel-architeture :
136+
114137Architeture
115138-----------
116139
@@ -126,7 +149,7 @@ Architeture
126149 class Architecture (SecondaryUnit ):
127150 _entity: Entity
128151 _libraryReferences: List[Library]
129- _uses: List[Use ]
152+ _packageReferences: List[PackageReference ]
130153 _declaredItems: List # FIXME : define liste element type e.g. via Union
131154 _bodyItems: List[' ConcurrentStatement' ]
132155
@@ -139,7 +162,7 @@ Architeture
139162 def LibraryReferences (self ) -> List[Library]:
140163
141164 @ property
142- def Uses (self ) -> List[Use ]:
165+ def PackageReferences (self ) -> List[PackageReference ]:
143166
144167 @ property
145168 def DeclaredItems (self ) -> List:
@@ -149,6 +172,8 @@ Architeture
149172
150173
151174
175+ .. _vhdlmodel-packagebody :
176+
152177Package Body
153178------------
154179
@@ -164,7 +189,7 @@ Package Body
164189 class PackageBody (SecondaryUnit ):
165190 _package: Package
166191 _libraryReferences: List[Library]
167- _uses: List[Use ]
192+ _packageReferences: List[PackageReference ]
168193 _declaredItems: List
169194
170195 def __init__ (self , name : str ):
@@ -176,7 +201,7 @@ Package Body
176201 def LibraryReferences (self ) -> List[Library]:
177202
178203 @ property
179- def Uses (self ) -> List[Use ]:
204+ def PackageReferences (self ) -> List[PackageReference ]:
180205
181206 @ property
182207 def DeclaredItems (self ) -> List:
0 commit comments