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].
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].
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.
|