A VHDL Implementation of BIST Technique in UART ...

47 downloads 0 Views 384KB Size Report
a system on chip due to the complexity to determine stuck at logic error using ..... Albrecht P. Strode, and Hans-Joachim Wunderlich,. “Hardware-Optimal Test ...
A VHDL Implementation of BIST Technique in UART Design Mohd Yamani Idna ldris Mashkuri Yaacob Faculty of Computer Science and Infonnation Technology University of Malaya Kuala Lumpur, Malaysia -s'tt11.1tlt(~t I I I I I t d t I

1111, I I I ' I \ ~ ~ U Ilir(,unt

A h s t r m t - To increase reliability, manufacturers must be able to discover a high percentage of defective chips during their testing procedures. This paper will highlight the attention given by most customers who are expecting the designer to include testability features that will increase their product reliability. This paper focuses on the design of a UART chip with embedded Built-In-SelfTest (BIST) architecture using FPGA technology. The paper starts by describing the behavior of UART circuit using VHISC IHardware Description Language (VHDL). In the implementation phase, the BlST technique will be incorporated into the UART design before the overall design is synthesized by means of reconfiguring the existing design to match testability requirements.

1. INTRODUCTION

-

A universal asynchronous receive/transmit (UART) [ I , 2 and 31 is an integrated circuit which plays the most important role in serial cominunicatioii. It handles the conversion between seIial and parallel data. Serial comniunication reduces the distortion of a signal, therefore makes data transfer between two systems separated in great distance possible (i.e. hundreds of feet and millions of miles apart). The embedded BlST architecture provides opportunities for the sharing of system and test logic. BlST is a method of self-testing on a system on chip due to the complexity to determine stuck at logic error using conventional methods such as bed of nails. The technique proposed for BlST architecture in this paper is built-in-logic-block-observer (BILBO). The BILBO tcchnique has been recognized as a method that can help to reduce the test and maintenance cost of chip production. It offers advantages concerning fault covcrage, detection of delay faults, and test application time [4]. By implementing BILBO architecture to a design. an external tester feature, such as a test pattern generator (TPG) and an output response analyzer (ORA) will be cmbedded into the part that contains the circuit rinder test (CUT). This can be done since BILBO can act as a shift register, a linear feedback shift register (LFSR) 0-7803-765 I-X/O3/$17.00 02003 IEEE

ctlutnl

and a multiple input signature register (MISR) depending on its operating mode [5]. BILBO testability technique can provide shorter test time compared to an externally applied test and allows the use of low-cost test equipment during all stages of production.

2. VHDL IMPLEMENTATION As integrated circuit technology has become more complex, detailed design of systems at the gate and flipflop level has become very tedious and time consuming. For this reason, use of hardware description languages in the digital design process has significantly improved in the last few years, especially for FPGA design. A hardware description language allows a digital system to be designed and debugged at a higher level before conversion to the gate and flip-flop level. One of the most popular hardware description languages is VHISC hardware description language (VHDL) [6]. I t is used to describe and simulate the operation of a variety of digital systems, ranging in complexity from a few gates to an interconnection of inany complex integrated circuits. There are inany excellent hardware description languages (HDL) were prior to VHDL but VHDL offers a number of benefits over other HDL's [ 7 ] . A number of the advantages are: i. ii.

...

111.

iv. v. vi.

VIHDL as a Standard Language Increase productivity Better design Reusability for new technology Tools independence Minimum cost 2nd time

2.1 VHDL nnd BIST It is becoming increasingly coininon for design for testability (DFT) issues to be addressed at design reviews prior to circuit tape-out approval. Previously, in the age of schematics, this often require design and test engineers to sift through pages of-manuals and data sheets looking for things like asynchronous setheset circuit

Poster Papers / 1451 configurations. derived or internally generated clocks, and combinatorial arid sequential feedback loops. The review inevitably occurred late in the design cycle: adversely affecting project schedules if glitches were found, and making for ail uncomfortable process for the circuit designer. With today’s design practices, however, schematics are niostly outdated [SI. Designers can take inore coiitrol of the DFT rcvicw by performing DFT rule checking at the register transfer language (RTL) (VHDL) level. I-lowevcr, finding DFT problems in language-based designs is still not a simple task for humans. Thc acceptance of tho design for test iechniques has been largcly due to the possibility of VHDL siippoit to this design style. I t is desirable to eventually have availablc a IjIS1‘ approach with similarly VI IDL support. The high dcgrw of st:intlardizatioti makes possible to have most testability feature prcviotisly added to a dcsign using VIHDL.

(MISR). The test starts with the initialization of the BILBO by applying a “seed” to its serial-in (si) pin. The initialization can be obtained by configuring BILBO’s operating mode (“bilbo-modc”) to “00” (shift register mode). Following the initialization, the bilbo-mode is set to “01” so that “Register A” is configured as LFSR (“bilbo-mode” = “01”) and Register B as MISR (“bilbo-mode” = “ I I ” (Note: XOR force “01” to “1 I”)).

_.

”. Ir

*.

n

1.

3. UART WITH BILBO REGISTER AND

TEST E R The problem of testing scquential network is simplified by observing thc state of all thc flip-flops instead of‘just observing the outputs. For each state of the flip-flops and for each input combination, the network outputs need to bc vcritictl :ind goes to the correct next state. Onc approach \ w ” d be to conncct thc output of each tlip-tlop w i t h i n the IC being-tested t o otic of the IC pins. Sincc the number of pins on the IC is limited, this approach is nor practical. The solirti’on to the question is by arranging tlip-tlops to form a shift register. The state of the flip-flop will be shifted out bit-by-bit using a single scrial-output pin on the IC. This is called scan path tcs t i ng . L31L130 is a scan register that can be modified to serve iis ii state register, a pattern generator, a signature register. or ii shift register. I n summary the BILBO operating modcs arc rcprcsentcd as follows [ 6 ] :

U1 B2

Operating Mode

00

Shift register LFSRIPRPG No rnia 1 MISR

01

IO I1

Fiyirc I : 1311,BO Operating Modes

Figure 2: UART with BILBO Register and Tester “Register A” (LFSR) produces an %bits pseudo random pattern data in parallel. The parallel data is then fed to the UART’s transmitter. The UART converts the pseudo random parallel data to serial data which is then looped back to its receiver to create an internal diagnostic capability. The UART’s receiver converts the serial data back to parallel and will be accepted by “Register B” (MISR). A signature will be produced after 255 clock iterations (8 data bits produce 2‘ = 256 PRPG) and this completes the test. The signature is scanned out from serial output (so) pin by configuring bilbo-mode to “00”. Following the scan. i t is compared with the correct signature achieved from the simulation of the entire selftest sequence approach i n a tester. If the signaturc produced by MISR is similar to the correct. signature, i t ’ can be concluded that the UART is working properly.

4. SIMULATION During BILBO’s normal mode (BI B2 = IO), the chip will act as a normal UART chip. The transmitter and receiver simulation under nomial mode will be shown next. The simulation of UART under testing mode will be carried out in the following section. 4. I UART Normul Mode

Figure 2 illustrates how to apply BlLBO registcrs to test the UART design. I n this structure, “Rcgistcr A” and “Register B” may be configured by mode control (“bilbo-mode”) signal to act as either a shift register. a test pattein generator (PRPG). normal application mode function (normal) or a data compressor

4.1. I Trrmsnii!tcrSiniiiltrtioii The simulation will show the transmission of an 8-bit UART frame format with 1 stop bit and without a parity bit. The transmission was set by the user to perform

TENCON 2003 / 1452 at 115.2kbps using 40MHz clock, which is equal to 25ns (1/40MHz = 2511s) period.

................................................................................................................ ....... ........ ........I..--'--'..$.. ..... ......... ................

*

..........

..............

..................................................................

.......

8 ........I .......... ........

.............. ......

I'

Figure 5: BlST Setup

Figure 3: Serial 8-bits Data Transmission at TXD

E''#

Figure 3 shows the signal results of the 8-bit transmission via DATA[7:O]. The data ("00000 1 1 1 transmitted UART frame format can be observed at TXD ( I low start bit, 8 data bits (LSB to MSB), and 1 high stop ~. I bit). The 3-bit high data is equal to 2 6 . 0 5 ~ 1Therefore data bit is equal to 26.05us/3 = 8 . 6 8 ~ s . From this information, the baud rate can be calculated as 1/8.68us, which is equal to 115,207 = 115.2k.

...I...+.

....

...... ......

.................................................. I

4.1.2 Receiver Sindution

........................................................................................

.................................................................................... .;...... ...................................................

I

Figure 6: BILBO Acts as a Shift Register

+..................

Figure 4: 8-bits Data Received at DATA[7:0] when Data

Output Enabled. Internal Data Received at S-RXDATA.

Figure 4 shows how an S-bit serial data from RXD is received. The data consists of 4 high bits and 4 low bits ( 1 bit = 8.675~s).The data is then converted to 'parallel S-RXDATA at 9 3 . 0 1 ~ s . S-RXDATA is the internal parallel data received at the receiver. The output of the received parallel data is then routed to DATA[7:O] output's pin. The parallel data will be activated when the data output is enabled (s-dataoe = '0'). The received data can be observed between the high impedance "ZZI," at DATA[7:O] (if the time/div is widened).

T o start the test. the BILBO-MODE (bcfore 3us) is set to "10; to operate in normal mode. From 3us to 13us, the BILBO-MODE is set to "0O1