Tessent MemoryBIST RTL Flow
Tessent MemoryBIST RTL Flow
1
Introduction
What is BIST?
2
Introduction (continued)
3
Introduction (Tessent)
What is Tessent?
Tessent is a suite of software automation tools that generates and
inserts the Embedded Test Controllers (i.e. BIST) into Integrated
Circuits that allow self-testing and failure diagnostics of embedded
memories.
Various embedded test objects that can be inserted into your design
using the Tessent Hierarchical Integrated Flow tools include the
following:
• Memory BIST controllers
• LogicTest controllers (LBIST)
• Boundary scan registers
• IEEE 1149.1 Circuit test access port (TAP)
• IEEE 1500 Core wrapper test access ports (WTAP)
4
Introduction (Tessent)
5
How to insert MBIST into Integrated Circuits
GATE
6
RTL Design Flow (overview)
7
GATE-Level Design Flow (overview)
8
Getting Started: Tessent MemoryBIST flow (overview)
9
Getting Started: Tessent MemoryBIST flow (contd)
10
Preparation: What do you need to begin?
11
Preparation: Generating the LogicVision Scan Models
etlibgen gf28 \
-mode nonScan \
-libertyFile <technology>.lib \
-y ./verilog \
-scanmodelExtension scan \
-configFile gf28.etlib
Once you have prepared your work area; and setup the
library models you need, we can now begin the individual
steps for the RTL flow.
12
Step One: ETChecker
13
Step One: ETChecker
2.make <design>.clockInfo
Extracts clock information from the design
Review the following log and report files:
etCheckInfo/etchecker.log_clockInfo
etCheckInfo/etchecker.rpt_clockInfo
Review the following design output files:
etCheckInfo/etp/<design>.etpClockTree
etCheckInfo/etp/<design>.etpClockDomainInfo
etCheckInfo/etp/<design>.etpConstraints
14
Step One: ETChecker (success)
3.make <design>.ruleCheck
Performs design rule checks (DRC) on the design
Review the following log and report files:
etCheckInfo/etchecker.log_ruleCheck
etCheckInfo/etchecker.rpt_ruleCheck
15
Step Two: ETPlanner
16
Step Two: ETPlanner (Global Definition Files)
17
Step Two: ETPlanner (Global Definition Files - contd)
1. ICTechnology file:
Specifies the directory path location of all required technology libraries,
such as: Verilog simulation models, LogicVision scan models, Synthesis
models, etc.
2. CADEnvironment file:
Specifies the default simulator (example: Cadence NCVerilog, Synopsys
VCS, Mentor Graphics ModelSim), and the simulation commands you want
to use (example: ncxlmode, vcs, vlog).
Specifies the synthesis tool to be used (example: Synopsys DC-Compiler)
Specifies the command to create directories (example: /bin/mkdir)
Specifies the command to create soft links (example: /bin/ln –s)
3. ETDefaults file:
Defines all embedded test defaults for Memory BIST and Logic BIST; such
as diagnostic features, power limits, algorithm selection, etc.
18
Step Two: ETPlanner
19
Step Two: ETPlanner (contd)
Embedded Test
Global Options
Module Options
MemBistControllerOptions
MemBistStepOptions
MemBistCollarOptions
20
Step Two: ETPlanner (contd)
3.make genLVWS
Verifies the Embedded Test Plan
Generates the LVWorkSpaces for the implementation of the plan
21
Step Two: ETPlanner (flow)
22
Step Two: ETPlanner (success)
23
Review of Rule Checking and Planning
At this point of the flow, let’s review the steps we have just
completed:
a) Step One: ETChecker
Checked the design for Embedded Test compliance
Executed in two (2) modes: “clockInfo” and “ruleCheck”
Success was demonstrated by the generation of the file
<design>.etCheckerInfo in the etcHandoff directory
24
Step Three: ETAssemble
25
Step Three: ETAssemble
1. make embedded_test:
Generate and insert the WTAP, memory BIST controllers into your design
The generated BIST files are written into the ./outDir directory, verify that
they exist (i.e.: *.v), and also the timing constraint files (i.e. *.sdc)
Review log file: ./outDir/etassemble.log to make sure no error
messages are reported, and warning messages are understood.
2. make mbist_full_sim:
Run a full address simulation using the memory assembly module to verify
the memory BIST controllers are operating correctly
Review the log file:
./outDir_etv/verilog.log_membistv_P1_<design>_int_MBIST_asse
mbly_rtl
3. make designe:
Generate the <design>.tcm file, and extract connection information
Review the log file: outDir/designe.log_<design>
26
Step Three: ETAssemble
4. make config_etSignoff:
Generate the <design>.signoff testbench configuration file, which is
required to perform early verification of all Embedded Test features.
Review the log file: ./outDir_etv/etv.log_config_etSignOff
5. make lvdb_prelayout:
Generate the pre-layout circuit database
Review the log file: ./outDir_etv/etv.log_CreateLVDB
6. make testbench:
Generate the testbench based on (#4.) above for early verification
Review the log file: ./outDir_etv/etv.log_testbench
7. make sim:
Simulate the testbench created in (#6.) on the entire RTL design with the
embedded test controllers
Review the log files: ./outDir_etv/verilog.log_wtapbist_DP1 and
./outDir_etv/verilog.log_membistv_P1_<design>
27
Step Three: ETAssemble (success)
28
Step Three: ETAssemble (success contd)
3. Verify and review the generated Timing constraints for the MBIST
controller: ./outDir/<design>_etassemble.sdc
29
Step Four: Pre-Layout ETSignOff
1. Synthesis:
Generate GATE-level synthesized netlist by synthesizing the RTL
Original RTL files (*.v), plus the Tessent modified RTL files (*.v_et)
Generated MemBIST controller RTL files (*.v)
Generated WTAP RTL files (*.v)
Consolidate the timing constraints for synthesis:
Functional SDC
MemBIST Controller SDC [from (#1.) in the Step Three]
2. Formal Verification:
Execute formal verification on the RTL-to-RTL netlist
GOLDEN: Original RTL files (*.v)
REVISED: The Tessent modified RTL files (*.v_et)
Execute formal verification on the RTL-to-GATE netlist
GOLDEN: Original RTL (*.v), plus Tessent modified RTL (*.v_et) files
REVISED: pre-layout synthesized GATE-Level netlist
30
Step Four: Pre-Layout ETSignOff (success)
3. Simulation:
Perform simulation on the pre-layout synthesized GATE netlist [from
(#1.) in step four] to ensure the testbench validates the WTAP and MBIST
operation of the BIST Controller, Collars and Memories.
4. Hand-Off to Layout:
Prepare the database to hand-off to Layout
31
Step Five: Post-Layout ETSignOff
1. Formal Verification:
Execute formal verification on the RTL-to-GATE netlist
GOLDEN: Original RTL (*.v), plus Tessent modified RTL (*.v_et) files
REVISED: post-layout Synthesized GATE-Level netlist
Execute formal verification on the GATE-to-GATE netlist
GOLDEN: pre-layout synthesized GATE-Level netlist
REVISED: post-layout synthesized GATE-Level netlist
2. Simulation:
Perform parasitic back-annotated simulation on the post-layout GATE
netlist to ensure the testbench validates the MBIST operation of the BIST
Controller, Collars and Memories.
32
Step Five: Post-Layout ETSignOff (success)
33
Reference Methodology Database Location
34
Acknowledgements
THANK YOU
35