Skip to content

Commit b442512

Browse files
committed
Merge branch 'MinMax-Field-Func' of github.com:Thomas-Vreys/ipxact2systemverilog into Thomas-Vreys-MinMax-Field-Func
2 parents 75b5b05 + 1864f98 commit b442512

28 files changed

Lines changed: 242 additions & 26 deletions

example/input/test.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@
3030
<spirit:description>write something useful for field0</spirit:description>
3131
<spirit:bitOffset>0</spirit:bitOffset>
3232
<spirit:bitWidth>8</spirit:bitWidth>
33+
<spirit:writeValueConstraint>
34+
<spirit:minimum>0</spirit:minimum>
35+
<spirit:maximum>7</spirit:maximum>
36+
</spirit:writeValueConstraint>
3337
</spirit:field>
3438
<spirit:field>
3539
<spirit:name>byte1</spirit:name>
@@ -63,6 +67,10 @@
6367
<spirit:description>write something useful for field0</spirit:description>
6468
<spirit:bitOffset>0</spirit:bitOffset>
6569
<spirit:bitWidth>32</spirit:bitWidth>
70+
<spirit:writeValueConstraint>
71+
<spirit:minimum>4</spirit:minimum>
72+
<spirit:maximum>20</spirit:maximum>
73+
</spirit:writeValueConstraint>
6674
</spirit:field>
6775
</spirit:register>
6876
<spirit:register>

example/input/test2.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@
4343
<spirit:description>read something useful for field0</spirit:description>
4444
<spirit:bitOffset>0</spirit:bitOffset>
4545
<spirit:bitWidth>8</spirit:bitWidth>
46+
<spirit:writeValueConstraint>
47+
<spirit:minimum>0</spirit:minimum>
48+
<spirit:maximum>7</spirit:maximum>
49+
</spirit:writeValueConstraint>
4650
</spirit:field>
4751
</spirit:register>
4852
</spirit:addressBlock>

example/output/example.docx

11.7 KB
Binary file not shown.

example/output/example.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@
3838
// ------------------------------------------------
3939
#define EXAMPLE_REG0_BYTE0_SHIFT 0
4040
#define EXAMPLE_REG0_BYTE0_MASK 0xFF
41+
#define EXAMPLE_REG0_BYTE0_MIN 0x00
42+
#define EXAMPLE_REG0_BYTE0_MAX 0x07
4143

4244
#define EXAMPLE_REG0_BYTE1_SHIFT 8
4345
#define EXAMPLE_REG0_BYTE1_MASK 0xFF
@@ -53,6 +55,8 @@
5355
// ------------------------------------------------
5456
#define EXAMPLE_REG1_FIELD0_SHIFT 0
5557
#define EXAMPLE_REG1_FIELD0_MASK 0xFFFFFFFF
58+
#define EXAMPLE_REG1_FIELD0_MIN 0x00000004
59+
#define EXAMPLE_REG1_FIELD0_MAX 0x00000014
5660

5761
// ------------------------------------------------
5862
// Bit operations for register reg2

example/output/example.html

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,17 @@ <h1 id="reg0">reg0</h1>
308308
</tr>
309309
</tbody>
310310
</table>
311+
<h2 id="byte0">byte0</h2>
312+
<dl>
313+
<dt>Minimum</dt>
314+
<dd>
315+
0x00
316+
</dd>
317+
<dt>Maximum</dt>
318+
<dd>
319+
0x07
320+
</dd>
321+
</dl>
311322
<h1 id="reg1">reg1</h1>
312323
<dl>
313324
<dt>Name</dt>
@@ -355,6 +366,17 @@ <h1 id="reg1">reg1</h1>
355366
</tr>
356367
</tbody>
357368
</table>
369+
<h2 id="field0">field0</h2>
370+
<dl>
371+
<dt>Minimum</dt>
372+
<dd>
373+
0x00000004
374+
</dd>
375+
<dt>Maximum</dt>
376+
<dd>
377+
0x00000014
378+
</dd>
379+
</dl>
358380
<h1 id="reg2">reg2</h1>
359381
<dl>
360382
<dt>Name</dt>

example/output/example.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ Base Address: 0x0
3535
|[15:8]|byte1|0x00|write something useful for field1|
3636
|[7:0]|byte0|0x00|write something useful for field0|
3737

38+
#### byte0
39+
40+
**Minimum** 0x00
41+
**Maximum** 0x07
42+
3843
### reg1
3944

4045
**Name** reg1
@@ -46,6 +51,11 @@ Base Address: 0x0
4651
| :--- | :--- | :--- | :--- |
4752
|[31:0]|field0|0x00000001|write something useful for field0|
4853

54+
#### field0
55+
56+
**Minimum** 0x00000004
57+
**Maximum** 0x00000014
58+
4959
### reg2
5060

5161
**Name** reg2

example/output/example.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ reg0
5252
| [7:0] | byte0 | 0x00 | write something useful for field0 |
5353
+---------+--------------+---------+-----------------------------------+
5454

55+
byte0
56+
~~~~~
57+
58+
:Minimum: 0x00
59+
:Maximum: 0x07
60+
5561
reg1
5662
----
5763

@@ -67,6 +73,12 @@ reg1
6773
| [31:0] | field0 | 0x00000001 | write something useful for field0 |
6874
+--------+--------------+------------+-----------------------------------+
6975

76+
field0
77+
~~~~~~
78+
79+
:Minimum: 0x00000004
80+
:Maximum: 0x00000014
81+
7082
reg2
7183
----
7284

example/output/example.rtf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,11 @@ reg8
252252
}
253253
\intbl\row}
254254
{\pard \ql \f0 \sa180 \li0 \fi0 \par}
255+
{\pard \ql \f0 \sa180 \li0 \fi0 \outlinelevel1 \b \fs32 byte0\par}
256+
{\pard \ql \f0 \sa0 \li0 \fi0 Minimum\par}
257+
{\pard \ql \f0 \sa0 \li360 \fi0 0x00\par}
258+
{\pard \ql \f0 \sa0 \li0 \fi0 Maximum\par}
259+
{\pard \ql \f0 \sa0 \li360 \fi0 0x07\sa180\par}
255260
{\pard \ql \f0 \sa180 \li0 \fi0 \outlinelevel0 \b \fs36 reg1\par}
256261
{\pard \ql \f0 \sa0 \li0 \fi0 Name\par}
257262
{\pard \ql \f0 \sa0 \li360 \fi0 reg1\par}
@@ -293,6 +298,11 @@ reg8
293298
}
294299
\intbl\row}
295300
{\pard \ql \f0 \sa180 \li0 \fi0 \par}
301+
{\pard \ql \f0 \sa180 \li0 \fi0 \outlinelevel1 \b \fs32 field0\par}
302+
{\pard \ql \f0 \sa0 \li0 \fi0 Minimum\par}
303+
{\pard \ql \f0 \sa0 \li360 \fi0 0x00000004\par}
304+
{\pard \ql \f0 \sa0 \li0 \fi0 Maximum\par}
305+
{\pard \ql \f0 \sa0 \li360 \fi0 0x00000014\sa180\par}
296306
{\pard \ql \f0 \sa180 \li0 \fi0 \outlinelevel0 \b \fs36 reg2\par}
297307
{\pard \ql \f0 \sa0 \li0 \fi0 Name\par}
298308
{\pard \ql \f0 \sa0 \li360 \fi0 reg2\par}

example/output/example2.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
// ------------------------------------------------
4141
#define EXAMPLE2_REG1_FIELD0_SHIFT 0
4242
#define EXAMPLE2_REG1_FIELD0_MASK 0xFF
43+
#define EXAMPLE2_REG1_FIELD0_MIN 0x00
44+
#define EXAMPLE2_REG1_FIELD0_MAX 0x07
4345

4446

4547
// ------------------------------------------------

example/output/example2.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,8 @@ Base Address: 0x0
3434
|Bits|Field name|Description|
3535
| :--- | :--- | :--- |
3636
|[7:0]|field0|read something useful for field0|
37+
38+
#### field0
39+
40+
**Minimum** 0x00
41+
**Maximum** 0x07

0 commit comments

Comments
 (0)