Services and Modeling for Embedded Software Development
Embecosm divider strip
Prev  Next

11.3.1.  Adding JTAG Interface Functions to the Or1ksim library

These additional functions allow the external SystemC model to call into the Or1ksim ISS to request debugging activity through use of a JTAG register. The ISS requires that interrupts are not taken mid-instruction (for example while a peripheral memory access upcall is in progress). However it is up to the caller to enforce this restriction.

JTAG registers are represented as a byte vector, with the least significant bits in the lowest numbered byte. Where the number of bits is not a multiple of eight, it is the most significant byte which holds the odd number of bits, shifted to the least significant position within the byte. Thus for a 12-bit register, bits 0-7 would be in byte 0 and bits 8-11 would be in the least significant 4 bits of byte 1.

The behavior of the debug unit in response to JTAG register transfers is fully documented in descriptions of the Test Access Port [3] and the OpenCores Debug Unit [2].

These functions are a standard part of the Or1ksim 0.4.0 library.

[Caution]Caution

These functions are not a standard part of the Or1ksim 0.3.0 library.

Embecosm divider strip