25.02.2015 Views

SuperH (SH) 64-bit RISC Series SH-5 System Architecture, Volume ...

SuperH (SH) 64-bit RISC Series SH-5 System Architecture, Volume ...

SuperH (SH) 64-bit RISC Series SH-5 System Architecture, Volume ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

PRELIMINARY DATA<br />

218 JTAG interface<br />

Polling out a message<br />

After the five status <strong>bit</strong>s have been shifted out, the tool can determine that an<br />

output message exists and then continues shifting a further 8, 16, 24 or 32 times<br />

depending on which VOMx <strong>bit</strong>s = ‘1’. The tool now has assembled the first bytes of<br />

an output message.<br />

The tool continues this process of shifting out just the IBF and VOMx <strong>bit</strong>s, testing<br />

the VOMx <strong>bit</strong>s and then shifting data <strong>bit</strong>s depending on which VOMx <strong>bit</strong>s = ‘1’. The<br />

detection of any VOMx <strong>bit</strong> = ‘0’ indicates the end of the message. Once the end of the<br />

message has been reached, the tool does not need to shift any more data <strong>bit</strong>s out.<br />

Tool sending a message to <strong>SH</strong>-5<br />

Input messages, longer than 4-bytes, are sent as one or more 4-byte segments<br />

possibly followed by a segment containing fewer bytes. For each 4-byte segment of a<br />

message, the tool shifts 37 <strong>bit</strong>s into TDI with the VIMx status <strong>bit</strong>s in the last<br />

positions (the positions closest to TDI). For the last segment of a message containing<br />

fewer than 4 bytes, the tool shifts 13, 21 or 29 <strong>bit</strong>s into TDI with appropriate VIMx<br />

<strong>bit</strong>s indicating the number of valid bytes.<br />

During message transfers, the first VIMx <strong>bit</strong> = '0' indicates the end of the input<br />

message. When the length of an input message is a multiple of 4 bytes, the end of<br />

the message is indicated by a 1-byte segment (13 <strong>bit</strong>s) with all VIMx <strong>bit</strong>s = ‘0’.<br />

Flow control<br />

The <strong>SH</strong>-5 JTAG tap controller has an input message buffer large enough to hold the<br />

largest input message plus an output message buffer large enough to hold the<br />

largest output message. The DBUS protocol allows one outstanding response in<br />

each direction, so it is possible that the tool may want to send a response message<br />

immediately following a new request. Flow control is needed to eliminate the<br />

possibility of ever having a message in the input buffer overwritten before its has<br />

been moved into the DM. This flow control is done by sending including an input<br />

buffer status <strong>bit</strong> in the DR register, adjacent to the VOM3 <strong>bit</strong>. The tool can poll out<br />

just five <strong>bit</strong>s (if it can handle variable-length shifting), one of which determines<br />

whether the input buffer can accept a new message and the other four determine<br />

whether there is an output message pending.<br />

D R A FT<br />

There is no need for a tool input buffer status <strong>bit</strong> in the other direction. The tool will<br />

only poll <strong>SH</strong>-5 when its input buffer has space for a new message from <strong>SH</strong>-5.<br />

<strong>SuperH</strong>, Inc.<br />

<strong>SH</strong>-5 <strong>System</strong> <strong>Architecture</strong>, <strong>Volume</strong> 3: Debug 05-SA-10003 v1.0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!