... | ... | @@ -61,34 +61,18 @@ General syntax of WB file looks like: |
|
|
attribute2 = 1234;
|
|
|
block {
|
|
|
attribute3 = ....;
|
|
|
block { ... };
|
|
|
};
|
|
|
};
|
|
|
</code>
|
|
|
|
|
|
There are 6 types of blocks:
|
|
|
|
|
|
- **peripheral** - main block in file, containing the description of
|
|
|
entire Wishbone peripheral
|
|
|
- **reg** - describing a register
|
|
|
- **fifo** - describing a FIFO register
|
|
|
- **ram** - describing a RAM memory block
|
|
|
- **irq** - describing an interrupt request line
|
|
|
- **field** - describing a subfield inside **reg** or **fifo** block
|
|
|
|
|
|
More [WB-file-syntax-examples](WB-file-syntax-examples)
|
|
|
|
|
|
## Common attributes
|
|
|
|
|
|
There are two classes of attributes:
|
|
|
|
|
|
- **common attributes** - applicable for all blocks in the WB file
|
|
|
(*table 1*)
|
|
|
- **object-specific attributes** - applicable only to blocks of
|
|
|
certain type
|
|
|
- **peripheral** attributes (*table 2*)
|
|
|
- **register** attributes (*table 3*)
|
|
|
- **register field** attributes (*table 4*)
|
|
|
- **RAM block** attributes
|
|
|
*Common attributes** apply for all blocks in the WB file. Currently
|
|
|
there are 3 common attributes (object name, description and prefixes -
|
|
|
see *table 1*).
|
|
|
|
|
|
Some of the attributes are mandatory - they always have to be defined,
|
|
|
while the others may be optional.
|
... | ... | @@ -110,6 +94,25 @@ signal name of register "DDR" would be `gpio_ddr_o`. The format of |
|
|
coding style. Note that you can provide either separate prefixes for
|
|
|
C/HDL languages `c_prefix`, `hd_prefix` a single `prefix` for both. |
|
|
|
|
|
|
## Object-specific attributes
|
|
|
|
|
|
Object-specific attributes apply only to blocks of certain type (for
|
|
|
example, **width** attribute applies only to RAM memory or **trigger**
|
|
|
attribute is valid only for interrupt block). Detailed descriptions are
|
|
|
provided in peripheral, register, RAM, FIFO and IRQ block sections.
|
|
|
|
|
|
# wbgen2 design blocks
|
|
|
|
|
|
There are 6 types of blocks:
|
|
|
|
|
|
- [**peripheral**](wbgen2-peripheral) - main block in file, containing
|
|
|
the description of entire Wishbone peripheral.
|
|
|
- **reg** - describing a register
|
|
|
- **fifo** - describing a FIFO register
|
|
|
- **ram** - describing a RAM memory block
|
|
|
- **irq** - describing an interrupt request line
|
|
|
- **field** - describing a subfield inside **reg** or **fifo** block
|
|
|
|
|
|
## Peripheral attributes
|
|
|
|
|
|
*Table 2. Peripheral attributes**
|
... | ... | |