ISSIE Verilog Components
Introduction
Issie allows a component defined by Verilog source code to be placed on any sheet from the Catalog. The component behaviour is defined by its synthesisable Verilog which can be opened and edited from Properties. The editor provides syntax highlighting and error checking.
Syntax
Both old and new style syntax are supported.
Old style example
|
New style example
|
Numbers
Numbers are given in the form: {width}'{radix}{value}
, where radix = 'b
or 'd
or 'h
e.g. 16'h3fa5 , 4'b0101, 16'd154
Operators
Operators perform an operation on one or more operands within an expression. An expression combines operands with appropriate operators to produce the desired functional expression.
The table shows the operators in descending order of precedence. Operators with equal precedence are shown grouped.
Verilog Operator |
Name |
Notes and example |
---|---|---|
[ ] |
bit-select or part-select |
Used to select specific bits of a bus signal. Example: |
( ) |
parenthesis |
Used to define the order of operations. Example: |
! |
logical negation |
The Verilog reduction operators are used to convert vectors to scalars. They operate on all of the bits in a vector to convert the answer to a single bit. |
{ } |
concatenation |
Example: |
+ |
binary plus |
The two operands must be of equal width N. The result is also N bits. |
<< >> >>> |
logical shift left |
The second operand of a shift is an unsigned integer. Example: |
& |
bit-wise AND |
The two operands must have the same width. |
^ |
bit-wise XOR |
As above. |
\| |
bit-wise OR |
As above. |
&& |
logical AND |
Logical means that 0->false, anything else -> true. Operands can have different width. |
\|\| |
logical OR |
As above. |
| ? : | conditional | Like an if-statement, corresponds to a MUX. Example: assign jump = opc[0] ? c|n : c&n|op[1];
|