UJTAG Applications in Actel’s Low-Power Flash Devices
19- 8
v1.1
Silicon Testing and Debugging
In many applications, the design needs to be tested, debugged, and verified on real silicon or in the
final embedded application. To debug and test the functionality of designs, users may need to
monitor some internal logic (or nets) during device operation. The approach of adding design test
pins to monitor the critical internal signals has many disadvantages, such as limiting the number of
user I/Os. Furthermore, adding external I/Os for test purposes may require additional or dedicated
board area for testing and debugging.
The UJTAG tiles of low-power flash devices offer a flexible and cost-effective solution for silicon
test and debug applications. In this solution, the signals under test are shifted out to the TDO pin
of the TAP Controller. The main advantage is that all the test signals are monitored from the TDO
pin; no pins or additional board-level resources are required.
Figure 19-6 illustrates this technique.
Multiple test nets are brought into an internal MUX architecture. The selection of the MUX is done
using the contents of the TAP Controller instruction register, where individual instructions (values
from 16 to 127) correspond to different signals under test. The selected test signal can be
synchronized with the rising or falling edge of TCK (optional) and sent out to UTDO to drive the
TDO output of JTAG.
customize the debug and test interface to make it appropriate for their applications. For example,
multiple test signals can be registered and then sent out through UTDO, each at a different edge of
TCK. In other words, n signals are sampled with an FTCK / n sampling rate. The bandwidth of the
information sent out to TDO is always proportional to the frequency of TCK.
SRAM Initialization
Users can also initialize embedded SRAMs of the low-power flash devices. The initialization of the
embedded SRAM blocks of the design can be done using UJTAG tiles, where the initialization data
is imported using the TAP Controller. Similar functionality is available in ProASICPLUS devices using
JTAG. The guidelines for implementation and design examples are given in the RAM Initialization SRAMs are volatile by nature; data is lost in the absence of power. Therefore, the initialization
process should be done at each power-up if necessary.
Figure 19-6 UJTAG Usage Example in Test and Debug Applications
TDI
TCK
TDO
TMS
TRST
UTDI
UTDO
UDRCK
UDRCAP
UDRSH
UDRUPD
URSTB
UIREG[7:0]
CLK
DQ
Internal Test Nets
Instruction
Decode
To Scope Channel