Alexander Sherekin

Faculty: Computer science and technology
Department: Computer engineering
Speciality: Computer systems and networks
Master's thesis theme: System-on-Chip Verification based on Boundary Scan
Supervisor: Ph.D. Yuri Zinchenko
Abstract of Master's thesis
System-on-Chip Verification based on Boundary Scan
Brief contents

  1. Relevance of the work
  2. Analysis of problem
  3. Goals and Objectives
  4. A review of research and development
  5. The results obtained at the time of writing the abstract
  6. Literature

Relevance of the work

The process of developing systems-on-chip (SoC) is long and complex. It requires the efforts of a large number of people, who design both hardware and software of the SoC. Occurrence of errors has a high probability because significant number of designers are involved into this process. Because of it the verification step is added to the production process. Verification and testing is in the amount of about 60% of the total design time, which proves their importance [1].

Today's pace of technology development requires similar tempos of development of verification and testing methods. One of the most popular method of verification was the guide probe method, when an analyzer, probe, was moving from one side of scheme to the other and analyzed the values in different parts of the scheme. During this moving, it made a conclusion about the presence or absence of faults. This method can easily be applied to small and medium integrated circuits (IC). Density of elements in IC has increased very quickly. So direct access to all necessary points of the scheme for the analysis was not possible. It led to the need to find radically new way of verification. And it was found in 1990. It was the standard IEEE 1149.1-1990 Boundary Scan (BS) [2]. The main function of BS was to test interconnects of IC and logic blocks within these schemes. But BS also was usable for performing the verification, testing and debugging, because it provided the opportunity to display out the scheme and observe the internal signals of the circuit.

Analysis of problem

The main part of BS technology is build-in scheme. It usually builds into the project. This scheme consists of the following elements [3]:

  • TAP-controller (Test Access Port)
  • the instruction register
  • the identification register
  • the bypass register — this register is used to disable BS in the device
  • the main circuit, it is surrounded by BS-peripheral
  • boundary-scan register — serial chain of shift registers, connected on the one hand, with external input / output integrated circuit, on the other — with the internal signals of the circuit-under-test
Also BS-standard describes five signals for the control protocol:
  • TDI — serial data input
  • TDO — serial data output
  • TMS — control of the state of TAP
  • TCK — synchronization
  • TRST — not required — reset

Together with BS was created the description language of BS-structures (BSDL — Boundary Scan Description Language). This language is used for computer-oriented description of the structure of the BS selected IP and features of this particular structure. Files written in this language used in automatic test generators [4]. BSDL-add-in can be automatically added to the project at various stages of its existence: before synthesis or after.

Considering the BS-verification products and tools, provided by Xilinx, it should be noted the system Chip Scope Pro, which includes:

  • Core Generator — IP-cores (Intellectual Property Core) generator. It implements the mechanism of interaction with the BS. The utility adds a BSDL-source code before the synthesis of the project. This code may include components such as the ILA (Integrated Logic Analyzer), ICON (Integrated Controller), VIO (Virtual Input Output), ATC2 (Agilent Trace Core 2), IBA (Integrated Bus Analyzer), and others
  • Core Inserter — similar to Core Generator, but the addition of IP-cores is performed after the synthesis of the project
  • Core Analyzer — IP-cores analyzer. It is used to monitor internal signals of verifiable scheme

The most important IP-core members of the BSDL-structure are ICON, ILA, and VIO.

ICON provides the interface between the BS-component system on the FPGA and Chip Scope Pro. ICON allows you to connect IP-core, such as the ILA, VIO. Amount of cores, which can be attached to one ICON, is 15 or less [5].

ILA — configurable logic analyzer, which is used to monitor the state of internal signals of verifiable scheme. ILA has 16 trigger ports, each of which consists of a maximum 256 signals (this count is customizable). The process of obtaining and storing data from the circuit begins automatically when you start the core. But the moment of start can be configured as desired. The condition for starting the kernel can be any logic function, which consists of the signals connected to the scheme. As soon as the specified function will be set to true, all the signals of the analyzed schemes will begin to store into the internal RAM ILA. Then all this signals pass the ICON and the JTAG port to the computer and can be displayed in the Chip Scope. Figure 1 shows the connection of ILA and ICON [6].


ILA and ICON connection
Figure 1 — ILA and ICON connection
VIO allows you to monitor and manage the internal signals of the circuit-under-test. VIO has 2 types of input and output signals — every of which is devided to synchronous and asynchronous. In each group can be from 1 to 256 signals. In contrast to the ILA, VIO does not use memory to store the values in the observed points of the circuit. The group of synchronous signals uses an internal synchronization from circuit, a group of asynchronous signals is synchronized from the port JTAG. Input signals are transmitted to the analyzer and displayed in a diagram. The output signals are set by the user and transferred into the scheme. Figure 2 shows the connection of VIO and ICON [7].

VIO and ICON connection
Figure 2 — VIO and ICON connection

We have reviewed the tools which are used for verification and testing projects based-on FPGAs from Xilinx. Now we must also determine the place of verification in the overall design process.

The first phase of design creates a behavioral model based on the specifications of the project. It is modeled and verified. Then it is synthesized. Apart from this, you create a new model in the structural, or the register (RTL — Register Transfer Level), style. At the next step we perform the comparison of two models, the behavioral and RTL. If the model works differently, we must correct an RTL model as long as the work of both models will not be identical. Then we generate tests that cover the maximum number of possible errors. At this stage it is necessary to make a choice of verification and test generation algorithm. Upon completion of the formation of test inputs and modeling, we apply them to the basic scheme and analyze it's error-coverage. If it does not satisfy the requirements of the project, we either choose another method of verification, or increase the number of tests. When this process is complete, we implement the synthesized model into FPGA. Then we test it and check whether the results of the real scheme are the same as they were in basic model.

Goals and Objectives

The aim of this work is to develop a method of verification of system-on-chip based-on Field Programmable Gate Array (FPGA). The scheme will comply with the above-described structure of the design, but more specifically disclose the nature of each phase and to optimize and facilitate the process of testing and verification. The developed scheme should take into account the peculiarities of the technology Boundary Scan and verification tools from Xilinx and use effectively all their dignity. With the help of the developed structure we must to show the entire verification process on the example of a particular device.

A review of research and development
Materials of DonNTU Masters

  1. Development of algorithms of tetsing FPGA-devices on technology BOUNDARY SCAN
    Author: Мiroshnikov Alexander
    Supervisor: Ph.D. Yuri Zinchenko
  2. Development and research of method of synthesis of tests for typical elements of replacement
    Author: Myadelets Oleksandr
    Supervisor: Ph.D. Yuri Zinchenko
  3. Development diagnostic model of FPGA — devices and syntheses tests on its base
    Author: Rytov Alexander
    Supervisor: Ph.D. Yuri Zinchenko
  4. Research and development of FPGA project verification method using guide probe methodology on the base of boundary scan technology
    Author: Eugene Astahov
    Supervisor: Ph.D. Yuri Zinchenko
  5. Working out and research of methods of testing of the FPGA-device with use technologists Boundary-Scan
    Author: Kovtun Dmitry
    Supervisor: Ph.D. Yuri Zinchenko
  6. Research and development on FPGA SPP-architecture of the control post of digital devices
    Author: Sergey Svistunov
    Supervisor: Ph.D. Irina Zelenyova
  7. Research algorithms for constructing controllers using the systems on a chip
    Author: Grudinin Aleksey
    Supervisor: Ph.D. Alexandr Barkalov
  8. Development and research FPGA-based methods and structures of hardware tests generation and analysis of test responses
    Author: Yuriy Blinov
    Supervisor: Ph.D. Yuri Zinchenko

National level

At the web-site of my supervisor Hard Club you can learn about the scientific works in subjects close to master's one.

Global level

The master's work theme is, on the one hand, actual in the world, but on the other hand, the bulk of the works on the subject are not available in the public domain. Access is granted only to brief reviews of articles.

Among the small number of available materials attention should be paid to the publication [8] and [9]. The first of these publications describes an improved structure of BS-registers, which saves space on the chip by reducing the number of internal registers, and speeds up the BS, by paralleling the process of data exchange. The second publication describes a new method for detecting faults in the PLD (Programmable Logic Device) and FPGA, using the technology of BS. From Russian sources the paper [10] should be considered. The modern means of functional verification are described in this article.

The results obtained at the time of writing the abstract

At the moment, the verification structure has been developed. According to it further verification of the project will be carried out. This structure can be divided into several parts / phases of the verification:

  • selection of HDL-editor
  • establishing a database of tests (DBoT)
  • simulation of the basic object
  • getting the base of standard test reactions (BoSTR)
  • creation of BSDL-structure. IP-cores, which are provided by the FPGA-developers
  • synthesis and debugging of the resulting model
  • module of bugs searching (MoES) creation
  • module of constructing of bugs searching graph (MoCoBSG) creation. This unit creates a bugs searching graph database (BSG DB)
  • creation of the standart test reactions storage (STRS)
  • FPGA firmwaring by JTAG
  • launching of the project and checking its correctness

Advantages of this approach are in a small amount of traffic, passed between the FPGA and PC.

Disadvantage is an inability to replace the bug searching algorithm easily, because it is hardcoded in the FPGA. If you want to replace it is necessary to flash FPGA again. But on the other hand, flashing is not a complicated process that allows you to talk about the structure as a recommended for use.

Literature

  1. Megratec. Mentor Graphics Technology [Электронный ресурс] — Электрон. дан. — 2011. — Режим доступа: http://www.megratec.ru/catalog/16
  2. IEEE Standart Test Access Port and Boundary-Scan Architecture, IEEE Std. 1149.1-1990, Joint Test Action Group (JTAG), Institute of Electrical and Electronic Engineers (IEEE), New York, May 21, 1990.
  3. Городецкий А., Курилан Л. Введение в технологию граничного сканирования // Производство электроники. — 2007. — №5. — С. 1-5.
  4. Городецкий А., Курилан Л. Язык описания структур граничного сканирования // Производство электроники. — 2007. — №7. — С. 1-6.
  5. LogiCORE IP ChipScope Pro Integrated Controller (ICON) (v1.05a) Data Sheet. June 22, 2011
  6. LogiCORE IP ChipScope Pro Integrated Logic Analyzer (ILA) (v1.04a) Data Sheet. June 22, 2011
  7. LogiCORE IP ChipScope Pro Virtual Input/Output  VIO) (1.04a) Data Sheet. June 22, 2011
  8. Xiaojun M., Jiarong T. Boundary-scan Test Circuit Designed for FPGA / M. Xiaojun, T. Jiarong // 5th International Conference on ASIC. Proceedings, 21-24 October 2003. — 2003. — P. 1190-1193.
  9. Bashar A.K. A Test Procedure for Boundary Scan Circuitry in PLDs and FPGAs // The International Arab Journal of Information Technology. — 2010. — №2. — P. 124-128.
  10. Лохов А. Обзор средств функциональной верификации компании Mentor Graphics // Современная электроника. — 2005. — №5. — С. 50-54.


Master's work is not yet complete during writing this essay. Final completion: December 2012. The full text of the work and materials on the topic can be obtained from the author or his supervisor after that date.