Professional Documents
Culture Documents
Lab 2.2
Tessent TestKompress Integration Flows
Post-Synthesis Internal Logic Flow
The terms and conditions governing the sale and licensing of Mentor Graphics products are set forth in
written agreements between Mentor Graphics and its customers. No representation or other affirmation
of fact contained in this publication shall be deemed to be a warranty or give rise to any liability of Mentor
Graphics whatsoever.
MENTOR GRAPHICS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE.
MENTOR GRAPHICS SHALL NOT BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL, OR
CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING BUT NOT LIMITED TO LOST PROFITS)
ARISING OUT OF OR RELATED TO THIS PUBLICATION OR THE INFORMATION CONTAINED IN IT,
EVEN IF MENTOR GRAPHICS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
U.S. GOVERNMENT LICENSE RIGHTS: The software and documentation were developed entirely at
private expense and are commercial computer software and commercial computer software
documentation within the meaning of the applicable acquisition regulations. Accordingly, pursuant to
FAR 48 CFR 12.212 and DFARS 48 CFR 227.7202, use, duplication and disclosure by or for the U.S.
Government or a U.S. Government subcontractor is subject solely to the terms and conditions set forth
in the license agreement provided with the software, except for provisions which are contrary to
applicable mandatory federal laws.
TRADEMARKS: The trademarks, logos and service marks ("Marks") used herein are the property of
Mentor Graphics Corporation or other parties. No one is permitted to use these Marks without the prior
written consent of Mentor Graphics or the owner of the Mark, as applicable. The use herein of a third-
party Mark is not an attempt to indicate Mentor Graphics as a source of a product, but is intended to
indicate a product from, or associated with, a particular third party. A current list of Mentor Graphics’
trademarks may be viewed at: www.mentor.com/trademarks.
End-User License Agreement: You can print a copy of the End-User License Agreement from:
www.mentor.com/eula.
Telephone: 503.685.7000
Website: www.mentor.com
Lab 2.2 Tessent TestKompress Integration Flows – Post-Synthesis Internal Flow ..................................6
Exercise 1: Post-Synthesis Internal Logic Creation .................................................................................. 8
Tessent TestKompress 3
Before you Begin
If this is the first time you are launching this VM (Virtual Machine), you must download and extract
the lab data as described in the "Obtaining Lab Data section below.
Caution
Whenever you are using the VM for lab exercises and are finished with your session, please use the
"Disconnect" feature of the Desktop Viewer before the VM times out to preserve the data from one
session to the next. Failure to do so will remove the VM, and its contents.
If the VM was removed, you will be presented with a new VM requiring you to follow the download
and extract process. This allows you to "refresh" the lab data so you can go through the labs again
with a new database.
If this is the first time you are starting a session for this VM, the tk_data directory will not be in the
home directory and you will need to download and extract it using the following instructions.
1. Double click on the Desktop icon Download_lab_data, . This launches a web browser.
3. In the resultant window, select the Download button, enable the Save File button, then select the
OK button to download the file.
Move the file in the Downloads directory to the home directory. If you are using the terminal
(Applications>Favorites>Terminal) you can use the following command:
mv ./Downloads/tessent_tk_data_v2020.1_20200818.tgz .
4. In a terminal window, extract the files from the compressed tar file using the command:
Tessent TestKompress 4
You should now have a directory named tk_data in your $HOME directory. That directory contains all
the files you need to perform the exercises, in this learning path.
Tessent TestKompress 5
Lab 2.2
Tessent TestKompress Integration
Flows – Post-Synthesis Internal Flow
This lab introduces the TestKompress post-synthesis internal logic creation flow.
In this lab, you start with a gate-level, non-scan netlist, insert scan chains using Tessent Scan, create
Tessent TestKompress (EDT) IP, and then generate and verify test patterns for both compression and
(optional) bypass modes.
Notice that this exercise has its own subdirectory and common directories are used for netlists,
generated files, and transcripts.
Introduction
Tessent TestKompress 6
Design
In this lab, you use a Verilog gate level netlist for the Microchip PIC 16CCC5X micro controller. You go
through the design flow from scan insertion to simulation of compressed (EDT) test patterns.
Compression Results
Compression is described in using two terms The compression ratio is equal to
<number of external scan channels> : <number of internal scan chains> . The data compression is
calculated using the results of report_scan_volume for non-compressed patterns, and dividing that by
the results of report_scan_volume for the compressed pattern set. The design used for this lab is very
small; therefore, the compression will be relatively small.
Tessent TestKompress 7
Tessent TestKompress Integration Flows
Post Synthesis Internal Logic Creation
Background
In the external flow that we looked at in Lab 2.1, a new level of hierarchy was created, and the EDT IP
connections were connected to newly created port definitions.
In the internal flow, the EDT IP will be inserted into an existing level of hierarchy, and EDT IP connections
can be specified to existing logic (i.e. pipelines) and for existing ports/pads/pins. Figure 2.2-1 shows a
block diagram of the results of the internal flow at both a module and top-level implementation.
These examples show that the EDT IP can be specified to connect to existing logic and existing pads.
The internal flow generates and inserts the EDT IP into the module hierarchy. This usually results in
shorter synthesis run times. Refer to Figure 2.2-2 and Figure 2.2-3 for an illustration of the default
Tessent TestKompress-based EDT Logic insertion flow and the Synopsys DC-based EDT Logic insertion
flow and the.
Tessent TestKompress 8
Tessent TestKompress Integration Flows
Post Synthesis Internal Logic Creation
Tessent TestKompress 9
Tessent TestKompress Integration Flows
Post Synthesis Internal Logic Creation
Instructions
You will use the Tessent Scan on the non-scan synthesized netlist and insert 20 scan chains.
1. Go to the directory 1_insert_scan for this lab and review the files in this directory.:
Tessent TestKompress 10
Tessent TestKompress Integration Flows
Post Synthesis Internal Logic Creation
$ cd $TK_LABS/Lab2.2/Exercise1/1_insert_scan
2. Examine the scan.do setup script. Notice how the internal nodes are specified for connection of
test enable. The scan chain inputs and outputs by default will be connected temporarily to new
input and output pins. These connections are removed during synthesis of the EDT IP, and
connected to the output of the decompressor and input of the compressor.
3. Use to invoke Tessent Shell and run the Tessent Scan dofile to insert scan chains.
$ ./insert_scan
4. Examine the transcript or logfile and verify that the netlist, dofile, and test procedure files were
written.
Instructions
1. Go to the directory 2_edt_ip for this lab:
$ cd $TK_LABS/Lab2.2/Exercise1/2_edt_ip
2. Invoke Tessent TestKompress:
3. Set the context to dft -edt, read in the Verilog file and cell library file, and set the top of the
design.
Tessent TestKompress 11
Tessent TestKompress Integration Flows
Post Synthesis Internal Logic Creation
Notice that two names are specified per pin: the top-level pin name, as well as the connection of
the pad where the internal signal is connected.
SETUP> report_edt_pins
Correct any errors before moving on to the next step.
8. Run DRC and if it runs without errors the mode will be changed to ANALYSIS.
SETUP> check_design_rules
Notice the messages describing the EDT rules in the transcript.
Tessent TestKompress 12
Tessent TestKompress Integration Flows
Post Synthesis Internal Logic Creation
You should be somewhat familiar with E5 and D5 violations from using Tessent FastScan.
However, if you are not familiar with DRC violations, you should look in the Tessent Shell
Reference Manual to find out what these violations are.
K rules are DRC rules specific to Tessent TestKompress. K rule violations are discussed in more
detail in another module.
SETUP> report_drc_rules k8
What does the K8 rule report?
______________________________________________________________________________
____________________________________________
The warning about the bi-directional channel input pin warns us to ensure this pin is in input
mode when scan enable is active.
10. Verify the configuration and create the Tessent TestKompress logic:
ANALYSIS> report_edt_configurations
ANALYSIS> write_edt_files ../results/created -verilog \
-replace -insertion ts
Tessent TestKompress 13
Tessent TestKompress Integration Flows
Post Synthesis Internal Logic Creation
INSERTION> exit
created_edt_top_gate.v
Instructions
Although you do not synthesize the design in this step, you should understand what files are used in
synthesis and how they interact.
$ cd $TK_LABS/Lab2.2/Exercise1/results
2. Examine the synthesis script created_dc_script.scr generated by Tessent TestKompress.
Tessent TestKompress 14
Tessent TestKompress Integration Flows
Post Synthesis Internal Logic Creation
$ ls
$TK_LABS/Lab2.2/Exercise1/design/created_edt_top_gate.v
This netlist is used in the next step.
Instructions
Use the same method used in Lab2.1 to generate test patterns for the design. You can use the dofile and
invocation script available in the directory for this step.
After Tessent TestKompress has finished, open the log file or look at the transcript and answer
the following:
How many scan cells does the longest chain have? ____________________
4. Examine the EDT configuration and fill in Table 2.2-1 and Table 2.2-2
Tessent TestKompress 15
Tessent TestKompress Integration Flows
Post Synthesis Internal Logic Creation
Config. Value
IP version
Shift cycles
Masking bits
Decompressor size
Compactor type
Scan cells
Clocking
Compactor pipelining
chain_test
basic
total
Tessent TestKompress 16
Tessent TestKompress Integration Flows
Post Synthesis Internal Logic Creation
Instructions
This is the same method used for the Bypass Mode Pattern Generation in Step 5 of Lab 2.1. Change to
the directory 5_bypass_pattern. You can use the dofile and invocation script available in the directory
for this step.
The file run_tk_bypass file invokes the dofile bypass_pattern_gen.do. Open this dofile and make
sure you understand what it does.
$ ./run_tk_bypass
Chain_test
basic
total
Tessent TestKompress 17
Tessent TestKompress Integration Flows
Post Synthesis Internal Logic Creation
Using the Total Volume data from Table 2.2-2 and 2.2-3 calculate the data compression for this design.
The equation to use is:
Tessent TestKompress 18
Tessent TestKompress – Lab Answers
Lab 2.2
36
82
21
Q. What is an E5 violation?
When the application places constrained states on constrained pins and binary states
on PIs and scan cells, X states must not propagate to an observable point. Failure to
satisfy this rule will result in the risk of X states propagating to an observable point.
Tessent TestKompress 19
Tessent TestKompress – Lab Answers
Step 4
Config. Value
IP version 7
Shift cycles 46
Masking bits 21
Decompressor size 16
Clocking edge-sensitive
chain_test 12 12 2208
Tessent TestKompress 20
Tessent TestKompress – Lab Answers
Q. Scan Chains : 4
chain_test 1 1 720
Tessent TestKompress 21