Synthesis Test Programmable Logic

Slides:



Advertisements
Similar presentations
Z. Stamenković 1, M. Giles 2, and F. Russi 2 1 IHP GmbH, Frankfurt (Oder), GERMANY 2 Synopsys Inc., Mountain View, CA, USA 13th IEEE European Test Symposium,
Advertisements

Field Programmable Gate Array
FPGA (Field Programmable Gate Array)
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
Copyright 2001, Agrawal & BushnellLecture 12: DFT and Scan1 VLSI Testing Lecture 10: DFT and Scan n Definitions n Ad-hoc methods n Scan design  Design.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
Xilinx CPLDs and FPGAs Module F2-1. CPLDs and FPGAs XC9500 CPLD XC4000 FPGA Spartan FPGA Spartan II FPGA Virtex FPGA.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Survey of Reconfigurable Logic Technologies
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
Programmable Logic Devices
PLD Technology Basics. Basic PAL Architecture DQ Q CLK OE Fuse.
Evolution of implementation technologies
Programmable logic and FPGA
February 4, 2002 John Wawrzynek
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
General FPGA Architecture Field Programmable Gate Array.
EET 252 Unit 5 Programmable Logic: FPGAs & HDLs  Read Floyd, Sections 11-5 to  Study Unit 5 e-Lesson.  Do Lab #5.  Lab #5a due next week. 
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
EE4OI4 Engineering Design Programmable Logic Technology.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
CAD for Physical Design of VLSI Circuits
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 4 Programmable.
Section II Basic PLD Architecture. Section II Agenda  Basic PLD Architecture —XC9500 and XC4000 Hardware Architectures —Foundation and Alliance Series.
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Introduction to Programmable Logic Devices John Coughlan RAL Technology Department Electronics Division.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
PROGRAMMABLE LOGIC DEVICES (PLD)
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
Testing of integrated circuits and design for testability J. Christiansen CERN - EP/MIC
High-Level Interconnect Architectures for FPGAs Nick Barrow-Williams.
Introduction to Programmable Logic Devices Edward Freeman STFC Technology Department Detector & Electronics Division.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
J. Christiansen, CERN - EP/MIC
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
Programmable Logic Devices
Logic BIST Logic BIST.
Introduction to Programmable Logic Devices John Coughlan STFC Technology Department Detector & Electronics Division.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Basic Sequential Components CT101 – Computing Systems Organization.
ECE 3110: Introduction to Digital Systems Introduction (Contd.)
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
Survey of Reconfigurable Logic Technologies
ECE 3110: Introduction to Digital Systems Introduction (Contd.)
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
-1- Soft Core Viterbi Decoder EECS 290A Project Dave Chinnery, Rhett Davis, Chris Taylor, Ning Zhang.
Introduction to ASICs ASIC - Application Specific Integrated Circuit
Sequential Logic Design
ASIC Design Methodology
Electronics for Physicists
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
Timing Analysis 11/21/2018.
Digital Fundamentals Tenth Edition Floyd Chapter 11.
VHDL Introduction.
HIGH LEVEL SYNTHESIS.
Electronics for Physicists
THE ECE 554 XILINX DESIGN PROCESS
Lecture 26 Logic BIST Architectures
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

Synthesis Test Programmable Logic joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

RTL Synthesis Behavioural Behavioural synthesis RTL RTL synthesis Logic Place and route Layout VHDL was intended for documentation and simulation. More and more used for design. It’s only possible to synthesise a subset. VHDL and Verilog are the most common HDL (Hardware Description Languages). VHDL is the most growing. Synthesis of hardware corresponds to compiling software. VHDL Synthesis (+constraints) Library Reports joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

RTL Synthesis, Synthesis and Optimisation Generic schematics Optimization + technology mapping Netlist (+reports) Result OK? RTL-VHDL Library Timing and area constraints Not OK Optimise for Area or Speed # of gates Speed (ns) Fastest 487 4,5 Smalest area 69 10,8 joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

RTL Synthesis, Constraints Design rules Timing constraints Area constraints If we design wholly synchronous, only the timing constraints have to be specified for the I/O pins at top level (+ clock frequency)! Always to be specified Clock inputs and their period Input delays relative to the clock Output delays relative to the clock Pin-to-pin delays Any false path Supply voltage Temperature range This can be done in Leonardo. Do this in the project. Show differences between speed optimised and area optimised. joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Timing constraints What can we do if we find that the delays are too long compared to clock period? We have set-up violation! Choose a faster circuit. But if only one data path is too slow this may be uneconomical. We can use pipelining. Se later Max delay <Tclk-Tsetup-Tdelay-clock scew Tclk = 50 ns clock scew = 0,5 ns Tsetup = 1 ns Tdelay = 1 ns Max delay < 50-1-1-0,5=47,5 & & clk (50 ns) joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits Input and output delay input delay & clk (50 ns) d_in setup 1 ns max delay? joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits False path Some paths have no impact on timing e.g. test inputs / outputs. The path shall be excluded from constraints! False path command. & a b False path joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Hold violation Minimum timing constraints are not always enough! There are always both routing delays and clock skews. In this example there is a hold violation of 0,1 ns. Optimizing tool must solve it. How? Hold time 0,1 ns after clock Delay time 0,4 ns routing delay 0,1 ns clk skew 0,5 ns clk joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Hold violation Optimizer adds a delay! If we don’t have hold time violation it’s possible to write like this: a(7 downto 1)<=a(6 downto 0); Hold time 0,1 ns after clock Delay time 0,4 ns routing delay 0,1 ns delay 0,2 ns clk skew 0,5 ns clk joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Design methods, Pipelining What can we do if we find that the delays are too long compared to clock period? We have set-up violation! Choose a faster circuit. But if only one data path is to slow this may be uneconomical. We can use pipelining. & clk (20 ns) delay (30 ns) Problem Tdelay>Tclk-Tsetup joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Design methods, Pipelining Pipelining: we divide the delay into two or more steps where each step is short enough to avoid set-up violation. But we introduce latency! More clock cycles are required. The clock frequency can be increased. The throughput increases. We have to pay with more “silicon”. & clk (20 ns) delay (15 ns) No set-up violation joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Verification of designs Verification methods Formal verification (mathematical methods). Equivalent checkers. Compare two designs. Compare design with executable specification. Coming! Simulations of design entities from components to systems. Test benches are used. Static timing analysis Prototypes in FPGAs for ASIC designs joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Verification, Testbenches in VHDL. There are three verification steps during development: The behavioural model verification The RTL VHDL model verification Gate level verification both before and after layout Testbenches can be used in all three steps. Simulations! VHDL test bench simulations VHDL behavioural model VHDL RTL model Gate level e.g. VITAL Simulation outputs e.g. test vectors to be used in Tests joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Verifying the design Inputs+outputs = functional test vectors A B Testbench VHDL comp ”signal gener.” VHDL comp ”logic analyser” Computer VHDL ”prototype” A B Verification with a testbench (A and B) in the computer joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits Test We test physical components and systems (SoC / MCM / PCB) to find faults related to production processes Internal faults Bonding faults Package faults joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits Test More complex circuits will require longer test times 1 Combi-national net 225 combinations => 3 seconds at 10 MHz 25 1 Combi-national net 250 combinations => 3 years at 10 MHz 50 joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

! Test More complex circuits will require longer test times 1 Sequential net 50 states ! 250+25=275 combinations => 114 million years at 10 MHz 25 joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits Testable If a circuit shall be testable every node in the circuit must be: Controllable: An internal node is controllable if it can be driven to any value. Observable: An internal node is observable if its value can be predicted and propagated to a circuit output for it to be checked. joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits Fault models + stuck to one break & short circuit stuck to zero & short circuit joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Test patterns The inputs and outputs to and from a test object are called TEST VECTORS. Test vectors Functional From Test benches From ATPG Automatic Test Pattern Generator ATPG = Theoretical methods to give high fault coverage joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Structured method, Scan technique Model for sequential logic. Compare with a state machine! Com-binational logic Register Scan_out Scan_in Clk Test joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits Scan cell From scan_out on previous FF ck q d reset scan_in ck q scan_enable d reset Synthesis tool To scan_in on next FF Common scan_enable Test vectors from ATPG joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Design rules for ATPG (examples) scan_in Q clk scan_enable D reset Include scan cells This can be automatically done by synthesis tools for ASICs 1 Avoid combinational feed back (asynchronous design) 2 Not controllable! joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Design rules for ATPG (examples) clk Not controllable clock 3 Not controllable! clk Not controllable clock (gated clock) 4 Not controllable! joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Design rules for ATPG (examples) reset Not controllable asynchronous reset 5 clk No clock on data input 6 clk joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Test of “systems”. Boundary scan PCB with high density of components and MCM (Multi Chip Modules) are hard to test with conventional methods (test fixtures with needles) Boundary Scan: Every IO-pin shall have an alternative function: A Boundary Scan Cell. The BS-cells in different circuits are connected in chains. Test pattern can be shifted in and shifted out (controllabe and observable) Comp 1 BS cells Comp 3 BS cells Comp 2 BS cells Comp 4 BS cells joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Test of “systems”. Boundary scan Many circuits have built in BS (e.g. FPGAs) The standard for BS is IEEE 1149 (JTAG) Instructions to the BS cells are shifted in to the BS Engine (TAP-controller = State machine). (TDI, TDO, TMS, TCK) Comp 1 BS cells Comp 2 Comp 3 Comp 4 TAP joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Place & Route Load circuit Mentor HDL Design Browser VHDL source Compiler/ Simulator Synthesis Mentor Leonardo Mentor Modelsim Logical blocks Netlist (.edif) Place & Route Load circuit Xilinx CPLD/ FPGA Xilinx Foundation Bit map for programmable links Use physical blocks and inter connections joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Customer Integrated Circuits ASIC Gate Array Std Cell Full Custom (F)PLD FPGA PAL CPLD PLD SoC SoPC ASIC = Application Specific Integrated Circuit Gate Array = Prefabricated wafer with logic+added interconnections (metal layers). Vol > 10k Standard Cell = Library with components (e.g. gates, multiplexors, flip-flops). Precompiled on transistor level. Vol >100k Full Custom = Transistor level design. Used for analog circuits. SoC = System on Chip. Processors and logic on chip. FPLD = Field Programmable Logic Device. FPGA = Field Programmable Gate Array. >1 milj gates! PLD = Programmable Logic Device CPLD = Complex PLD. <10k gates SoPC = System on Programmable Chip joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits Programmable logic PLD technology Fuse Flash RAM Antifuse Fuse: Oldest technique. Metal links are used as connection points and they are broken by programming currents. Flash: Flash ROM cells are used to control the transistors at the connection points. Non volatile and reprogrammable. Used in CPLDs. 10k gates. RAM: Static RAM cells are used to control the transistors at the connection points. Volatile and must have external memory for data pattern. Used in the biggest FPGA (milions of gates). Antifuse: Antifuses are created when currents flow through a amorphous silicon connection wich is transferred from an insolator to a connector. Non volatile and used in medium sized FPGA. joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits PLD technology Fuse Flash RAM Antifuse Connection RD/WR Connector 1 Connector 2 Data SRAM memory on off Product term Connection Floating gate transistors off on amorphous Si crystaline Si Transferred from amorphous to crystaline Si by current injection joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits Some slides from this book from Xilinx joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits Two programmable planes Any combination of ANDs/ORs Sharing of AND terms across multiple ORs Highest logic density available to user High Fuse count, slower than PLAs Programmable Logic Array - PLA joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits One programmable plane – AND / Fixed OR Finite combinations of ANDs / ORs Medium logic density available to user Lower Fuse count, Faster than PLAs (at this time fabricated on 10 µm process Programmable Array Logic - PAL joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits Interconnects gates Flip-Flops Central, Global Connect Simple, Deterministic Timing Easily routed PLD Tools add only interconnect Wide, fast complex gating 50 - 200 gates joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits PLD structures PAL Macrocell LUT I1 I2 and O1= (I1 and not I2) or (not I1 and I2) Macrocell or O1 =1 joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits PLD structures CPLD Xilinx 9572 (used in labs) I/O Blocks Block 1 Macrocell 1 to 18 36 18 Switch matrix I/O I/O I/O Block 2 Macrocell 1 to 18 36 18 . Block 3 Macrocell 1 to 18 36 18 Block 4 Macrocell 1 to 18 36 18 I/O GCK joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

PLD structures FPGA Xilinx Spartan X10 (used in projects) PAL MacrocellLUT LUT1(16*1 bit mem) LUT = LookUpTable 16 product terms /LUT Addr I1 I2 O1 1 2 3 O1= (I1 and not I2) or (not I1 and I2) O1 FF1 LUT1 IO LUT2 I1 I2 Programmable LUTs and programmable routing joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits Interconnects Gates Channel Based Routing Post Layout Timin Tools more complex than CPLDs Fine grained Fast register pipelining joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

Custom Designed Integrated Circuits joal 2005 HT:1 Em3 Custom Designed Integrated Circuits

NRE=Non Recurring Cost (mask cost) Non recurring=engångs ASIC/FPGA NRE NRE=Non Recurring Cost (mask cost) Non recurring=engångs 20 000kkr ASIC 10 000kkr 1000kkr FPGA 250kkr process 0,6m 0,35m 0,25m 0,13m 0,09m 0,045m joal 2005 HT:1 Em3 Custom Designed Integrated Circuits