SCANSTA101 Low Voltage IEEE 1149.1 STA Master General Description Features The SCANSTA101 is designed to function as a test master for a IEEE 1149.1 test system. The minimal requirements to create a tester are a microcomputer (uP, RAM/ROM, clock, etc.), SCANEASE r2.0 software, and a STA101. The SCANSTA101 is an enhanced version of, and replacement for, the SCANPSC100. The additional features of the STA101 further allow it to offload some of the processor overhead while remaining flexible. The device architecture supports IEEE 1149.1, BIST, and IEEE 1532. The flexibility will allow it to adapt to any changes that may occur in 1532 and support yet unknown variants. The SCANSTA101 is useful in improving vector throughput when applying serial vectors to system test circuitry and reduces the software overhead that is associated with applying serial patterns with a parallel processor. The SCANSTA101 features a generic Parallel Processor Interface (PPI) which operates by serializing data from the parallel bus for shifting through the chain of 1149.1 compliant components (i.e., scan chain). Writes can be controlled either by wait states or the DTACK line. Handshaking is accomplished with either polling or interrupts. ■ Compatible with IEEE Std. 1149.1 (JTAG) Test Access Port and Boundary Scan Architecture ■ Supported by National's SCAN Ease (Embedded Application Software Enabler) Software Rev 2.0 ■ Uses generic, asynchronous processor interface; ■ ■ ■ ■ ■ ■ ■ ■ ■ compatible with a wide range of processors and PCLK frequencies 16-bit Data Interface (IP scalable to 32-bit) 2Kx32 bit dual-port memory addressing for access by the PPI or the 1149.1 master Load-on-the-fly (LotF) and Preload operating modes supported On-Board Sequencer allows multi-vector operations such as those required to load data into an FPGA On-Board Compares support TDI validation against preloaded expected data 32-bit Linear Feedback Shift Register (LFSR) at the Test Data In (TDI) port State, Shift, and BIST macros allow predetermined TMS sequences to be utilized Operates at 3.3v supply voltages w/ 5V tolerant I/O Outputs support Power-Down TRI-STATE mode. SCANSTA101 Architecture 10121502 FIGURE 1. © 2007 National Semiconductor Corporation 101215 www.national.com SCANSTA101 Low Voltage IEEE 1149.1 STA Master November 2006 SCANSTA101 Figure 1 shows a high level view of the SCANSTA101 Scan Master and its interface groups. Table 1 provides a brief description of each of these interface groups. Table 2 provides a brief description of the external interfaces. The device is composed of three interfaces around a dual-port memory. These interfaces consist of the Parallel Processor Interface (PPI), Serial Scan Interface (SSI), and Test and Debug Interface. The System Input block is included only to designate inputs that have global use across the device. The Test and Debug interface supports BIST, boundary scan, and internal scan for this device. TABLE 1. Interface Descriptions Interface Description Parallel Processor Interface Used for configuration, ScanMaster scan chain loads and reads, programmable device file loads and reads, and status monitoring. Serial Scan Interface Performs parallel to serial conversion, sequences and formats the outgoing serial stream to conform to 1149.1 protocol. Test and Debug Interface Interfaces used for manufacturing tests, this includes a JTAG interface and a scan interface. The three scan interface pins are shared with three of the data pins. System Inputs Interface inputs for system control, i.e. clock, reset and output tristate control. Connection Diagram 10121540 BGA Package Pinout (Top View) www.national.com 2 SCANSTA101 TABLE 2. Pin Descriptions Pin Name Description No. Pins I/O 4 N/A Power GND 4 N/A Ground D(15:0) 16 I/O Bidirectional Data Bus. Signals are bonded out for the packaged device. D15 and D14 are shared pins with SCAN_IN, and SCAN_OUT respectively. D(31:16) (Note 1) 16 I/O Bidirectional Data Bus. These signals are not available in the packaged device. A(4:0) 5 I Address Bus SCK 1 I The system clock that drives all internal timing. TCK_SM is a gated, divided and buffered version of SCK. INT 1 O Interrupt Output OE 1 I Output enable that tristates all 1149.1 "_SM" outputs when high. DTACK 1 O DTACK is used to synchronize asynchronous transfers between the host and the STA101. When CE is high, DTACK is tristated. When CE is low, DTACK is enabled. DTACK goes low when data has been registered and then goes tri-state when the cycle has completed. R/W 1 I R/W defines a PPI cycle. Read when high, write when low. STB 1 I Strobe is used for timing all PPI transfers. D(15:0), or D(31:0) in 32-bit mode, are tristated when STB is high. Data valid setup is with respect to the falling edge of STB and data valid hold is with respect to rising edge of STB. CE 1 I Chip Enable, when low, enables the PPI for data transfers. CE can remain low during back-to-back accesses. D(15:0), or D(31:0) in 32-bit mode, and DTACK are tristated when CE is high. RST 1 I Asynchronous reset, when low, initializes the STA101. TDO 1 O Test Data Out is the serial scan output from the STA101. TDO is enabled when OE is low. TDI 1 I Test Data In is the serial scan input to the STA101. TMS 1 I Test Mode Select. The Test Mode Select pin is a serial input used to accept control logic to the Test & debug interface. TCK 1 I Test Clock Input for 1149.1 TRST 1 I Test Reset. This pin should be tied to ground by a 1K resistor to hold the Test and Debug Interface in the Test-Logic-Reset state during device power-up. This avoids invalid states when ramping supply voltages. TDI_SM 1 I Scan Master Test Data Input in the Serial Scan Interface TDO_SM 1 O Scan Master Test Data Output in the Serial Scan Interface TMS_SM 1 O Scan Master Test Mode Select in the Serial Scan Interface TCK_SM 1 O Scan Master Test Clock in the Serial Scan Interface TRST0_SM 1 O Scan Master Test Reset output in the Serial Scan Interface TRST1_SM (Note 1) 1 O Redundent ScanMaster TRST. This signal is not available for the packaged device. TRIST_SM 1 O The TRI-STATE notification pin exerts a high signal when TDO_SM is TRI-STATED VCC Note 1: D(31:16) in the Parallel Processor Interface and TRST1_SM in the Serial Scan Interface are not bonded out for the packaged part. These are used in the 32-bit Macro Mode only. 3 www.national.com SCANSTA101 Max Pkg Power Capacity @ 25°C 49L BGA Absolute Maximum Ratings (Note 2) If Military/Aerospace specified devices are required, please contact the National Semiconductor Sales Office/ Distributors for availability and specifications. Supply Voltage (VCC) DC Input Diode Current (IIK) VI = −0.5V DC Input Voltage (VI) DC Output Diode Current (IOK) VO = −0.5V DC Output Voltage (VO) DC Output Source/Sink Current (IO) DC VCC or Ground Current per Output Pin DC Latchup Source or Sink Current Junction Temperature Plastic Storage Temperature Lead Temperature (Solder, 4sec) 49L BGA Thermal Resistance (θJA) 49L BGA Package Derating −0.5V to +4.0V ESD Last Passing Voltage (Min) −20 mA −0.5V to +4.0V 1.47W 85°C/W 11.8mW/°C above +25°C 2000V Recommended Operating Conditions −20 mA −0.5V to +4.0V ±50 mA ±50 mA Supply Voltage (VCC) Input Voltage (VI) Output Voltage (VO) Operating Temperature (TA) ±300 mA 3.0V to 3.6V 0V to VCC 0V to VCC −40°C to +85°C Note 2: Absolute maximum ratings are those values beyond which damage to the device may occur. The databook specifications should be met, without exception, to ensure that the system design is reliable over its power supply, temperature, and output/input loading variables. National does not recommend operation of SCAN STA products outside of recommended operation conditions. +150°C −65°C to +150°C 220°C DC Electrical Characteristics Over recommended operating supply voltage and temperature ranges unless otherwise specified. Symbol Parameter Conditions Min Max Minimum High Input Voltage VOUT = 0.1V or VCC − 0.1V VIL Maximum Low Input Voltage VOUT = 0.1V or VCC − 0.1V VOH Minimum High Output Voltage IOUT = −100 μA, VIN = VIL or VIH Minimum High Output Voltage, TDO_SM, TMS_SM, TCK_SM, TRST0_SM outputs only IOH = −24 mA, VIN = VIL or VIH Minimum High Output Voltage, All other outputs including 1149.1 IOH = −12 mA, VIN = VIL or VIH Maximum Low Output Voltage IOUT = +100 μA, VIN = VIL or VIH 0.2 V Maximum Low Output Voltage, TDO_SM, TMS_SM, TCK_SM, TRST0_SM outputs only IOL = 24 mA, VIN = VIL or VIH 0.5 V Maximum Low Output Voltage, all other outputs including 1149.1 IOL = 12mA, VIN = VIL or VIH 0.4 V IIN Maximum Input Leakage Current, All pins except TDI, TMS, TRST, TDI_SM VIN = VCC for TDI, OE, VIN = VCC, GND for All Others ±5.0 μA IILR Maximum Input Leakage Current, TDI, TMS, TRST, TDI_SM VIN = GND -200 μA IIH Maximum Input Leakage Current, TDI, TMS, TRST, TDI_SM VIN = VCC 5.0 μA IOZ Maximum TRI-STATE Leakage Current VIN = VCC, GND, VIN (OE, R/W, CE, STB) = VIL, VIH ±5.0 μA IOFF Power Off Leakage Current VCC = 0.0V All pins except TDI, TMS, TRST, and TDI_SM 5.0 μA ICC Maximum Quiescent Supply Current 250 μA ICCmax Maximum Supply Current All inputs low 1.2 mA ICCT Maximum ICC/Input VIN = VCC − 0.6V 250 μA VOL www.national.com 2.1 Units VIH V 0.8 VCC-0.2V V V V 2.2 4 2.4 -45 V Over recommended operating supply voltage and temperature ranges unless otherwise specified. CL = 50 pF, RL = 500Ω unless otherwise specified. Symbol Parameter Conditions # of SCK (Notes 3, 4) Min Max Units PARALLEL PROCESSOR INTERFACE (PPI) tS1 Set Up Time Figures 11, 12 0 ns Figures 11, 12 0 ns CE, R/W, Addr, Data to STB tH1 Hold Time CE, R/W, Addr, Data to DTACK tD1 Propagation Delay Figure 11 2 or 3 11.5 ns Figure 12 4 or 5 11.5 ns Figure 11 3 or 4 11.5 ns Figure 11 7 or 8 11.5 ns Figure 12 9 or 10 11.5 ns Figure 12 3 or 4 11.5 ns Figure 11 1 or 2 10.0 ns Figure 12 1 or 2 10.0 ns tD2 Propagation Delay Figure 11 STB high to DTACK TRISTATE, Memory Write: 16-bit first access 1 or 2 10.0 ns tD2 Propagation Delay Figure 11 1 or 2 10.0 ns Figure 12 1 or 2 10.0 ns Figure 12 1 or 2 10.0 ns Figure 12 1 Figure 11 5 or 6 STB low to DTACK low, Register Write tD1 Propagation Delay STB low to DTACK low, Register Read tD1 Propagation Delay STB low to DTACK low, Memory Write: 16-bit first access tD1 Propagation Delay STB low to DTACK low, Memory Write: 16-bit second access tD1 Propagation Delay STB low to DTACK low, Memory Read: 16-bit first access tD1 Propagation Delay STB low to DTACK low, Memory Read: 16-bit second access tD2 Propagation Delay STB high to DTACK TRISTATE, Register Write tD2 Propagation Delay STB high to DTACK TRISTATE, Register Read STB high to DTACK TRISTATE, Memory Write: 16-bit second access tD2 Propagation Delay STB high to DTACK TRISTATE, Memory Read: 16-bit first access tD2 Propagation Delay STB high to DTACK TRISTATE, Memory Read: 16-bit second access tD3 Propagation Delay ns Output data valid to DTACK low, all read cycles tpHL1 Propagation Delay 10.5 ns 66 MHz STB low to INT low, register write (clears Interrupt) tW Clock Pulse Width, SCK, H or L fMAX Clock Frequency, SCK tRELEASE Release Time, RST to STB 3.0 2 ns ns Note 3: Due to uncertainty in the relationship of the STB placement to the system clock, SCK, the STB may be detected during the current or the next SCK cycle. Note 4: An absolute maximum delay can be calculated as: (Max # SCK) x (SCK Period) + tD. For example, for tD1 (STB low to DTACK low, register write), the # SCK cycles is 2 or 3 and the delay, tD, is 11.5ns. For a SCK with a 100ns period, the absolute maximum delay is (3 x 100ns) + 11.5, or 311.5ns. 5 www.national.com SCANSTA101 AC Electrical Characteristics/Operating Requirements SCANSTA101 Symbol Parameter Conditions Min Max Units Figure 13 11.5 ns Figure 13 12.0 ns Figure 13 12.5 ns Figure 13 15.0 ns Figure 13 12.5 ns SERIAL SCAN INTERFACE (SSI) tD5 Propagation Delay SCK to TCK_SM tD6 Propagation Delay SCK to TDO_SM tD7 Propagation Delay SCK to TMS_SM tD8 Propagation Delay - tpLH SCK to TRIST_SM tD9 Propagation Delay - tpHL SCK to TRIST_SM tD10 Propagation Delay SCK to TDO_SM disable Figure 13 tD11 Propagation Delay SCK to TDO_SM enable Figure 13 14.0 ns tEN1 Enable Delay OE low to TCK_SM, TDO_SM, TMS_SM, or TRST0_SM Figure 13 12.0 ns tDIS1 Disable Delay OE high to TCK_SM, TDO_SM, TMS_SM, or TRST0_SM Figure 13 11.0 ns tEN2 Enable Delay OE low to TRIST_SM 10.0 ns tDIS2 Disable Delay OE high to TRIST_SM 11.5 ns tDIS3 Disable Delay RST low to TRST0_SM 12.5 ns tS2 Setup Time SCK to TDI_SM Figure 13 3.5 ns tH2 Hold Time SCK to TDI_SM Figure 13 2.0 ns www.national.com 6 12.5 ns Parameter Conditions Min Max Units TEST & DEBUG INTERFACE TIMING REQUIREMENTS (SCAN) tS Setup Time TMS to TCK 2.0 ns tH Hold Time TMS to TCK 1.0 ns tS Setup Time TDI to TCK 1.0 ns tH Hold Time TDI to TCK 2.0 ns tW Pulse Width TCK (H or L) 10.0 ns tWL Reset Pulse Width TRST (L) 2.5 ns tREC Recovery Time TCK from TRST 2.0 ns fMAX Maximum Clock Frequency, TCK 25 7 MHz www.national.com SCANSTA101 Symbol SCANSTA101 Applications/Programmers Reference TABLE 3. Register Summary Address Type Mnemonic Register Active Register Bits 00h RW START Start Register 5 0000h Reset Value 01h RW STATUS Status Register 10 0800h 02h RW INTCTRL Interrupt Control Register 8 0000h 03h RW INTSTAT Interrupt Status Register 8 0000h 04h RW SETUPR Setup Register 8 0043h 05h RW CLKDIV Clock Divider Register 6 0000h 07h RW EXPR TDI_SM LFSR Exponent Register 3 0000h 08h RW LSSEDR TDI_SM LSB Seed Register 16 0000h 09h RW MSSEDR TDI_SM MSB Seed Register 16 0000h 0Ah RW LSRESR TDI_SM LSB Result Register 16 0000h 0Bh RW MSRESR TDI_SM MSB Result Register 16 0000h 0Ch RW INDEXR Index Register 16 0000h 11h RW VINDEXR Vector Index Register 16 0000h 13h RW HTINDEXR Header/Trailer Index Register 16 0000h 15h RW MINDEXR Macro Index Register 16 0000h 17h RW SINDEXR Sequencer Index Register 16 0000h 19h RW BSINDEXR Bridge Support Register 16 0000h TABLE 4. Memory/Register Address Map A4 A3 A2 A1 A0 Function Base Address Long Word Index Structure/Size 0 0 0 0 0 Start N/A N/A 16-bit Register 0 0 0 0 1 Status N/A N/A 16-bit Register 0 0 0 1 0 Interrput Control N/A N/A 16-bit Register 0 0 0 1 1 Interrupt Status N/A N/A 16-bit Register 0 0 1 0 0 Setup N/A N/A 16-bit Register 0 0 1 0 1 Clock Divider N/A N/A 16-bit Register 0 0 1 1 1 TDI_SM LFSR Exponent N/A N/A 16-bit Register 0 1 0 0 0 TDI_SM LFSR LSB Seed N/A N/A 16-bit Register (Note 5) 0 1 0 0 1 TDI_SM LFSR MSB Seed N/A N/A 16-bit Register (Note 5) 0 1 0 1 0 TDI_SM LFSR LSB Result N/A N/A 16-bit Register (Note 5) 0 1 0 1 1 TDI_SM LFSR MSB Result N/A N/A 16-bit Register (Note 5) 0 1 1 0 0 Index Register N/A N/A 16-bit Register (Note 6) 0 1 1 0 1 TDO_SM 0 0 - 0x1BF (Note 7) 0 1 1 1 0 TDI_SM 0 x 1C0 0 - 0x1BF (Note 7) 0 1 1 1 1 Expected 0 x 380 0 - 0x1BF (Note 7) 1 0 0 0 0 Mask 0 x 540 0 - 0x1BF (Note 7) 1 0 0 0 1 Vector Index N/A N/A 16-bit Register 1 0 0 1 0 Vector 1 Vector 2 Vector 3 Vector 4 0 x 700 0 x 700 0 x 700 0 x 700 0x0 - 0x1 0x2 - 0x3 0x4 - 0x5 0x6 - 0x7 (Note 8) Table 5 1 0 0 1 1 Header/Trailer Index N/A N/A 16-bit Register 1 0 1 0 0 Data Header Data Trailer Instruction Header Instruction Trailer 0 x 708 0 x 728 0 x 748 0 x 768 0x0 - 0x1F 0x20 - 0x3F 0x40 - 0x5F 0x60 - 0x7F Table 6 www.national.com 8 A3 A2 A1 A0 Function Base Address Long Word Index Structure/Size 1 0 1 0 1 0 1 1 1 Macro Index N/A N/A 16-bit Register 0 Macro 1 Macro 2 Macro 3 . . . Macro 16 0 x 788 0 x 789 0 x 78A . . . 0 x 797 0x0 0x1 0x2 . . . 0xF Tables 7, 8, 9 1 0 1 1 1 0 1 1 Sequencer Index N/A N/A 16-bit Register 0 0 Sequencer 0 x 798 0x0 - 0x1F 1 1 Table 10 0 0 1 Scan Bridge Support Index N/A N/A 16-bit Register 1 1 0 1 0 Scan Bridge Support 0 x 7B8 0x0 - 0x3F Table 11 Note 5: The TDI_SM LFSR result and seed registers require two sequential reads/writes for each register pair. Note 6: The index register is used to set the individual address pointers. Writine to the index register will set each of the individual address pointers (TDO_SM, TDI_SM, Expected, and Mask). The individual address pointers will automatically increment with each long word read from TDI_SM or each long word written to the TDO_SM, Expected, or Mask memory spaces. Note 7: The actual address is calculated from the base address of the memory area plus the content of its address pointer. Note 8: The upper two bytes of each vector is ignored. These have been inserted to make the space align on long word boundaries. TABLE 5. Vector Structure Bit(s) Function 0x00 - 0x1F Length (maximum of 4G) 0x20 - 0x27 Macro Number (1 of 256) Room for scaleability 0x28 - 0x2E Reserved 0x2F Preloaded data / Load-on-the-fly (LotF) 0x30 - 0x3F Reserved TABLE 6. Header/Trailer Structure Bit(s) Function 0x00 - 0x1F 32-bit count (Note 9) 0x20 - 0x3FF 124 bytes (992 bits) header/trailer data Note 9: Count must be greater than zero if the Header/Trailer Usage bits are not equal to "000" or "111". TABLE 7. Macro Structure Bit(s) Function 0x1F Compare 0x1E Use Mask / Compare full length of vector (not including header/trailer) 0x1D - 0x1B Post-shift TCK_SM Count 0x1A - 0x18 Pre-shift TCK_SM Count 0x17 Sync Bit Support Enable 0x16 Macro Structure Bit 8 Enable (Ignored for the shift macros with or without capture) 0x15 Macro Structure bit 7 Enable (Ignored for the shift macros with or without capture) 0x14 - 0x12 Header/Trailer Usage 0x11 Macro Type bit 1 0x10 Macro Type bit 0 0xF - 0x9 Last 7 TMS_SM bits 0x8 Presented during the falling edge of TCK_SM at terminal count during a Shift macro. Use in the same manner as other TMS bits for State and BIST Macros. 0x7 Loop Bit if Macro type is Shift (for 1149.1 it would be a 0) or BIST 0x6 - 0x0 First 7 TMS_SM Bits (LSB is first bit to be shifted out of TMS_SM) 9 www.national.com SCANSTA101 A4 SCANSTA101 TABLE 8. Header / Trailer Usage Bit 2 Bit 1 Bit 0 Function 0 0 0 Ignore Headers and Trailers 0 0 1 Use Instruction Header 0 1 0 Use Instruction Trailer 0 1 1 Use both Instruction Header and Trailer 1 0 0 Use Data Header 1 0 1 Use Data Trailer 1 1 0 Use both Data Header and Trailer 1 1 1 Reserved TABLE 9. Macro Type bits 10 and 11 Bit 1 Bit 0 Function 0 0 BIST Macro Function Loop on loop bit for Vector count. No Data 0 1 Shift Macro Loop on loop bit for vector count. Read data from TDO_SM memory 1 0 Shift Macro with Capture Loop on loop bit for vector count. Read data from TDO_SM memory 1 1 State Macro Do not loop on loop bit of macro. No data to be shifted TABLE 10. Sequencer Structure Bit(s) Function 0x00 - 0x1F Sequence repeat count (up to 255) 0x20 - 0x2F Vector repeat count 0x30 - 0x3F Vector number ..x.. - ..x.. Repeat vector repeat count and vector number 0x3E0 - 0x3EF Vector repeat count (up to 255) 0x3F0 - 0x3FF Vector number (up to 63) TABLE 11. Scan Bridge Support Structure Bit(s) Function 0x00 - 0x0F Levels of Scan Bridge support to be inserted in the scan chain 0x10 - 0x17 Hierarchical Level 0 Scan Bridge Address 0x18 - 0x1F Hierarchical Level 0 Scan Bridge LSP 0x20 - 0x27 Hierarchical Level 1 Scan Bridge Address 0x28 - 0x2F Hierarchical Level 1 Scan Bridge LSP ..x.. - ..x.. Hierarchical Level Scan Bridge Address and LSP 0x7F0 - 0x7F7 Hierarchical Level 125 Scan Bridge Address 0x7F8 - 0x7FF Hierarchical Level 125 Scan Bridge LSP Module Descriptions Dual Port Memory Figure 1 shows a high level view of the STA101 which is composed of two main modules, the Parallel Processor Interface (PPI) and the Serial Scan Interface (SSI) which interface to each other through a dual-port memory. The PPI provides a parallel interface for transferring data into and out of the dualport memory, and for configuring, controlling and obtaining the status of the device. The SSI which resides on the other side of the dual-port memory provides the parallel-to-serial and serial-to-parallel conversion paths for providing test data and test control to support the ScanMaster and IEEE 1532 functions. The dual port memory will be treated as a separate module in the design to facilitate portability of the RTL of the design to an FPGA host. The Dual Port Memory module is a 2048 x 32 bit dual-port memory which acts as the buffer between the PPI and the SSI. There are seven regions of memory as viewed from the processor side. These regions, shown in Table 4, are TDO_SM, TDI_SM, Expected, Mask, Vector, Header/Trailer, Macro. Sequencer, and ScanBridge Support. Each has a pointer which resides in the PPI. The memory is big endian oriented and is viewed as a single entity from the SSI side and the SSI maintains a pointer. The dual port memory module does not include any logic outside of its own macro function, so all the timing and support logic is included in the following PPI and SSI sections. There will be no logic included in the STA101 design to utilize the "busy" www.national.com 10 memory read and write operations is described in PPI INTERFACE TIMING. MEMORY/REGISTER DECODER The Memory/Register Decoder (MRD) contains all six index registers (Index, Vector Index, Header/Trailer Index, Macro Index, Sequencer Index and ScanBridge Support Index) and four address registers (TDI_SM Address, TDO_SM Address, Expected Address and Mask Address). In general, both index and address registers are used to maintain pointers to their respective memory spaces. The exception is the Index register which is used to set values in the four address registers, i.e., writing to the Index register sets each of the address registers. The value written to each address register is the sum of its base address and the value written to the Index register (the offset). All index and address registers, with the exception of the Index register, will auto-increment with each access to the corresponding memory space. The MRD provides the address decode to generate all the control and status register enables for the CG and the SIG. The MRD also provides the mux selects for the register or memory selection for the read capture operation in the WLWC. Parallel Processor Interface The overall function of the PPI is to receive the parallel data from the processor interface, store the data in its appropriate register or memory location, act on the data if the data are PPI control data, provide status data back to the processor and to provide a read path for result data to the processor. To perform these functions, the PPI consists of seven main blocks of logic along with the dual-port memory. These blocks include the Edge Detector (ED), Processor Interface Controller (PIC), the Memory/ Register Decoder (MRD), the Word/Long Word Converter (WLWC), the Control Generator (CG), the Status/Interrupt Generator (SIG) and the Flag Generator (FG). WORD/LONG WORD CONVERTER The Word/Long Word Converter (WLWC) has four 16-bit capture registers, and least significant/ most significant (LS/MS) word read capture register pair and an LS/MS word write capture register pair. Each register within the write register pair has a separate enable to allow for the necessary control to accomplish word to long word conversions when in the 16-bit mode. In 32-bit mode, these enables will be driven simultaneously. A mux is provided in front of the MS word register for the write capture to select between the 32-bit and 16-bit mode external bus. Only one enable and a mux select is needed to control the read capture register pair to accomplish the long word to word conversions when in the 16- bit mode. In the 32bit mode, the mux selection doesn't change so 32-bits are always driven. A mux is on either side of the LS word register for the read capture. The one at the register output provides for selection between the 32-bit and16-bit mode. The one at the register input is for selection between register space and memory space. All the control for this block is provided by the PIC and MRD with the 16/32 bit mode enable coming from the Setup register. CONTROL GENERATOR The Control Generator has the seven control registers within it. The Start, Interrupt Control, Setup, Clock Divider, TDI_SM LFSR Exponent, TDI_SM LFSR LSB Seed, and TDI_SM LFSR MSB Seed registers are all within this block. The CG will issue a strobe to the SSI when a write has been issued to the Start or Setup registers so the SSI can react to the new control data. The strobe will be derived from edge detecting the enables to the Start or Setup registers. The "new" data to the SSI are the Use Sequencer bit and three Use Vector bits from the Start register, and the TDO Default Value, TRST, ScanBridge Support Initiate/Release, three Sync Bit Length, and two Test Loop-back bits from the Setup register. STATUS/INTERUPT GENERATOR The Status/Interrupt Generator has the four status registers plus the logic to generate the interrupts and clear the interrupts on a read. The registers are the Status, Interrupt Status, TDI_SM LSFR LSB Result and TDI_SM LFSR MSB Result registers. The SIG receives the LFSR result and strobe signal SSI_LFSR_EN from the SSI and captures the data in the LSB and MSB registers. The SIG receives the compare result bit value from the SSI along with the compare result bit clear and the compare result bit load. The SIG receives the 4 memory space flags from the FG along with their associated load and clear signals so these bits may be constantly updated. The half-full, half-empty, full and empty flags will be generated and updated regardless of the states of their respective interrupt enables. The SIG also receives the 4 interrupt enables for the flags. The SIG also receives the sequencer active and 3 vector active signals from the SSI. These will also be updated regardless of the enable state. If an interrupt enable is set then an interrupt will be generated. If an interrupt occurs at the same time as the interrupt status is being read, then the interrupt will be set after the read is complete. All bits in the Interrupt Status register are cleared when the register is read. EDGE DETECTOR The PPI module can support either an asynchronous or synchronous processor interface. For an asynchronous interface the circuit initially synchronizes STB and CE to the system clock, SCK, by pipelining these two signals through two flipflop stages and then performs an edge detection on STB and CE. For a synchronous parallel processor interface this circuit just performs an edge detection. The outputs of this circuit, one clock wide pulses indicating the detection of negative and positive edges, will be used by the Processor Interface Controller (PIC) state machine to start and to end a processor access. PROCESSOR INTERFACE CONTROLLER The Processor Interface Controller (PIC) monitors the incoming processor control signals and sets up the appropriate internal control signals to move the data into memory or an internal register on a write or to move the data out of memory or out of an internal register on a read. The PIC edge detects the CE and the STB to start the access. The PIC provides the control for the word to long word conversion in the WLWC by controlling the three enables and the mux select (READ_MSW) to the capture registers. The PIC also controls when the internal read/write enable is issued to the memory to complete the read/write operation. Timing for register and FLAG GENERATOR The FG takes in the TDI_SM or TDO_SM pointer values from the PPI address pointers, compares them and generates the appropriate flags. If a flag condition has occurred, it is passed 11 www.national.com SCANSTA101 indicators to keep the user from overwriting memory locations. The only area were this could occur in memory would be the TDI_SM memory space since both the SSI and PPI can write to this space, but the drivers shouldn't allow PPI writes to this area during normal operations. SCANSTA101 • • • along with the corresponding load enable to set the bit in the status register in the SIG. If the flag condition changes then the clear for the corresponding bit is passed to the SIG to clear the flag. The TDO_SM empty and the TDI_SM full flags are passed to the SSI also. A counter enable is passed from the SSI indicate to the FG when the SSI's pointer value has changed. If a decrement and an increment occur at the same time to either of the counters, the counter value will not change. TAP Tracker Pointer Generator Structure (Sequencer/Vector/Macro/ScanBridge) Decoder • Structure (Sequencer/Vector/Macro/ScanBridge) Control Registers • Count Generator • Shifter (TDO_SM/TDI_SM/TMS_SM) • Comparator • Expected and Mask Registers • Serial Scan Interface Controller (SSIC) and ScanBridge Controller The clock divider unit divides system clock SCK based on the programmable divisor set in the clock divider to generate TCK_SM. The TCK_SM control unit gates TCK_SM if the TDO_SM buffer is empty. The TAP Tracker unit keeps track of the target's TAP controller state. The purpose of the TAP Tracker is to determine whether the target's TAP controller is in SIR or SDR state, so that the necessary PAD bits are inserted. The shifter block contains two 32-bit shift registers for TDO_SM and TDI_SM respectively, and a 16-bit shift register for TMS_SM. The comparator unit compares the serial input on the TDI_SM pin with the expected, data bit by bit, if the compare bit of the Macro Structure is set. However, if compare/mask bit is set, then the comparator unit compares only those bits that are unmasked. Expected and Mask Registers contain the data fetched from the memory. This data will be used by the comparator to compare the TDI_SM input with the expected data. The SSIC provides the timing and control signals to synchronize the operation of the various blocks in the SSI. The ScanBridge Controller consists of the control logic to set up the ScanBridge's hierarchy, if the ScanBridge Support Initiate/Release bit is enabled, prior to scanning actual test vectors out of TDO_SM. PPI INTERFACE TIMING The processor accesses to SCANSTA101 can be classified into six categories: • register read • register write • 16-bit memory read • 16-bit memory write • 32-bit memory read • 32-bit memory write Register reads and register writes are performed the same whether the device is in 16-bit mode or 32-bit mode. In 32-bit mode, only the LS word is used. The MS word is ignored. All timing for the 16-bit and 32-bit modes are exactly the same. The 16-bit mode memory write is accomplished by performing two consecutive register writes with the only difference being that the actual write occurs on the second access. The 16-bit mode register read consists of two accesses, with the first access performed similar to the 16-bit register read but requiring one more clock to complete the memory access. Since all 32-bits of the memory data are captured on the first access, the second memory read access is 2 clocks shorter than the first. The processor initiates a write cycle by asserting CE followed by STB. A set time prior to asserting STB, the R/W is driven low and the address and data buses are driven by valid address and data, respectively. After edge detecting the STB and registering all the inputs, the address is decoded to determine which internal address within the STA101 will be written by the processor. The DTACK will be asserted on the same rising edge of SCK on which the STB's negative edge is detected, indicating to the processor that it can deassert the STB. When the STA101 detects the positive edge of the STB, it will deassert the DTACK indicating to the processor that it can start a new cycle. The processor can start a new cycle by asserting the STB and by driving the address and data buses with new address and data. A read cycle is similar to the write cycle except that the DTACK will not be asserted until the selected address location's contents are loaded. So, for a 16-bit register read it takes one more clock than it does for a write cycle. Accesses to STA101 memory require two consecutive accesses in the 16-bit external bus mode. The memory writes are similar to register writes but the only difference is that processor has to perform two consecutive 16-bit writes to write to the selected memory location. One important note, during a memory read, is that DTACK is not asserted until the contents of the memory is loaded into the capture registers. For this reason the first read from the memory requires five clocks which includes the memory access time, while the second read is done in 3 clock cycles. CLOCK DIVIDER AND TCK_SM CONTROL The clock divider will be a binary divider where only one bit of the clock divider register will be set to one at any given time. The implementation will ignore bits 0, and 8-15, so the supported divisors are 2, 4, 8, 16, 32, 64 and 128. To generate a TCK_SM of frequency SCK/4, the clock divider register should be set to 4 (00000100). This will enable the gate at the output of bit 2 of the counter to generate a clock of SCK divided by 4. If in LotF mode, then the TCK_SM enable from the SSIC will gate TCK_SM when the TDO_SM buffer is empty. TAP TRACKER The TAP Tracker consists of a 16-bit register to trace the IEEE Standard 1149.1 state machine. The state machine is one hot encoded and will continuously track the target's TAP Controller based on the TMS_SM sequence. The TAP Tracker will be used by the ScanBridge support controller to determine whether the target's TAP controller is in SIR or SDR state so that it can insert an appropriate number of pre and post-PAD bits. The TAP Tracker will enter Test-Logic Reset state upon setting the TRST bit (bit 5) in the Setup register or by issuing a sequence of five TMS_SM high bits. Serial Scan Interface The Serial Scan Interface consists of the following units: • Clock Divider and TCK_SM Control www.national.com 12 10121521 FIGURE 2. TMS_SM Shifter 10121522 FIGURE 3. TDO_SM Shifter Similarly, reading from TDI_SM memory can be accomplished by two consecutive reads. When reading from the TDI_SM memory, the first read will contain the least significant 16 bits and the second read the most significant 16 bits. 10121523 FIGURE 4. TDI_SM Shifter 13 www.national.com SCANSTA101 shifter will not be used to drive TMS_SM during pre-shift. Similarly, if the post-shift is less than 7 then, during post shift only the number of bits equal to the post-shift count following the macro structure bit 8 will be used to drive TMS_SM. The STA101 memory is organized in big Endian format. Since a memory write can be accomplished by two consecutive writes to the same location when embedded software loads the TDO_SM memory, it is assumed that the least significant 16 bits are written first and then the most significant 16 bits. Therefore, when the Sequencer or a Vector is initialized the SSIC can directly fetch and load the long word to the TDO_SM shifter without any modification. SHIFTER The Shifter block contains two 32-bit shift registers for TDO_SM and TDI_SM respectively, and one 16-bit shift register for TMS_SM. The TMS_SM shifter block diagram is shown in Figure 2, the TDO_SM shifter block diagram is shown in Figure 3, and the TDI_SM shifter block diagram is shown in Figure 4. Before the start of a vector processing the TMS_SM shifter is loaded with the least significant 16 bits of the macro structure. Based on the pre-shift TCK_SM count, the TMS_SM shifter will skip (7 - pre-shift count) least significant bits. e.g., if the pre-shift count is 4, the least significant 3 bits of the TMS_SM SCANSTA101 The TDI_SM shifter unit consists of two 32-bit shift registers as shown in Figure 4. The shift register on top will be used as an LFSR register. However, before using the TDI_SM LFSR register, the LFSR Exponent and LFSR Seed registers must be written with valid data. The LFSR Exponent register must be written with a 3-bit binary encoded value such that the corresponding polynomial out of the five available polynomials will be selected. The value written to the LFSR Seed registers will be used to initialize the TDI_SM LFSR register to a predetermined state. Once the test vector has completely scanned in, the final contents of the LFSR register will be transferred to the LFSR Result registers. The 32-bit shift register at the bottom will be used to shift in TDI_SM directly in normal mode or to shift in TMS_SM or TDO_SM in the loop- back mode. After shifting in every thirty two bits, the contents of this register will be transferred to the corresponding TDI memory location before the next shift operation. SHIFTER IMPLEMENTATION Shift register implementation is illustrated in Figure 5. Shift out enable for the TMS_SM and TDO_SM shifters is generated by comparing the clock pulse counter output to the clock divider - 1. Shift in enable for the TDI_SM shifter is generated by comparing the clock pulse counter to programmable divisor/2 - 1. These enables are gated by the control signals from SSIC so that data are shifted out (TMS_SM/TDO_SM) or shifted in (TDI_SM) only when necessary. 10121524 FIGURE 5. Shift Register Implementation and Timing will compare each bit on the TDI_SM input with the corresponding bit from the expected register. If the mask feature is enabled, then the comparison is performed only on those bits that are not masked, i.e., on those bits whose mask is set to zero. Table 12 shows how Compare and Use Mask/Compare bits in the Macro Structure will be used. COMPARATOR AND EXPECTED/MASK REGISTERS The One Bit Comparator, when enabled, will compare TDI_SM input with expected data. When the compare feature is enabled (pre-load only) the SSIC pre-fetches data into Expected and Mask registers from the address locations pertaining to the current vector being processed. The comparator www.national.com 14 SCANSTA101 TABLE 12. Compare and Use Mask/Compare Bit Descriptions Compare Use Mask/Compare Description 0 0 Do Not Compare 0 1 Compare with Mask 1 0 Compare without Mask 1 1 Compare with Mask Results of Compare bit (bit 15 of Status register) stores the comparison results in the status register. This bit defaults to fail (zero) and will be updated only after the current vector is processed. In the case of a single vector the Results of Compare bit will be set to one (pass) only if all the bits in the scanned in vector match the expected vector. However, in the case of the sequencer only the results of final vector comparison will be taken into account. Each vector within the sequencer is repeated until the vector repeat count is exhausted. However, the sequence is repeated until either the sequencer repeat count is exhausted or the compare passes and that the loop of the sequence is completed. Figure 6 illustrates the compare logic. 10121525 FIGURE 6. Compare Logic 2. After reset and before every sequencer process, flip-flops 1 and 3 are initialized to zero while flip-flop 2 is set to 1. When the compare feature is enabled flip-flop 1 is continuously updated with the immediate comparison results (1 for pass and 0 for fail). Flip-flop 2 is reset to zero when a mismatch occurs and remains in this state for the remainder of the current vector processing. When the current vector is completely processed flip-flop 3 (Results of Compare register) will be updated with the current status. 3. SERIAL SCAN INTERFACE CONTROLLER AND SCANBRIDGE CONTROLLER The Serial Scan Interface Controller (SSIC) remains in the Idle state until new data are written to the Start register. When this event occurs the following operations are performed: 1. If the ScanBridge Support Initiate/Release bit was not set previously and is currently set in the Setup register, the SSIC initializes the ScanBridge Controller (SBC) to perform the following steps to set up all ScanBridges in the hierarchy. 1. Determine the number of levels of ScanBridge support to be inserted (from the ScanBridge support structure) 4. 5. 6. 15 Sequence TMS_SM so that all ScanBridges in the same level of hierarchy enter the SIR state, and then shift in the address (from the ScanBridge structure) to select a ScanBridge in the current level of hierarchy. The ScanBridge's TAP controller is then sequenced through the Update-IR state. Sequence TMS_SM so that the selected ScanBridge's TAP controller enters the SIR state, then scan in the MODESEL instruction to put its mode register in the data path. Sequence the selected ScanBridge's TAP controller to enter the Shift-DR state and scan in the LSP contents (from the ScanBridge structure) into its mode register. The ScanBridge's TAP controller is then sequenced through the Update-DR state. Repeat Step 1c, but this time scan in the UNPARK instruction so that the LSP is inserted into the active scan chain. Sequence the ScanBridge's TAP controller to enter the RTI state (the LSP will not be unparked until its TAP controller enters RTI). www.national.com SCANSTA101 7. 2. 3. 4. 5. Repeat Steps 1b through 1g to configure the ScanBridges in the remaining hierarchy levels. One set of pre-PAD and post-PAD bits is added to the patterns for each hierarchy level between the ScanMaster and the ScanBridge being configured. The PAD bits are used to bypass the intermediate levels of hierarchy. 8. For the subsequent vectors, if the TAP Tracker enters the 1. SDR state, the STA101 will add one pre-bit for the PAD register and one post-bit for the bypass register for each level of hierarchy. 2. SIR state, the STA101 will add one pre-bit for the PAD register and eight post-bits for the ScanBridge instruction register for each level of hierarchy. The eight post-bits will be all ones because the ScanBridge will be forced into bypass mode. 9. The PAD bits need to be stripped when loading a vector into TDI_SM. This will be done by having a status flag to indicate whether the vector that is being scanned out has ScanBridge support or not. If the scanned-out vector has ScanBridge support, then the PAD bits will be stripped when the TAP Tracker enters the SDR or SIR states. If the ScanBridge Support Initiate/Release bit was set previously and is currently reset in the Setup register, the SSIC will toggle TCK_SM five times while TMS_SM is held high. This will return all selected ScanBridges to the wait-for-address state and park the LSPs in the TestLogic-Reset state. When the ScanBridge support is released the user should make sure that the Use Vector and Use Sequencer bits in the Start register are not set, such that, the SSIC will not start processing a vector or the sequencer immediately after releasing the ScanBridge support. However, once the ScanBridge support is released the user may start processing a vector or the sequencer by writing to the Start register. If the sequencer is enabled (the Use Sequencer bit in the Start register is one), 1. Clear the Results of Compare bit and set the Using Sequencer bit in the Status register. 2. Fetch the sequence repeat count. 3. If the sequence repeat count is zero, the sequence is complete so reset the Using Sequencer bit and return to the Idle state, otherwise fetch the next vector number and its repeat count. 4. If the vector number is zero, decrement the sequence repeat count and return to Step 3c. If the vector number is illegal, i.e., other than 001, 010, 011, or 100, decrement the sequence repeat count and return to Step 3c. 5. If the vector repeat count is equal to zero, fetch the next vector number and its repeat count and go to Step 3d. If the repeat count is non-zero fetch the vector structure. 6. If the pre-load bit in the vector structure is not set, reset the Using Sequencer bit and return to the Idle state. If the sequencer is not enabled but a vector is enabled (the Use Vector bits in the Start register are non-zero), fetch the current vector structure and set the appropriate Using Vector bits in the Status register. If neither the sequencer nor a vector is enabled, return to the Idle state. www.national.com 6. 7. 8. 9. 16 Fetch the Macro Structure to be used, set the vector/ macro control bits and store the TMS_SM bits in the Structure Control registers. If the Pre-shift TCK_SM Count is not zero, then enable TCK_SM and drive TMS_SM using the first seven bits of the macro until the Pre-shift TCK_SM Count is zero. During pre-shift, TDO_SM will be driven with it's previous value. If the macro type is State then, 1. If the Macro Structure Bit 7 is enabled, set TMS_SM to the bit 7 value of the macro structure and drive TDO_SM with it's previous value. 2. If the Macro Structure Bit 8 is enabled, set TMS_SM to the bit 8 value of the macro structure and drive TDO_SM with it's previous value and then go to Step 10. 3. If the sequencer is being used then, decrement the vector repeat count and return to Step 3e. If a vector is being used, return to the Idle state. If the macro type is BIST then, 1. If the Macro Structure Bit 7 is enabled, set the count length, set TMS_SM to the bit 7 value of the macro structure and drive TDO_SM with the default value (Setup register bit 6) until the count length is zero. 2. If the Macro Structure Bit 8 is enabled, set TMS_SM to the bit 8 value of the macro structure and drive TDO_SM with the default value (Setup register bit 6) and then go to Step 10. 3. If the sequencer is being used then, decrement the vector repeat count and return to Step 3e. If a vector is being used, return to the Idle state. If the macro type is Shift or Shift with Capture then, 1. If the macro type is Shift with Capture, enable TDI capture. 2. If the Sync Bit Support Enable bit is set, fetch sync bit count, set the count length, set TMS_SM to the loop bit and drive the TDO_SM high until sync bit count is zero. 3. If the ScanBridge Support Initiate/Release bit is set, drive the TDO_SM with pre- PAD bit (high) and while TMS_SM remains set to the loop bit. Repeat for each level of hierarchy. 4. If the Use Data/Instruction Header is enabled, fetch the header length and data, set the count length, and drive the TDO_SM with header data until the header length is zero and while TMS_SM remains set to the loop bit. 5. If the Compare or Mask/Compare is set, enable the comparator. 6. Set the vector count length, and drive the TDO_SM with vector data until the count length is one and while TMS_SM remains set to the loop bit. In the LotF mode if the count length is not zero and the TDO buffer is empty, then gate TCK_SM until more data are available in the TDO buffer. When TCK_SM is disabled TMS_SM and TDO_SM will be driven with their previous values. 7. If the Use Data/Instruction Trailer is enabled, fetch the trailer length and data, set the count length, and drive TDO_SM with trailer data until the trailer length is one and while TMS_SM remains set to the loop bit. 8. If the ScanBridge Support Initiate/Release bit is set: 9. 10. Set TMS_SM to the bit 8 of the TMS_SM Macro Structure sequence and drive TDO_SM with the final vector bit or trailer bit or post-PAD bit or sync bit. After shifting out the final vector bit, disable the comparator and register the comparison results. 10. If the Post-shift TCK_SM Count is not zero, then enable TCK_SM and drive TMS_SM using the last seven bits of the macro until the Post-shift TCK_SM Count is zero. 11. If the Sequencer is being used, 1. Decrement the sequence repeat count and return to Step 3c if the Compare or Mask/Compare is enabled and the results of compare is a fail. 2. Decrement the vector repeat count and return to Step 3e if the if the Compare or Mask/Compare is enabled and the results of compare is a pass. 3. Decrement the vector repeat count and return to Step 3e if the Compare or Mask/ Compare is not enabled. 12. If the Vector is being used return to the Idle state. If the TAP tracker is in the Shift-IR state and the number of levels of hierarchy is greater than one, set the count length to eight, and drive TDO_SM with post-PAD bits (all high) until the count length is zero for each level of hierarchy and while TMS_SM remains set to the loop bit. 2. If the TAP tracker is in the Shift-DR state and the number of levels of hierarchy is greater than one, drive TDO_SM with a post-PAD bit (high) for each level of hierarchy and while TMS_SM remains set to the loop bit. 3. For the final level of hierarchy or if there is only one level of hierarchy, and if the TAP tracker is in the Shift-IR state, set the count length to eight, and drive TDO_SM with post-PAD bits (all high) until the count length is one and while TMS_SM remains set to the loop bit. If the Sync Bit Support Enable is set, fetch sync bit count, set the count length, and drive the TDO_SM high until sync bit count is one and while TMS_SM remains set to the loop bit. MODE REGISTER WRITE TO VECTOR/SEQUENCER START 10121533 FIGURE 7. Timing from Mode Register Write to Vector Start Figure 7 shows the timing from the processor write to the start of vector processing, whereas Figure 8 shows the timing from the processor write to the start of sequencer processing. A processor write to the Start registers is indicated by a "new data" pulse. On the same SCK rising edge when the "new data" is detected to be high, the Start or Setup register contents will be updated with new data. So, the decoding of the enables takes place during the next clock cycle to determine whether to process the sequencer or a vector. Therefore, one clock after the "new data" is detected, the SSIC starts loading the pointer register on consecutive cycles with the appropriate addresses to fetch the Sequencer, Vector and Macro Structures. Once the headers are decoded and Structure Control Registers are set up, the SSIC loads the pointer register so that data from the TDO_SM memory area is fetched and loaded into the TDO_SM shifter before being shifted out. However if there are any sync bits and/or header bits and/or ScanBridge support is enabled, then the sync bits and/or header bits and/or ScanBridge pre-PAD bits will be loaded into the TDO_SM shifter before processing the actual test vector. Once the actual test vector is completely shifted out, again depending on the ScanBridge support and/or the use of trailers, post-PAD bits and the trailer bits are loaded and shifted out through the TDO_SM shifter. The count length will be decremented by one with each shift. After shifting out all the current shifter contents the shifter will be loaded with new data before the falling edge of the next TCK_SM, if the count length is not exhausted. In the case where data cannot be loaded from the memory before the next falling edge of TCK_SM, the TCK_SM will be gated until the data is available. 17 www.national.com SCANSTA101 1. SCANSTA101 10121534 FIGURE 8. Timing from Mode Register to Sequencer Start chain) must be stored and written into the memory as the least significant bits. This will assure that the desired bits will be accurately loaded into the TDO_SM shifter and shifted out to the boundary scan chain. For instance, to shift a 3-bit (110) sequence the partial long word should be written to the TDO_SM memory as shown in WRITING AND READING PARTIAL LONG WORDS Care should be taken when writing a partial long word to TDO_SM memory or reading a partial long word from TDI_SM memory. Since the TDO_SM shifter shifts out LSB first, the valid (meaningful) bits within a partial long word (i.e., long word containing less than 32 valid bits to be shifted to the scan 10121535 FIGURE 9. Writing a Partial Long Word to the TDO_SM Memory Figure 9 (only the least significant 16 bits are shown). A subsequent enable and load of the vector structure with the correct length will initialize the shift operation and only the bits that are significant will be shifted out to the scan chain. Data is shifted from the scan chain into the TDI_SM shifter from MSB to LSB. Consequently, the valid (i.e., meaningful) bits in a partial long word shifted into the TDI_SM shifter will reside in the upper significant bit locations. For example, if a scan operation involves shifting and evaluating 69 bits return- ing to TDI_SM, the TDI_SM memory will be loaded with two long words (i.e., two full long words plus a partial long word containing 5 meaningful bits). If the last 5 bits shifted back to the TDI_SM shifter are 11010, then upon completion of the shift operation, the TDI_SM shifter will contain the following partial long word as shown in Figure 10 (only most significant 16 bits are shown), which will subsequently be loaded into the TDI_SM memory. 10121536 FIGURE 10. Reading a Partial Long Word from the TDI_SM Memory Following a read of a partial long word, the embedded test software must adjust the position of the valid bits read from the TDI_SM shifter/buffer or the position of the expected data to assure that an accurate comparison is made (and the nonmeaningful bits are masked). bits 11 and 10, as shown in Table 13, regardless of the TAP tracker state. For shift macros, the TDO_SM output also depends on the current macro structure's TMS_SM bit number as explained below. TDO_SM IMPLEMENTATION The behavior of the TDO_SM output depends on the current macro type that is being processed and the SETUP register www.national.com 18 SCANSTA101 TABLE 13. TDO_SM Output Behavior SETUP[11:10] TDO_SM 00 Hold Previous value 01 or 10 Default TDO value (Bit 6 of the SETUP register) (Note 10) 11 High Impedance Note 10: Default TDO value (bit 6 of the SETUP register) may be set to a 0 when SETUP[11:10]=01 and to a 1 when SETUP[11:10]=10. For BIST and STATE macros, the TDO_SM output behaves exactly as shown in the above table, however, for the shift macros, with or without capture, the TDO_SM output behaves as per the table only when the corresponding TMS_SM output is not driven by the macro structure bit 7 or 8. On each falling edge of the TCK_SM following the TCK_SM's falling edge on which the TMS_SM changes state from bit 6 of the macro structure to the bit 7of the macro structure, the serial test vec- tor data fetched from the memory will be presented on the TDO_SM output. On the falling edge of the TCK_SM on which the final bit of the test vector is presented on the TDO_SM output, the TMS_SM will be presented with the macro structure bit 8. On the consequent TCK_SM falling edges and on the TCK_SM falling edges before the TMS_SM changes state from bit 6 to bit 7 of the macro structure the TDO_SM will behave as per the table above. Hardware Interface Details TABLE 14. System Interface Signal Description Signal Name No. of Bits Pin Type Driver Type Freq. MHz Description SCK 1 I LVTTL 66 System Clock: This is the main clock signal to the STA101. SCK is used to clock all internal circuitry RST 1 I,H LVTTL N/A Hardware Reset signal (with hysteresis (H)): This is the STA101 asynchronous reset signal.This signal resets the entire STA101 and sets all registers to their respective default values. OE 1 I LVTTL N/A Output enable: Tristates all dot1 outputs when high. TABLE 15. Parallel Processor Interface Signal Descriptions Signal Name No. of Bits Pin Type Driver Type Freq. MHz DATA(31:16) 16 I/O LVTTL (weakest driver) N/A Bidirectional Data Bus. Not bonded out in packaged part. These are only used in the 32-bit macro version. DATA(15:0) 16 I/O LVTTL N/A Bidirectional Data Bus. ADDRESS(4:0) 5 I LVTTL N/A Address Bus CE 1 I LVTTL N/A Chip Enable, when low, enables the PPI for transfers. DATA (31:0) and DTACK are tristated when CE is high. R/W 1 I LVTTL N/A Read/Write defines a PPI cycle. Read when high, write when low. STB 1 I LVTTL N/A Strobe is used for timing all PPI transfers. DATA(31:0) are tristated when STB is high. Data valid setup is with respect to the falling edge of STB and data valid hold is with respect to rising edge of STB. DTACK 1 O O/D N/A Data Acknowledge (open drain - sustained tristate). DTACK is used to synchronize asynchronous transfers between the host and the STA101. During write cycles, DTACK goes low when data has been registered and then goes to high impedance when the cycle has been completed. During read cycles DTACK goes low when data bus is driven with the valid data and then goes to high impedance when the cycle has been completed. INT 1 O LVTTL N/A Interrupt is used to trigger a host interrupt for any of the defined interrupt events. Signal is active high. 19 Description www.national.com SCANSTA101 TABLE 16. Serial Scan Interface Signal Descriptions Signal Name No. Pin Type Driver Type Freq. MHz Description TDI_SM 1 I LVTTL up to 25 ScanMaster Test Data Input (weak pullup) TDO_SM 1 O LVTTL up to 25 ScanMaster Test Data Output TMS_SM 1 O LVTTL up to 25 ScanMaster Test Mode Select TCK_SM 1 O LVTTL up to 25 ScanMaster Test Clock TRST0_SM 1 O LVTTL N/A ScanMaster Test Reset TRST1_SM 1 O LVTTL N/A Redundant ScanMaster Test Reset (not bonded out) TRIST_SM 1 O LVTTL N/A The tristate notification pin exerts a high when TDO_SM is tristated. 10121537 FIGURE 11. PPI Write Cycle Timing Diagram 10121538 FIGURE 12. PPI Read Cycle Timing Diagram www.national.com 20 SCANSTA101 10121539 FIGURE 13. SSI Timing Diagram with Clock Divider set to 4 10121541 FIGURE 14. SSI Timing Diagram with Clock Divider set to 8 TABLE 17. STA101 1149.1 Signal Descriptions Signal Name No. of Bits Pin Type Driver Type Freq. MHz Description TDO 1 O LVTTL up to 25 STA101 Test Data Out TDI 1 I,U LVTTL up to 25 STA101 Test Data In (pullup (U)) TMS 1 I,U LVTTL up to 25 STA101 Test Mode Select (pullup (U)) TCK 1 I LVTTL up to 25 STA101 Test Clock TRST 1 I,U,H LVTTL N/A 21 STA101 Test Reset (pullup (U) & hysteresis (H)) www.national.com SCANSTA101 TABLE 18. STA101 Scan Signal Descriptions Signal Name No. of Bits Pin Type Driver Type Freq. MHz Description SCAN_EN 1 I Shared TRIST TBD STA101 Scan Enable Shared pin with TRIST. SCAN_IN 1 I Shared DATA15 TBD STA101 Scan Data In. Shared pin with DATA15. SCAN_OUT 1 O Shared DATA14 TBD STA101 Scan Data Out. Shared pin with DATA14. TEST AND DEBUG INTERFACE The test and debug interfaces are provided to perform manufacturing tests. There is a standard JTAG interface along with a scan interface. The scan interface have shared pins with the external data pins. Scan is selected by a user defined instruction through the JTAG port. Note that the scan chain (s) will not be hooked up to the JTAG tap. CLOCK GENERATION AND DISTRIBUTION Input Clock (SCK): Up to 66 MHz Output Clock (TCK_SM): TCK_SM is a divided, registered version of SCK. • Selectable: to 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, and 1/128 of SCK. • Frequency: up to 25 MHz SAFE MODE This device implements the following design rules to provide SEU/SEE protection: • Triple modular redundancy for TRST0_SM and TRST1_SM outputs with the help of a TMR D flip-flop . • After reset all scan interface outputs are driven to SEU tolerant safe values as shown below: TMS_SM = 1 TCK_SM = 0 TDO_SM = Z TRST0_SM = 0 TRST1_SM = 0 • The EXTEST and the HIGHZ outputs from the JTAG TAP controller are gated with TRST to protect the boundary scan cells from inadvertantly entering the test mode. RESET STRATEGY The incoming external hardware reset (RST) will be synchronized to the incoming clock (SCK) and is combined with the soft reset to generate a synchronized internal reset (SYS_RST_N). During operation, the chip can be reset by writing a '1' to the Reset bit in the Setup register. All logic throughout the device will be initialized, all control and status registers will be in a known default state, all PPI memory address pointers will default to their respective base addresses, the SSI memory pointer will default to zero, the Tap Tracker will be reset to TLR, and the clock division counter will be initialized to all zero's after deassertion of the internal reset. The Reset bit in the Setup register is self clearing. The TRST bit in the Setup register, when set, resets the SSI logic and drives the TRST0_SM and TRST1_SM to zero. Software Interface Details www.national.com 22 TABLE 19. Start Register (START) ($00) Bit(s) Type Address Offset Reset Value 15:14 RO Reserved Field 0 00b 13 RW Onboard Memory BIST 0 0b 12:9 RO Reserved 0 0000b 8 RW Use Sequencer 0 0b 7:3 RO Reserved Use Vector x (Note 11) 0 0000h 2:0 RW Use Vector x 0 000b Reset Source SYS_RST SYS_RST SYS_RST Note 11: Reserved Use Vector x for future growth for the number of vectors. Onboard Memory BIST '1' '0' Use Sequencer '1' '0' Use Vector <2:0> '000' '001' '010' '011' '100' ScanMaster memory BIST enable. This bit is self clearing when BIST result is written to the Memory BIST Result bit in the Status register. Initiate on chip memory BIST On chip memory BIST complete Sequencer enable/disable (For preloaded vectors only) Enable sequencer Disable sequencer Use Vector x designates the vector "x" which is enabled, where "x" is the vector number, a binary encoding of bits <2:0>. Only vectors 1 through 4 are valid. Vectors 5 through 7 reserved for future use. No vector enabled Vector 1 enabled Vector 2 enabled Vector 3 enabled Vector 4 enabled 23 www.national.com SCANSTA101 included in parentheses as well as the physical address location in hexadecimal notation (value preceded by $). KEYRO: Read Only; RW: Read/Write. REGISTER DEFINITIONS The following sections include descriptions of each addressable register in the ScanMaster memory space. Following the title of the particular register, the mnemonic for the register is SCANSTA101 TABLE 20. Status Register (STATUS) ($01) (Note 12) Bit(s) Type 15 RW 14 RW 13 Field Address Offset Reset Value Reset Source Results of Compare (Note 13) 0 0b SYS_RST BIST Running 0 0b SYS_RST RW Memory BIST Result 0 0b SYS_RST 12 RW TDO Status Half-empty (Note 15) 0 0b SYS_RST 11 RW TDO Status Empty 0 0b SYS_RST 10 RW TDI Status Full 0 0b SYS_RST 9 RW TDI Status Half-full (Note 15) 0 0b SYS_RST SYS_RST 8 RW Using Sequencer 0 0b 7:3 RO Reserved Using Vector x (Note 14) 0 00000b 2:0 RW Using Vector x 0 000b SYS_RST Note 12: Write capability to the register is only for test and debug purposes. Drivers should disable writes to register during normal operation. Note 13: Results of Compare bit is toggled after a compare is complete and it is set to the mismatch state when sequencer is kicked off again. Remains in last state until next compare completed or until set to the mismatch. Note 14: Reserved Using Vector x for future growth for the number of vectors. Note 15: Half full or half empty designates 56 long words. Results of Compare '1' '0' BIST Running '1' '0' Memory BIST Result '1' '0' TDO Status Half '1' '0' TDO Status Empty '1' '0' TDI Status Full '1' '0' TDI Status Half '1' '0' Using Sequencer '1' '0' Using Vector<2:0> '000' '001' '010' '011' '100' www.national.com Results of compare between TDI_SM and Expected memory space Compare match Compare mismatch Indicates the BIST operation is still active BIST operation active BIST operation complete or BIST operation not running ScanMaster BIST result. BIST result will be held until overwritten by next BIST operation. Passed memory BIST Failed memory BIST TDO_SM memory space status half empty TDO_SM memory space half empty TDO_SM memory space not half empty TDO_SM memory space status empty TDO_SM memory space empty TDO_SM memory space not empty TDI_SM memory space status full TDI_SM memory space full TDI_SM memory space not full TDI_SM memory space status half full TDI_SM memory space half full TDI_SM memory space not half full Sequencer active and processing. Bit cleared when sequence complete. Sequencer active Sequencer inactive Using Vector x designates the vector "x" currently running, where "x" is the vector number, a binary encoding of bits <2:0>. Only vectors 1 through 4 are valid. Vectors 5 through 7 reserved for future use. Field cleared when vectors complete. No vector active. Vector 1 active. Vector 2 active. Vector 3 active. Vector 4 active. 24 Bit(s) Type Field Address Offset Reset Value Reset Source 15:13 RO Reserved 0 000b 12 RW TDO Half-empty Interrupt Enable (Note 18) 0 0b SYS_RST 11 RW TDO Empty Interrupt Enable 0 0b SYS_RST 10 RW TDI Full Interrupt Enable 0 0b SYS_RST 9 RW TDI Half-full Interrupt Enable (Note 18) 0 0b SYS_RST 8 RW Sequencer Interrupt Enable (Note 17) 0 0b SYS_RST 7:3 RO Reserved Vector x Interrupt Enable (Note 16) 0 00000b 2:0 RW Vector x Interrupt Enable (Note 17) 0 000b SYS_RST Note 16: Reserved Vector x Interrupt Enable for future growth for the number of vectors. Note 17: Drivers should not allow Sequencer Interrupt Enable and Vector x Interrupt Enable to be set at same time. Sequencer Interrupt Enable has priority over the Vector x Interrupt Enable. Note 18: Half full or half empty designates 56 long words. TDO Half-empty Interrupt Enable '1' '0' TDO Empty Interrupt Enable '1' '0' TDI Full Interrupt Enable '1' '0' TDI Half-full Interrupt Enable '1' '0' Sequencer Interrupt Enable '1' '0' Vector Interrupt Enable<2:0> '000' '001' '010' '011' '100' TDO_SM memory space half empty interrupt enable Enable TDO_SM memory space half empty interrupt Disable TDO_SM memory space half empty interrupt TDO_SM memory space empty interrupt enable Enable TDO_SM memory space empty interrupt Disable TDO_SM memory space empty interrupt TDI_SM memory space full interrupt enable Enable TDI_SM memory space full interrupt Disable TDI_SM memory space full interrupt TDI_SM memory space half full interrupt enable Enable TDI_SM memory space half full interrupt Disable TDI_SM memory space half full interrupt Sequencer activity complete interrupt enable Enable Sequencer activity complete interrupt Disable Sequencer activity complete interrupt Vector "x" complete interrupt enable, where "x" is the vector number, a binary encoding of bits <2:0>. Only vector interrupts1 through 4 are valid. Vector interrupts 5 through 7 reserved for future use. No vector interrupt enabled Vector 1 interrupt enabled Vector 2 interrupt enabled Vector 3 interrupt enabled Vector 4 interrupt enabled 25 www.national.com SCANSTA101 TABLE 21. Interrupt Control Register (INTCTRL) ($02) SCANSTA101 TABLE 22. Interrupt Status Register (INTSTAT) ($03) (Note 22) Bit(s) Type Field Address Offset Reset Value Reset Source 15:13 RO Reserved 0 00b 12 RW TDO Half-empty Interrupt (Note 21) 0 0b SYS_RST 11 RW TDO Empty Interrupt 0 1b SYS_RST 10 RW TDI Full Interrupt 0 0b SYS_RST 9 RW TDI Half-full Interrupt (Note 21) 0 0b SYS_RST 8 RW Sequencer Interrupt 0 0b SYS_RST 7:3 RO Reserved Vector x Interrupt (Notes 19, 20) 0 00000b 2:0 RW Vector x Interrupt (Note 20) 0 000b SYS_RST Note 19: Reserved Vector x Interrupt for future growth for the number of vectors. Note 20: Drivers shouldn't allow Sequencer Interrupt and Vector x Interrupt to be set at same time. Sequencer Interrupt has priority over the Vector x Interrupt. Note 21: Half full or half empty designates 56 long words. Note 22: This register is writable in debug mode only. TDO Half-empty Interrupt '1' '0' TDO Empty Interrupt '1' '0' TDI Full Interrupt '1' '0' TDI Half-full Interrupt '1' '0' Sequencer Interrupt '1' '0' Vector Interrupt<2:0> '000' '001' '010' '011' '100' www.national.com TDO_SM memory space half empty status TDO_SM memory space half empty TDO_SM memory space not half empty TDO_SM memory space empty status TDO_SM memory space empty TDO_SM memory space not empty TDI_SM memory space full status TDI_SM memory space full TDI_SM memory space not full TDI_SM memory space half full status TDI_SM memory space half full TDI_SM memory space not half full Sequencer completed status Sequencer processing completed Sequencer processing or not started Vector "x" completed status, where "x" is the vector number, a binary encoding of bits <2:0>.Only vectors 1 through 4 are valid. Vectors 5 through 7 reserved for future use. No vector completed activity Vector 1 completed Vector 2 completed Vector 3 completed Vector 4 completed 26 Bit(s) Type Field Address Offset Reset Value Reset Source SYS_RST 15 RW 16/32 bit Mode 0 0b 14:10 RO Reserved 0 00h 11:10 RW TDO_SM Ctrl 0 00b SYS_RST 9:7 RW Sync Bit Length 0 000b SYS_RST 6 RW Default TDO Value 0 1b SYS_RST 5 RW Debug Mode 0 0b SYS_RST 4 RW ScanBridge Support Initiate/ Release 0 0b SYS_RST 3 RW TRST 0 0b SYS_RST 2 RW Reset 0 0b SYS_RST 1:0 RW Test Loop-Back 0 11b SYS_RST 16/32 bit Mode '1' '0' TDO_SM Ctrl<11:10> '00' '01' '10' '11' Sync Bit Length "x" Default TDO Value '1' '0' Debug Mode '1' '0' ScanBridge Support Initiate/ Release '1' '0' TRST '1' '0' Reset '1' '0' Test Loop-Back<1:0> '00' '01' '10' '11' Selects 16-bit or 32-bit external interface mode 32-bit external interface mode (used in macro form only) 16-bit external interface mode TDO_SM Control bits Hold previous value Default TDO Value Default TDO Value High impedance Sync Bit Length bits represents the number of sync bits to be used when the Sync Bit Support Enable bit (17 in the Macro Structure) is set. Where "x" is the binary encoded numeric value. The value in this register will be sent out on the TDO_SM pin when performing a BIST or a STATE Macro. Drive TDO_SM to one. Drive TDO_SM to zero. Control bit to put STA101 in debug mode Debug mode. Normal mode. ScanBridge support enable Enable ScanBridge support Disable ScanBridge support Processor initiated ScanMaster test reset (on TRST0_SM and TRST1_SM_N). Bit is cleared by a processor write. Set TRST outputs low (active) and reset SSI logic. Set TRST outputs high Processor commanded synchronous reset to the serial scan logic for 2 clocks. This bit is self clearing. Reset the entire chip. Release serial scan logic reset Test loop-back mode bits Normal operation Loop-back TDO_SM to TDI_SM Loop-back TMS_SM to TDI_SM All Dot1 (1149.1) pins placed in SEU tolerant safe mode with: TMS_SM = 1, TCK_SM = 0, TDO_SM = Z, TRST0_SM = 0 27 www.national.com SCANSTA101 TABLE 23. Setup Register (SETUPR) ($04) SCANSTA101 TABLE 24. Clock Divider Register (CLKDIV) ($05) Bit(s) Type Field Address Offset Reset Value 15:8 RO Reserved 0 00h 7:1 RW Divisor 0 00h 0 RO Reserved (hard coded) (Note 23) 0 0b Reset Source SYS_RST Note 23: LSB of the Clock Divider register is hard coded to zero. Divisor<7:1> '0000000' '0000001' '0000010' '0000100' '0001000' '0010000' '0100000' '1000000' Clock divisor for the division of the SCK clock to the serial scan clock. No serial scan clock generated. Divide SCK by 2 Divide SCK by 4 Divide SCK by 8 Divide SCK by 16 Divide SCK by 32 Divide SCK by 64 Divide SCK by 128 TABLE 25. TDI_SM LFSR Exponent Register (EXPR) ($07) Bit(s) Type Address Offset Reset Value 15:3 RO Reserved Field 0 0000h 2:0 RW LFSR 0 000b Reset Source SYS_RST LFSR Exponent<2:0> '000' '001' LFSR exponent. Binary encoding for the selection between three polynomials. No polynomial selected Polynomial 1: X32 + X7 + X5 + X3 + X2 + X + 1 '010' Polynomial 2: X32 + X28 + X27 + X + 1 '011' Polynomial 3: X32 + X7 + X6 + X2 + 1 TABLE 26. TDI_SM LFSR LSB Seed Register (LSSEDR) ($08) (Notes 24, 25) Bit(s) Type 15:0 RW Field LSW LFSR Seed Address Offset Reset Value Reset Source 0 0000h SYS_RST Note 24: LSW LFSR Seed<15:0> is the LS word of the LFSR seed. Note 25: This register along with register MSSEDR form a register pair and should be read/written with two consecutive read/write accesses. TABLE 27. TDI_SM LFSR MSB Seed Register (MSSEDR) ($09) (Notes 26, 27) Bit(s) Type 15:0 RW Field MSW LFSR Seed Address Offset Reset Value Reset Source 0 0000h SYS_RST Note 26: MSW LFSR Seed <15:0> is the MS word of the LFSR seed. Note 27: This register along with register LSSEDR form a register pair and should be read/ written with two consecutive read/write accesses. TABLE 28. TDI_SM LFSR LSB Result Register (LSRESR) ($0A) (Notes 28, 29) Bit(s) Type 15:0 RW Field LSW LFSR Result Address Offset Reset Value Reset Source 0 0000h SYS_RST Note 28: LSW LFSR Result<15:0> is the LS word of the LFSR result. Note 29: This register along with register MSRESR form a register pair and should be read/written with two consecutive read/write accesses. www.national.com 28 Bit(s) Type 15:0 RW Field MSW LFSR Result Address Offset Reset Value Reset Source 0 0000h SYS_RST Note 30: MSW LFSR Result<15:0> is the MS word of the LFSR result. Note 31: This register along with register LSRESR form a register pair and should be read/ written with two consecutive read/write accesses. TABLE 30. Index Register (INDEXR) ($0C) (Notes 32, 33, 34) Bit(s) Type 15:0 RW Field Index Address Offset Reset Value Reset Source 0 0000h SYS_RST Note 32: Index<15:0> sets the individual address memory pointer. Note 33: Address memory pointer must be on a long word boundary. Note 34: Writing to this register sets the TDO_SM, TDI_SM, Expected and Mask pointers. These pointers will automatically increment with each long word read from the TDI_SM space and each long word write to the other TDO_SM, Expected and Mask spaces. TABLE 31. Vector Index Register (VINDEXR) ($11) (Notes 35, 36) Bit(s) Type 15:0 RW Field Vector Index Address Offset Reset Value Reset Source 0 0000h SYS_RST Note 35: Vector Index<15:0> sets the Vector address memory pointer. Note 36: Address memory pointer must be on a long word boundary. TABLE 32. Header/Trailer Index Register (HTINDEXR) ($13) (Notes 37, 38) Bit(s) Type 15:0 RW Field Header/Trailer Index Address Offset Reset Value Reset Source 0 0000h SYS_RST Note 37: Header/Trailer Index<15:0> sets the Header/Trailer address memory pointer. Note 38: Address memory pointer must be on a long word boundary. TABLE 33. Macro Index Register (MINDEXR) ($15) (Notes 39, 40) Bit(s) Type 15:0 RW Field Macro Index Address Offset Reset Value Reset Source 0 0000h SYS_RST Note 39: Macro Index<15:0> sets the Macro address memory pointer. Note 40: Address memory pointer must be on a long word boundary. TABLE 34. Sequencer Index Register (SINDEXR) ($17) (Notes 41, 42) Bit(s) Type 15:0 RW Field Sequencer Index Address Offset Reset Value Reset Source 0 0000h SYS_RST Note 41: Sequencer Index<15:0> sets the Sequencer address memory pointer. Note 42: Address memory pointer must be on a long word boundary. TABLE 35. ScanBridge Support Index Register (BSINDEXR) ($19) (Notes 43, 44) Bit(s) Type 15:0 RW Field ScanBridge Index Address Offset Reset Value Reset Source 0 0000h SYS_RST Note 43: ScanBridge Index<15:0> sets the ScanBridge Support address memory pointer. Note 44: Address memory pointer must be on a long word boundary. Testability Details - IEEE 1149.1 Support 29 www.national.com SCANSTA101 TABLE 29. TDI_SM LFSR MSB Result Register (MSRESR) ($0B) (Notes 30, 31) SCANSTA101 An 8 instruction Tap Controller will be used to accomplish the IEEE 1149.1 support design. TABLE 36. Supported IEEE 1149.1 Instruction Set Instruction Mnemonic Binary Instruction Code Description EXTEST 000 Allows off-chip circuitry and interconnect to be tested. SAMPLE/PRELOAD 001 Allows snapshot of normal operation. Also allows data to be loaded on parallel output boundary scan registers. BYPASS 111 Places device in bypass mode so that there is single shift register stage between TDI and TDO. IDCODE 010 Allows scanning of the device identification register. HIGHZ 011 Tristates all output drivers with the exception of TDO. CLAMP 100 Allows the state of the signals driven from component pins to be determined from the boundary-scan register while the BYPASS register is selected as the serial path between TDI and TDO. RUNBIST 110 Enables on chip BIST logic to perform memory BIST. SCANTEST 101 Allows the assertion of internal test_mode signal to prevent the asynchronous resets from inadvertantly resetting the flip-flops during internal scan. TABLE 37. IDCODE Register Description Version Part Number Manufacturer Identity Start Bit "0000" "1111 1100 0001 0111" "000 0000 1111" "1" TABLE 38. Boundary Scan Register Definition BSR Bit# Signal Name BSR Bit# Signal Name BSR Bit# Signal Name BSR Bit# 0 SCK 10 DTACK 20 DATA[7] 30 TCK_SM 1 RST 11 INT 21 DATA[6] 31 TRST0_SM 2 R/W 12 DATA[15] 22 DATA[5] 32 TDI_SM 3 STB 13 DATA[14] 23 DATA[4] 33 OE 4 CE 14 DATA[13] 24 DATA[3] 34 TRIST 5 ADDRESS[4] 15 DATA[12] 25 DATA[2] 6 ADDRESS[3] 16 DATA[11] 26 DATA[1] 7 ADDRESS[2] 17 DATA[10] 27 DATA[0] 8 ADDRESS[1] 18 DATA[9] 28 TDO_SM 9 ADDRESS[0] 19 DATA[8] 29 TMS_SM status register. The memory BIST will initialize the memory to zero. BIST SUPPORT The memory BIST can be initiated through JTAG interface using the RUNBIST instruction or by setting the Onboard Memory BIST bit in the Start register. When the memory BIST is initiated through the JTAG interface the result of pass/fail will be set in the Memory BIST Result bit in the Status register and also in the BIST status register that can be accessed through the JTAG interface. The BIST status register is a one bit register and is connected in the serial path of TDO and TDI when RUNBIST instruction is scanned into the instruction register. Once the BIST is done the contents of the BIST status register can be scanned out to determine whether the memory BIST passed or failed. If the memory BIST is initiated through the Onboard Memory BIST bit in the Start register the result of pass/fail will be set only in the BIST Result bit in the www.national.com Signal Name SCAN METHODOLOGY The STA101 supports internal scan through the shared ports SCAN_EN, SCAN_IN, SCAN_OUT. Before initiating an internal scan test the user should scan in SCANTEST instruction through the JTAG interface so that an internal test_mode signal can be asserted. This test_mode signal is used to prevent the reset from inadvertantly resetting the flip-flops during internal scan. The test vectors to verify the scan chain are generated by the Sunrise test tool. The target for the stuck-at fault coverage is 97% and the achieved fault coverage is about 99%. 30 SCANSTA101 Physical Dimensions inches (millimeters) unless otherwise noted 49-Pin BGA NS Package Number SLC49A Ordering Code SCANSTA101SM (Tape and Reel Ordering Code SCANSTA101SMX) 31 www.national.com SCANSTA101 Low Voltage IEEE 1149.1 STA Master Notes THE CONTENTS OF THIS DOCUMENT ARE PROVIDED IN CONNECTION WITH NATIONAL SEMICONDUCTOR CORPORATION (“NATIONAL”) PRODUCTS. NATIONAL MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS PUBLICATION AND RESERVES THE RIGHT TO MAKE CHANGES TO SPECIFICATIONS AND PRODUCT DESCRIPTIONS AT ANY TIME WITHOUT NOTICE. NO LICENSE, WHETHER EXPRESS, IMPLIED, ARISING BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. TESTING AND OTHER QUALITY CONTROLS ARE USED TO THE EXTENT NATIONAL DEEMS NECESSARY TO SUPPORT NATIONAL’S PRODUCT WARRANTY. EXCEPT WHERE MANDATED BY GOVERNMENT REQUIREMENTS, TESTING OF ALL PARAMETERS OF EACH PRODUCT IS NOT NECESSARILY PERFORMED. NATIONAL ASSUMES NO LIABILITY FOR APPLICATIONS ASSISTANCE OR BUYER PRODUCT DESIGN. BUYERS ARE RESPONSIBLE FOR THEIR PRODUCTS AND APPLICATIONS USING NATIONAL COMPONENTS. PRIOR TO USING OR DISTRIBUTING ANY PRODUCTS THAT INCLUDE NATIONAL COMPONENTS, BUYERS SHOULD PROVIDE ADEQUATE DESIGN, TESTING AND OPERATING SAFEGUARDS. EXCEPT AS PROVIDED IN NATIONAL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, NATIONAL ASSUMES NO LIABILITY WHATSOEVER, AND NATIONAL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY RELATING TO THE SALE AND/OR USE OF NATIONAL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. LIFE SUPPORT POLICY NATIONAL’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS PRIOR WRITTEN APPROVAL OF THE CHIEF EXECUTIVE OFFICER AND GENERAL COUNSEL OF NATIONAL SEMICONDUCTOR CORPORATION. As used herein: Life support devices or systems are devices which (a) are intended for surgical implant into the body, or (b) support or sustain life and whose failure to perform when properly used in accordance with instructions for use provided in the labeling can be reasonably expected to result in a significant injury to the user. A critical component is any component in a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device or system or to affect its safety or effectiveness. National Semiconductor and the National Semiconductor logo are registered trademarks of National Semiconductor Corporation. All other brand or product names may be trademarks or registered trademarks of their respective holders. Copyright© 2007 National Semiconductor Corporation For the most current product information visit us at www.national.com National Semiconductor Americas Customer Support Center Email: [email protected] Tel: 1-800-272-9959 www.national.com National Semiconductor Europe Customer Support Center Fax: +49 (0) 180-530-85-86 Email: [email protected] Deutsch Tel: +49 (0) 69 9508 6208 English Tel: +49 (0) 870 24 0 2171 Français Tel: +33 (0) 1 41 91 8790 National Semiconductor Asia Pacific Customer Support Center Email: [email protected] National Semiconductor Japan Customer Support Center Fax: 81-3-5639-7507 Email: [email protected] Tel: 81-3-5639-7560