Skip to content

Commit a54aefa

Browse files
authored
Merge pull request #11 from VHDL/dev
More documentation
2 parents 353b307 + b2accde commit a54aefa

File tree

14 files changed

+165
-78
lines changed

14 files changed

+165
-78
lines changed

.github/workflows/Release.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ jobs:
1111
env:
1212
PYTHON: ${{ github.event.client_payload.PYTHON }}
1313
steps:
14-
- uses: actions/checkout@v2
14+
- name: Checkout repository
15+
uses: actions/checkout@v2
1516
with:
1617
ref: ${{ github.event.client_payload.ref }}
1718

.github/workflows/Test.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ jobs:
1515
env:
1616
PYTHON: ${{ matrix.python-version }}
1717
steps:
18-
- uses: actions/checkout@v2
18+
- name: Checkout repository
19+
uses: actions/checkout@v2
1920

2021
- name: Setup Python ${{ matrix.python-version }}
2122
uses: actions/setup-python@v2
@@ -38,7 +39,8 @@ jobs:
3839
env:
3940
PYTHON: 3.9
4041
steps:
41-
- uses: actions/checkout@v2
42+
- name: Checkout repository
43+
uses: actions/checkout@v2
4244

4345
- name: Setup Python ${{ env.PYTHON }}
4446
uses: actions/setup-python@v2

.gitignore

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@
22
__pycache__/
33
*.py[cod]
44

5-
# Python installation packages
6-
dist/
7-
85
# Coverage.py
96
.coverage
107
.cov
118
coverage.xml
129

10+
# setuptools
11+
/build
12+
/dist
13+
/*.egg-info
14+
1315
# Sphinx
1416
doc/_build/
1517
doc/pyVHDLModel/**/*.*

.idea/pyVHDLModel.iml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

doc/LanguageModel/DesignUnits.rst

Lines changed: 44 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,58 @@
33
Design 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

1826
Primary Units
1927
=============
2028

29+
.. _vhdlmodel-context:
30+
2131
Context
2232
-------
2333

2434
.. todo::
2535

2636
Write documentation.
2737

38+
39+
40+
.. _vhdlmodel-configuration:
41+
2842
Configuration
2943
-------------
3044

3145
.. todo::
3246

3347
Write documentation.
3448

49+
50+
51+
.. _vhdlmodel-entity:
52+
3553
Entity
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

@@ -46,7 +63,7 @@ Entity
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
@@ -58,7 +75,7 @@ Entity
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]:
@@ -74,6 +91,8 @@ Entity
7491
7592
7693
94+
.. _vhdlmodel-package:
95+
7796
Package
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+
111132
Secondary Units
112133
===============
113134

135+
.. _vhdlmodel-architeture:
136+
114137
Architeture
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+
152177
Package 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:

doc/LanguageModel/Enumerations.rst

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,30 @@
33
Enumerations
44
############
55

6+
The language model contains some enumerations to express a *kind* of a models entity.
67

7-
Modes
8-
=====
8+
.. rubric:: Table of Content
9+
10+
* :ref:`vhdlmodel-mode`
11+
* :ref:`vhdlmodel-objclass`
12+
13+
14+
15+
.. _vhdlmodel-mode:
16+
17+
Mode
18+
====
919

1020
.. todo::
1121

1222
Write documentation.
1323

14-
Object Classes
15-
==============
24+
25+
26+
.. _vhdlmodel-objclass:
27+
28+
Object Class
29+
============
1630

1731
.. todo::
1832

doc/LanguageModel/Miscellaneous.rst

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,17 @@
33
Concepts not defined by VHDL
44
############################
55

6-
Some features required for a holistic language model are not defined in
7-
the VHDL :term:`LRM` (IEEE Std. 1076) or made explicitly implementation
6+
Some features required for a holistic language model are not defined in the VHDL
7+
:term:`LRM` (IEEE Std. 1076). Other features made explicitly implementation
88
specific to the implementer.
99

10+
.. rubric:: Table of Content
11+
12+
* :ref:`vhdlmodel-design`
13+
* :ref:`vhdlmodel-library`
14+
* :ref:`vhdlmodel-document`
15+
16+
1017
.. _vhdlmodel-design:
1118

1219
Design
@@ -72,20 +79,21 @@ is a *primary* design unit like: ``configuration``, ``entity``, ``package`` or
7279
7380
7481
75-
.. _vhdlmodel-sourcefile:
82+
.. _vhdlmodel-document:
7683

77-
Sourcecode File
78-
===============
84+
Document
85+
========
7986

80-
A source file contains multiple *design units*. Each design unit listed in a
81-
sourcecode file is a *primary* or `secondary`design unit like: ``configuration``,
82-
``entity``, ``architecture``, ``package``, ``package body`` or ``context``.
87+
A source file (document) contains multiple *design units*. Each design unit
88+
listed in a sourcecode file is a *primary* or *secondary* design unit like:
89+
``configuration``, ``entity``, ``architecture``, ``package``, ``package body``
90+
or ``context``.
8391

8492
Design unit may be preceded by a context made of ``library``, ``use`` and
85-
``context`` statements. These statements are not directly visible in the ``Document``
86-
object, because design unit contexts are consumed by the design units. See the
87-
``Libraries`` and ``Uses`` fields of each design unit to investigate the consumed
88-
contexts.
93+
``context`` statements. These statements are not directly visible in the
94+
``Document`` object, because design unit contexts are consumed by the design
95+
units. See the ``Libraries`` and ``Uses`` fields of each design unit to
96+
investigate the consumed contexts.
8997

9098
**Condensed definition of class** :class:`~pyVHDLModel.VHDLModel.Document`:
9199

doc/LanguageModel/SubprogramDefinitions.rst

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,14 @@
33
Subprogram Declarations
44
########################
55

6-
* Procedure
7-
* Function
6+
.. rubric:: Table of Content
7+
8+
* :ref:`vhdlmodel-procedure`
9+
* :ref:`vhdlmodel-function`
10+
11+
12+
13+
.. _vhdlmodel-procedure:
814

915
Procedure
1016
=========
@@ -13,6 +19,10 @@ Procedure
1319

1420
Write documentation.
1521

22+
23+
24+
.. _vhdlmodel-function:
25+
1626
Function
1727
========
1828

doc/LanguageModel/index.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,20 @@
33
VHDL Language Model
44
###################
55

6+
.. topic:: Design Goal
7+
8+
* Clearly named classes that model the semantics of VHDL.
9+
* All language constructs (statements, declarations, specifications, …) have
10+
their own classes. |br| These classes are arranged in a logical hierarchy,
11+
with a single common base-class.
12+
* Child objects shall have a reference to their parent.
13+
* Comments will be associated with a particular code object.
14+
* Easy modifications of the object tree.
15+
16+
.. rubric:: Elements of the Language Model
17+
618
.. toctree::
19+
:maxdepth: 1
720

821
Miscellaneous
922
Enumerations

doc/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def _LatestTagName():
3737

3838
# The full version, including alpha/beta/rc tags
3939
version = "0.8" # The short X.Y version.
40-
release = "0.8.0" # The full version, including alpha/beta/rc tags.
40+
release = "0.8.1" # The full version, including alpha/beta/rc tags.
4141
try:
4242
if _IsUnderGitControl:
4343
latestTagName = _LatestTagName()[1:] # remove prefix "v"

0 commit comments

Comments
 (0)