|
For more information on the directives and opcodes follow the links at the bottom. Use EQU for
just replacing a symbol for a value. You may replace register names like s3 (or s03) by say: Count0 with
EQU like this:
Count0 EQU s0
Apart from the differences in the directives and opcodes, the syntax is somewhat enhanced. The literal values are
interpreted in decimal unless they are preceeded by a $ sign. Expressions are allowed with a syntax
similar to C, however, operator precedence needs to be explicitly specified by brackets:
( ( first + 1 ) * 2 ) & $10.
Register names, labels (followed by a colon when defined) and DSed or EQUed values are
different items and can be mixed in expressions when the result is obvious. Things like sF + 1 make no
sense. Assembly errors are reported in the simulator as the assembly process happens during switching to debug
mode. Lines with errors are highlighted and a '?hint' is given. If any errors exist, the
simulator will be blocked.
This tool can be used for the
PicoBlaze™-I,
PicoBlaze™-II,
Picoblaze™-3 and
CoolBlaze™ cores as selected by a menu or tool button. Slight
differences exist in the syntax for each, like using s00 for register 0 instead of s0.
As a side effect of assembly a .coe file can be created with the specification of the required filename
with a COE directive. In the PicoBlaze-I version a width value is required. This value indicates the
width of the A-port of the BlockRam used; the
PicoBlaze™ -II and -3 modes don't allow a width value, it is
always 18. This option is for compatability with the previous version were 8 was the only possible width.
Similarly a .vhd file can be generated with a VHDL directive. Here a source template must be
given of which several are suppled in the download; these are slightly modified versions of Ken Chapman's and
Nial Stewart's. Depending on this template the structure of the program ROM or ROMs is specified. See the source
of the different templates. Also see
www.nialstewart.co.uk for details on using
PicoBlaze™ -II in Spartan-II(e)™.
In the simulator, interrupts can be handled as expected, however, to be able to debug transient interrupts, as
you usually have with acknowledging them, an Edge option is a vailable. This flag will interrupt only once and
will automatically be cleared.
Tip: Try the
Format button.
™ PicoBlaze
and Spartan are a trademarks of
Xilinx Inc.
|