Presentation Outline Overview of FPGA Architectures Virtex-4 & Virtex-5 Overview of BIST for FPGAs BIST Configuration Generation Output Response Analy

Size: px
Start display at page:

Download "Presentation Outline Overview of FPGA Architectures Virtex-4 & Virtex-5 Overview of BIST for FPGAs BIST Configuration Generation Output Response Analy"

Transcription

1 PRODUCTION SYSTEM-LEVELEVEL USE OF BUILT-IN SELF-TESTEST FOR IRTEX-4 4 & VIRTEX VIRTEX 5 FPGAS IRTEX-5 FPGA Chuck Stroud, Brad Dutton, Mary Pulukuri, Brooks Garrison, and Yao Jia (the BIST Dudes & Dudettes)

2 Presentation Outline Overview of FPGA Architectures Virtex-4 & Virtex-5 Overview of BIST for FPGAs BIST Configuration Generation Output Response Analyzers BIST Results Retrieval Test Time Analysis Modification for System-Test Pins BIST Approaches for: CLBs & IOBs Brad Dutton DSPs Mary Pulukuri BRAMs Brooks Garrison

3 FPGA Architectures Configurable logic blocks (CLBs) Programmable I/O blocks (IOBs) Specialize Cores RAMs, DSPs, Processors Programmable interconnect network up Configuration memory RAM Typical FPGA Resources Small FPGA Large FPGA Logic CLBs per FPGA ,920 LUTs and flip-flops flops per CLB 1 8 Routing Wire segments per CLB PIPs per CLB 139 3,462 Bits per memory core ,432 Special Memory cores per FPGA Cores DSP cores Other Input/output cells 62 1,200 up

4 Architecture for Virtex-4 LX15 IOBs RAMs DSPs center column IOBs DCMs BUFGs BSCAN RAMs RAMs IOBs CLBs all CLBs include 2 SliceM (lower slices) and 2 SliceL (upper slices) each slices has 2 4-input LUTs and 2 FFs SliceM LUTs can also function as 16-bit RAMs and shift registers

5 Virtex Virtex-4 Devices & Architectures 4 Devices & Architectures Rows Rows Rows Rows part part Rows Rows Rows Rows part part PowerPC locations PowerPC locations PowerPC locations

6 Architecture for Virtex-5 LX30 IOBs Center column: IOBs DCMs RAMs DSPs BUFGs RAMs BSCAN CLBs SliceL all CLBs include 2 slices each slice has 4 6-input LUTs and 4 FFs IOBs SliceM bottom slice is SliceM and top slice is SliceL in CLB alternating columns of SliceMs Exception: column left of DSPs SliceM LUTs can also function as 64-bit RAMs and 32-bitshift registers

7 Virtex-5 Architectures Similar architecture, frame structure and order I/O cells not along outside column on right side Center column (Xs) not in center of array More columns to right side of center EMAC, PCI, and GBTs in 2 right columns LXT, SXT, and FXT devices Not in LX devices New V5s: LX20T & LX/LXT155 FXT devices w/ppcs part Rows LX & LXT Legend O 4 R 2 D 8 X 8 R 4 O 4 T C #=#CLBcols O 4 R 2 D 8 X 8 R 4 O 4 T C D=DSPs O 4 R10R 2 D 8 X 12R10 10 R 4 O 4 T C R=RAMs O 4 R10R 2 D 8 X 12R10 10 R 4 O 4 T C O=I/O cells O 4 R22 R 2 D 2 D 2 R20 X 20R 6 R 22 R 4 O 4 T C X=IO&DCM O 4 R22 R 2 D 2 D 2 R20 X 20R 6 R 22 R 4 O 4 T C T/C=T only SXT O 4 R 2 D 2 D 2 R 2 D 2 D 2 R 2 X 2 R 2 D 2 D 2 R 4 O 4 T C O 4 R 2 D 2 D 2 R 2 D 2 D 2 R 2 X 2 R 2 D 2 D 2 R 4 O 4 T C

8 BIST for FPGAs Basic idea: reprogram FPGA to test itself No area overhead or performance penalties Applicable to all levels of testing Cost: Application independent testing Memory to store BIST configurations Goal: minimize number of configurations Test time = download + execute + results Dominated by download time Goal: minimize downloads and/or download time Results retrieval is second most impact Goal: provide Pass/Fail indication (fault detection only fault detection only)

9 AUBIST Approach Configure some logic resources to act as Test Pattern Generators (TPGs) Output Response Analyzers (ORAs) Configure other resources to be tested Wires Under Test (WUTs) Blocks Under Test (BUTs) We do not assume any fault-free free resources!! multiple BIST configs test all modes of operation For all configurations, we maintain constant placement of TPGs, ORAs, & BUTs routing of TPG-to to-but & BUT-to to-ora minimizes download time via partial reconfiguration Automatic generation of BIST configurations

10 Automated BIST Generation Process C C programs generate.xdl files TPGs, ORAs, BUTs, routing VHDL & synthesis do not allow control of test conditions.xdl to.ncd xdl xdl2ncd bist.ncd FPGA Editor Design Rule Check Route design.ncd to.xdl Modification programs generate remaining BIST configurations for BUTs.NCD to.bit BIST Programs XDL file XDL.exe NCD file BitGen.exe BIT file download FPGA Editor

11 Automated BIST Generation Example User specifies any portion of array to test Start row & column End row & column TPGs, ORAs, and BUTs instantiated & located based on rows XDL is not routed FPGA Editor used for routing with no pin swap PAR used when pin swap is allowable Programs modify routed XDL for subsequent BIST configurations Virtex-4 FX20 PowerPC LUT RAMs Under Test TPGs (DSPs & Block RAMs)

12 FPGA BIST Architecture Multiple TPGs supply patterns to alternating rows/columns of BUTs TPGs constructed from Configurable Logic Blocks, or Other embedded cores =TPG =BUT =ORA DSPs (accumulating prime constant) Or DSPs & Block RAMs DSP counter addresses RAM (ROM) RAM (ROM) stores test patterns ORAs compare output responses of identically configured BUTs Circular comparison of BUTs Provides good fault detection Can identify multiple faulty BUTs with

13 Review of ORA Designs ORAs have big impact on BIST architecture Bigger impact than TPGs Need to retrieve BIST results from ORAs Iterative ORA All ORAs in row/column fed to 1 IO pin Poor diagnostic resolution Integrated ORA/scan chain Higher diagnostic resolution More logic for scan chain Interface to Boundary Scan Configuration memory readback No logic for scan chain Partial configuration memory readback Readback from embedded processor Ts s from BUT Outputs Outputs Outputs from adja fr acent from BUTs Shift In Shift LUT LUT LUT LUT LUT Iterative OR-chain = single pass/fail for 103,680 ORAs Pass/Fail

14 New ORA Implementation Old comparison-based ORA BUT i output k BUT j output k Logic 1 latched in FF due to mismatches LUT Configuration memory readback used to get results CLBs have dedicated carry chain for fast adders 01TDI and counters O O O New ORA latches logic 0 due to mismatch Carry chain performs iterative OR function Single pass/fail bit Expected failures require clock enable BUT i output k BUT j output k Clock enable LUT init 1 Only read configuration memory to get failing ORA init 0 TDO 1=pass 0=pass 0=fail 1=fail carry-out carry-in

15 V4 BIST Download Time Test time dominated by time to download BIST This data for set of 221 BIST configurations Downlo oad time Sec conds Full Configuration Full+Partial Reconfig Compressed+Partial Reconfig

16 V4 BIST Results Retrieval Time Partial configuration memory readback of ORAs Results re etrieval tim me Seconds After Every Configuration After Every Test Session Some loss of diagnostic resolution

17 V4 BIST Total Test Time Execution of BIST sequence is negligible Total test time Seconds BIST Sequence Configuration Download Results Retrieval 3

18 Improving Test Time & Access Previous data for Boundary Scan interface Maximum TCK frequency = 50MHz SelectMap (slave parallel) interface 32-bit interface = 32x speed-up 100MHz operation = 2x speed-up Need to provide access for 4-8 pins Company using BIST configs does not have system-level access to Boundary Scan interface BIST clock input (free running system clock) Test Data Out (OR-chain output) 0 1 Test Data In (OR-chain input) Synchronized Reset to TPGs 1 carry-out LUT carry-in Avoid glitches on pass/fail due to 250 picosec delay in ORAs Use 2 synchronizing FFs in ILOGIC module of Reset pad Some BIST approaches have added test mode controls System-test test pins option added to BIST programs

19 V5 & V4 Configurable Logic Blocks (CLBs) CLB is most abundant logic resource Switch Matrix 25,920 CLBs in largest Virtex-5 Note: Virtex 207,360 FFs and 6-input LUTs Note: Virtex-4 CLBs include 4 Slices with 2 FFs and 2 4-input LUTs each ~650 configuration bits per CLB Some CLBs include SliceMs (LUT RAMs) SliceM can form small RAMs or Shift Register COUT CLB SLICE0 (SliceM) COUT SLICE1 (SliceL) 6 LUT/ RAM (64-bit) Carry Logic FF/ Latch

20 V5 & V4 SliceL BIST Architecture DSP accumulator TPG, 12 outputs Accumulate prime number 0xCA6691 (Gupta, Rajski & Tyszer CCAD 94) Iterative-OR ORA Row based circular comparison 4096 BIST Clock Cycles per phase Two multiple phase test sessions: east and west TPG TPG East TPG TPG West

21 V5 & V4 SliceM BIST Architecture Block RAM TPGs store RAM test vectors March Y + Dual-port March (A. van de Goor) 2048 x 18-bit BRAM, 8N = 8*256 = 2048 vectors Iterative-OR ORA Column based circular comparison One multiple phase test session for all SliceMs Every CLB with a SLICEM has a SLICEL for ORA TPG TPG BUT ORA TPG 2048 BIST Clock Cycles per phase

22 # Faults Dete ected V-5 SliceL BIST Fault Coverage Single Stuck-at Simulation Individual FC Cumulative FC Gate Configuration # Gate-level model (AUSIM) Fault Injection Individual FC 70 Cumulative FC # Faults Dete ected Configuration # 3007 gate-level collapsed stuck-at faults 100% cumulative coverage in 6 phases w/ DSP TPG Configuration memory fault injection 614 configuration bit stuck-at faults

23 # Faults Dete ected V5 SliceM BIST Fault Coverage Single Stuck-at Simulation Individual FC 5000 Cumulative FC Configuration # Gate Gate-level model (AUSIM) # Faults Dete ected Fault Injection Individual FC 60 Cumulative FC Configuration # 8462 gate-level collapsed stuck-at faults 100% cumulative coverage in 5 phases w/ RAM tests Configuration memory fault injection 85 configuration bit stuck-at faults

24 V4 & V5 CLB BIST Programs Two XDL template file generation programs V5plbbist SliceL BIST template (east & west) V5lrambist SliceM BIST template Two XDL modification programs V5plbmod Modifies SliceL template to 6 phases V5lrammod Modifies SliceM template to 5 phases System System-level test pins interface I/O buffers and ILOGIC for TPG reset, test clock, test in, and test out included in template at user s request Placed at bonded I/O site by user in FPGA Editor Boundary Scan interface is also supported Provides device & package independent interface

25 Virtex-5 CLB BIST Summary Total Config. Max. BIST BIST Boundary Scan SelectMAP Device Size (kb) Clock Freq. CCs test time test time LX20T 1, MHz 59, ms 5.89 ms LX30T 2, MHz 59, ms 8.06 ms LX50T 3, MHz 59, ms ms LX85T 6, MHz 59, ms ms SX35T 3, MHz 59, ms 9.93 ms SX50T 5, MHz 59, ms ms SX95T 8, MHz 59, ms ms 17 total configurations achieve 100% single S.A. fault coverage in every CLB Downloads: 3 compressed-full 15 and 12 partial reconfigurations 10 Worst Case: Boundary Scan (50 5 MHz) Tim me (ms) Readback Execution Configuration

26 V5 & V4 I/O Tile BIST Two I/O Cells (master and slave) form an I/O Tile Dedicated shift routing for SERDES data width expansion Routing to support complementary differential I/O standards Our Approach: Test I/O Logic and I/O SerDes modes separately To/from Device Resources From Device Resources To/From Device Resources From Device Resources Input Logic (ILOGIC) Output Logic (OLOGIC) Input Logic (ILOGIC) Output Logic (OLOGIC) Master I/O Cell BSCAN Access

27 V5 & V4 I/O Tile BIST Previous Approach: : Use Bi- directional I/O Buffers Limits in-system applications Must tri-state connecting devices Passive components (e.g. LEDs) can cause false failures at high frequency (Lerner, Vemula & Stroud NATW 06) Alternative Approach (Virtex- 4 & Virtex-5): Use feedback routing to bypass I/O Buffers I/O Buffers tested separately Wafer and device-level tests Simple test for I/O buffers: 2-bit counter, min. 5 clock cycles To/from Device Resources From Device Resources To/From Device Resources From Device Resources Input Logic (ILOGIC) Output Logic (OLOGIC) Input Logic (ILOGIC) Output Logic (OLOGIC) Master I/O Cell

28 V5 & V4 I/O Tile BIST Architecture Block RAMs for TPGs store modified pseudorandom test patterns Logic: 2048 x 18-bit SerDes (more inputs): 1012 x 32-bit Iterative-OR ORA Column based circular comparison TPG TPG BUT ORA TPG 2048 BIST clock cycles for I/O Logic phases, 1012 BIST clock cycles for I/O SerDes phases

29 V4 & V5 I/O Tile BIST Programs Three XDL template file generation programs V4iobist I/O logic resources V4iobistios I/O SerDes logic resources V4iostd all bi-directional I/O standards Three XDL modification programs V4iobmod I/O Logic resources V4iobmodios I/O SerDes resources V4iobrmod all bi-directional I/O standards System-level test pins interface System-level test pins create un-testable I/O Cells User provides pin names for test pins prior to BIST template generation I/O Buffers and ILOGIC for pins interface placed automatically by template generation programs Boundary Scan also supported Package & device independent interface to BIST

30 All I/O Cells Under Test in Virtex-5 LX30T as viewed in Xilinx FPGA Editor Block RAMs for TPG DSPs for TPG I/O Tiles under test & ORAs Implemented in all Virtex-4 & Virtex-5 devices Virtex Virtex-5 configs. 6 6 I/O Logic 9 9 I/O SerDes 68 I/O Standards Virtex-4 configs. 5 5 I/O Logic 9 9 I/O SerDes 68 I/O Standards

31 All I/O Cells Under Test in Virtex-5 LX30T as viewed in Xilinx FPGA Editor Block RAMs for TPG DSPs for TPG I/O Tiles under test & ORAs Implemented in all Virtex-4 & Virtex-5 devices Virtex Virtex-5 configs. 6 6 I/O Logic 9 9 I/O SerDes 68 I/O Standards Virtex-4 configs. 5 5 I/O Logic 9 9 I/O SerDes 68 I/O Standards

32 All I/O Cells Under Test in Virtex-4 FX12 as viewed in Xilinx FPGA Editor Block RAMs for TPG DSPs for TPG Power PC I/O Tiles under test and ORAs Implemented in all Virtex-4 & Virtex-5 devices Virtex Virtex-5 configs. 6 6 I/O Logic 9 9 I/O SerDes 68 I/O Standards Virtex-4 configs. 5 5 I/O Logic 9 9 I/O SerDes 68 I/O Standards

33 Virtex-4 DSP Architecture 2 2 DSP slices per tile tiles in 1-8 columns Each DSP includes: 3-input, 48-bit adder/subtractor P P = Z±(X+Y+Cin X+Y+Cin) Optional accum reg C (48) 18x18-bit 2's-comp multiplier (w/o adder) User controlled operational modes For X, Y, & Z MUXs Configuration bits control other MUXs Pipelining registers A(18) B(18) A(18) B(18) Outputs w/ dedicated routing X Y Z Inputs for cascading Outputs w/ dedicated routing X Y Z ± ± P (48) P (48)

34 DSP BIST Architecture 2 2 TPGs drive alternate rows of DSPs tiles Prevents faulty TPG from escaping detection TPG drives both DSPs in tile Needed for cascade tests DSPs driven by different TPGs compared by ORAs Like DSPs compared Slice 0 compared to slice 0 Slice 1 compared to slice 1 Top DSPs compared to bottom DSPs in column based circular comparison ORAs for bottom DSPs are BSCAN shift reg test mode TPG 1 TPG 0 DSP s1 DSP s0 DSP s1 DSP s0 DSP s1 DSP s0 DSP s1 DSP s0 DSP s1 DSP s0 DSP s1 DSP s0 ORAs ORAs ORAs ORAs ORAs ORAs ORAs ORAs ORAs ORAs ORAs ORAs

35 DSP BIST Configurations 5 5 downloads to FPGA 1 1 compressed download (<50% of full config) 4 4 partial reconfigurations (<0.5% of full config) only change DSP configuration bits 7 7 BIST sequences # Fault ts Detected 2 2 BIST configurations are run twice different test mode input values for multiplier/adder test algorithms Individual FC Cumulative FC Fault coverage = 97.4% Currently investigating undetected faults

36 Max Clock Fre eq (MHz) Max Clock Freq (MHz) lx lx25 lx40 lx60 DSP BIST Timing Analysis lx80 lx100 lx160 lx200 fx12 fx20 Virtex-4 FPGA Bottom BIST Bottom TPG Bottom BIST Middle TPG fx40 fx60 Bottom Middle fx100 fx140 sx25 Top BIST Bottom TPG Top BIST Middle TPG sx35 sx55 Goal: f clk 50MHz TPG position affects timing Best results with TPG in middle Largest devices f clk 50 MHz Run BIST on half of array & reposition TPG Doubles # BIST

37 DSP BIST in FPGA Editor V4 SX35 V4 FX12 V4 LX160 V5 LX30 Routed Routed Unrouted Unrouted

38 DSP BIST Generation Programs Virtex-4 V4DSPBIST program for XDL template generation V4DSPMOD program for XDL template modification for 5 BIST configurations 2 2 interfaces for BIST inputs and output: TPG reset, TPG clock, Test Data In, Test Data Out, plus 3 test mode inputs Virtex Virtex-5 Boundary scan interface Shift register shifts control inputs into TPGs System pins interface 7 BIST I/O connect to user specified pins V5DSPBIST program currently under development for XDL template generation

39 Virtex-4 Block RAM (BRAM) BIST BRAM BRAM Power PC BRAM BRAM BRAM BRAM BRAM BRAM 32-bit Address ADDRA ADDRB 32-bit I/O Ports + 4 Parity Bits Input: DIA, DIB Output: DOA + DOPA, DOB + DOPB 4 Operation Modes BRAM (regular) FIFO Cascade ECC

40 V4 BRAM BIST BRAM MarchLR tests for single port faults 2 BIST Configurations March s2pf & d2pf tests dual port faults 1 BIST Configuration MATS+ tests programmable address/data widths 3 BIST Configurations FIFO 2K, 512, 1K tests the FULL and EMPTY flags 3 BIST Configurations 4k tests programmable ALMOSTFULL/EMPTY flags 12 BIST Configurations (may reduce to 2 with some fault detection loss) ECC WREN, RDEN tests Hamming bit encode/decode logic 2 BIST Configurations Cascade UPPER, LOWER tests upper/lower RAM cascading 2 BIST Configurations

41 BRAM BIST Layout Block RAMs - Green ORAs Blue TPGs TPG0 red TPG1 yellow Unrouted BIST Routed BIST

42 BRAM BIST Programs V4 BRAM BIST Condensed 12 programs down to 2 V4RAMBIST generates BIST template file for specified device and BIST type (BRAM, FIFO, ECC, Cascade) V4RAMMOD modifies routed XDL for Block RAMs to subsequent BIST configuration(s) BIST Additions Under Development Iterative ORA-chain Gives user a single PASS/FAIL signal System-test test pins option Gives user BIST control access if desired or

43 Virtex-4 Routing Resources Double Lines (per switch box) pass by 2 CLBs N/S/E/W 10 wires for each direction, 3 terminals Hex lines (per switch box) pass by 6 CLBs N/S/E/W 10 wires for each direction, 3 terminals Long lines (per switch box) pass by 24 CLBs Bi-directional i+6 i+2 i+24 i+5 i+1 i+18 i+4 i i+12 i+3 i+2 i+6 i+1 i

44 Virtex-4 Routing Resources Terminals BEG Long lines N/S 2 BEG 0-9 Switch Box N/S 2 MID 0-9 N/S 2 END 0-9 slices MID END PIPs 3,312 PIPs per switch box Non-CLB columns have same

45 Cross-Coupled Coupled Parity Approach ORA (Oo) odd parity ORA even parity ORA (Oe) even parity ORA odd parity Slice 3 Slice 1 Podd Cu1 Cu0 Peven Cd1 Cd0 G LUT G LUT Podd Pass /Fail Pass /Fail Test Pattern Sequence Cu 1 Cu 0 Po Cd 1 Cd 0 Pe TPG (To) count-down odd parity TPG (Te) count-upup even parity Slice 2 Slice 0 G LUT F LUT Cd1 Cd0 G LUT Peven Cu1 Cu0

46 Global Routing BIST Configurations Routing Resource Direction N S E W Total Configs CLB double lines Non-CLB column double lines 4 4 9* CLB hex lines Non-CLB column hex lines 2 2 5* CLB long lines Non-CLB column long lines Total BIST Configurations 44 * 1 extra BIST configuration due to missing connections in non-clb columns

47 Actual Implementation Results ORA with iterative OR-chain remains an open problem in routing BIST due to required ORA /TPG positions and routing congestion

48 Summary Opportunity to put work into production Overcome problem of non-boundary Scan access Developed a new ORA with iterative-or chain Provides single Pass/Fail indication No configuration memory readback needed Only used by applications that want diagnosis Result is a significant reduction in test time Production grade software additional effort Provided a useful and unique learning experience for students working on project

Outline of Presentation History of DSP Architectures in FPGAs Overview of Virtex-4 4 DSP

Outline of Presentation History of DSP Architectures in FPGAs Overview of Virtex-4 4 DSP Built-In Self-Test of DSPs in Virtex-4 FPGAs (Funded by NSA) Charles Stroud Dept. of Electrical & Computer Engineering Auburn University Outline of Presentation History of DSP Architectures in FPGAs Overview

More information

Outline of Presentation

Outline of Presentation Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs Sudheer Vemula and Charles Stroud Electrical and Computer Engineering Auburn University presented at 2006 IEEE Southeastern Symp. On System

More information

Built-In Self-Test of Programmable Input/Output Tiles in Virtex-5 FPGAs

Built-In Self-Test of Programmable Input/Output Tiles in Virtex-5 FPGAs Built-In Self-Test of Programmable Input/Output Tiles in Virtex-5 FPGAs Bradley F. Dutton and Charles E. Stroud Dept. of Electrical and Computer Engineering Auburn University Auburn, Alabama 36849 duttobf@auburn.edu

More information

Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study

Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study Bradley F. Dutton, Graduate Student Member, IEEE, and Charles E. Stroud, Fellow, IEEE Dept. of Electrical and Computer Engineering

More information

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS) INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS) Bill Jason P. Tomas Dept. of Electrical and Computer Engineering University of Nevada Las Vegas FIELD PROGRAMMABLE ARRAYS Dominant digital design

More information

Atmel AT94K FPSLIC Architecture Field Programmable Gate Array

Atmel AT94K FPSLIC Architecture Field Programmable Gate Array Embedded Processor Based Built-In Self-Test and Diagnosis of FPGA Core in FPSLIC John Sunwoo (Logic BIST) Srinivas Garimella (RAM BIST) Sudheer Vemula (I/O Cell BIST) Chuck Stroud (Routing BIST) Jonathan

More information

Basic FPGA Architecture Xilinx, Inc. All Rights Reserved

Basic FPGA Architecture Xilinx, Inc. All Rights Reserved Basic FPGA Architecture 2005 Xilinx, Inc. All Rights Reserved Objectives After completing this module, you will be able to: Identify the basic architectural resources of the Virtex -II FPGA List the differences

More information

A Case Study. Jonathan Harris, and Jared Phillips Dept. of Electrical and Computer Engineering Auburn University

A Case Study. Jonathan Harris, and Jared Phillips Dept. of Electrical and Computer Engineering Auburn University Built-In Self-Test for System-on on-chip: A Case Study Charles Stroud, Srinivas Garimella,, John Sunwoo, Jonathan Harris, and Jared Phillips Dept. of Electrical and Computer Engineering Auburn University

More information

Autonomous Built-in Self-Test Methods for SRAM Based FPGAs

Autonomous Built-in Self-Test Methods for SRAM Based FPGAs Autonomous Built-in Self-Test Methods for SRAM Based FPGAs Steven Kopman, Student Department of Electrical and Computer Engineering University of Central Florida Orlando, FL 32816-2450 skopman@knights.ucf.edu

More information

Analysis and Improvement of Virtex-4 Block RAM Built-In Self-Test. and Introduction to Virtex-5 Block RAM Built-In Self-Test.

Analysis and Improvement of Virtex-4 Block RAM Built-In Self-Test. and Introduction to Virtex-5 Block RAM Built-In Self-Test. Analysis and Improvement of Virtex-4 Block RAM Built-In Self-Test and Introduction to Virtex-5 Block RAM Built-In Self-Test Except where reference is made to the work of others, the work described in this

More information

Built-In Self-Test for Regular Structure Embedded Cores in System-on-Chip

Built-In Self-Test for Regular Structure Embedded Cores in System-on-Chip Built-In Self-Test for Regular Structure Embedded Cores in System-on-Chip Srinivas Murthy Garimella Master s Thesis Defense Thesis Advisor: Dr. Charles E. Stroud Committee Members: Dr. Victor P. Nelson

More information

Outline of Presentation Field Programmable Gate Arrays (FPGAs(

Outline of Presentation Field Programmable Gate Arrays (FPGAs( FPGA Architectures and Operation for Tolerating SEUs Chuck Stroud Electrical and Computer Engineering Auburn University Outline of Presentation Field Programmable Gate Arrays (FPGAs( FPGAs) How Programmable

More information

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory

More information

Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs

Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs Sudheer Vemula, Student Member, IEEE, and Charles Stroud, Fellow, IEEE Abstract The first Built-In Self-Test (BIST) approach for the programmable

More information

Analysis and Implementation of Built-In Self-Test for Block Random Access Memories in Virtex-5 Field Programmable Gate Arrays. Justin Lewis Dailey

Analysis and Implementation of Built-In Self-Test for Block Random Access Memories in Virtex-5 Field Programmable Gate Arrays. Justin Lewis Dailey Analysis and Implementation of Built-In Self-Test for Block Random Access Memories in Virtex-5 Field Programmable Gate Arrays by Justin Lewis Dailey A thesis submitted to the Graduate Faculty of Auburn

More information

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective Outline Field Programmable Gate Arrays Historical perspective Programming Technologies Architectures PALs, PLDs,, and CPLDs FPGAs Programmable logic Interconnect network I/O buffers Specialized cores Programming

More information

What is Xilinx Design Language?

What is Xilinx Design Language? Bill Jason P. Tomas University of Nevada Las Vegas Dept. of Electrical and Computer Engineering What is Xilinx Design Language? XDL is a human readable ASCII format compatible with the more widely used

More information

EE178 Lecture Module 2. Eric Crabill SJSU / Xilinx Fall 2007

EE178 Lecture Module 2. Eric Crabill SJSU / Xilinx Fall 2007 EE178 Lecture Module 2 Eric Crabill SJSU / Xilinx Fall 2007 Lecture #4 Agenda Survey of implementation technologies. Implementation Technologies Small scale and medium scale integration. Up to about 200

More information

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 Xilinx FPGAs Chapter 7 Spartan 3E Architecture Source: Spartan-3E FPGA Family Datasheet CLB Configurable Logic Blocks Each CLB contains four slices Each slice

More information

FPGA Architecture Overview. Generic FPGA Architecture (1) FPGA Architecture

FPGA Architecture Overview. Generic FPGA Architecture (1) FPGA Architecture FPGA Architecture Overview dr chris dick dsp chief architect wireless and signal processing group xilinx inc. Generic FPGA Architecture () Generic FPGA architecture consists of an array of logic tiles

More information

Evaluation of FPGA Resources for Built-In Self-Test of Programmable Logic Blocks

Evaluation of FPGA Resources for Built-In Self-Test of Programmable Logic Blocks Evaluation of FPGA Resources for Built-In Self-Test of Programmable Logic Blocks Charles Stroud, Ping Chen, Srinivasa Konala, Dept. of Electrical Engineering University of Kentucky and Miron Abramovici

More information

Field Programmable Gate Array (FPGA)

Field Programmable Gate Array (FPGA) Field Programmable Gate Array (FPGA) Lecturer: Krébesz, Tamas 1 FPGA in general Reprogrammable Si chip Invented in 1985 by Ross Freeman (Xilinx inc.) Combines the advantages of ASIC and uc-based systems

More information

The Next Generation 65-nm FPGA. Steve Douglass, Kees Vissers, Peter Alfke Xilinx August 21, 2006

The Next Generation 65-nm FPGA. Steve Douglass, Kees Vissers, Peter Alfke Xilinx August 21, 2006 The Next Generation 65-nm FPGA Steve Douglass, Kees Vissers, Peter Alfke Xilinx August 21, 2006 Hot Chips, 2006 Structure of the talk 65nm technology going towards 32nm Virtex-5 family Improved I/O Benchmarking

More information

FPGA Implementations

FPGA Implementations FPGA Implementations Smith Text: Chapters 4-8 Online version at: http://www10.edacafe.com/book/asic/asics.php Topic outline Chapter 4 Programmable ASIC technologies Chapter 5 Programmable logic cells Chapter

More information

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes.

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes. Topics! SRAM-based FPGA fabrics:! Xilinx.! Altera. SRAM-based FPGAs! Program logic functions, using SRAM.! Advantages:! Re-programmable;! dynamically reconfigurable;! uses standard processes.! isadvantages:!

More information

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices 3 Digital Systems Implementation Programmable Logic Devices Basic FPGA Architectures Why Programmable Logic Devices (PLDs)? Low cost, low risk way of implementing digital circuits as application specific

More information

Virtex-II Architecture

Virtex-II Architecture Virtex-II Architecture Block SelectRAM resource I/O Blocks (IOBs) edicated multipliers Programmable interconnect Configurable Logic Blocks (CLBs) Virtex -II architecture s core voltage operates at 1.5V

More information

EE219A Spring 2008 Special Topics in Circuits and Signal Processing. Lecture 9. FPGA Architecture. Ranier Yap, Mohamed Ali.

EE219A Spring 2008 Special Topics in Circuits and Signal Processing. Lecture 9. FPGA Architecture. Ranier Yap, Mohamed Ali. EE219A Spring 2008 Special Topics in Circuits and Signal Processing Lecture 9 FPGA Architecture Ranier Yap, Mohamed Ali Annoucements Homework 2 posted Due Wed, May 7 Now is the time to turn-in your Hw

More information

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline CPE/EE 422/522 Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices Dr. Rhonda Kay Gaede UAH Outline Introduction Field-Programmable Gate Arrays Virtex Virtex-E, Virtex-II, and Virtex-II

More information

FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

FIELD PROGRAMMABLE GATE ARRAYS (FPGAS) FIELD PROGRAMMABLE GATE ARRAYS (FPGAS) 1 Roth Text: Chapter 3 (section 3.4) Chapter 6 Nelson Text: Chapter 11 Programmable logic taxonomy Lab Device 2 Field Programmable Gate Arrays Typical Complexity

More information

Built-In Self-Test for System-on-Chip: A Case Study

Built-In Self-Test for System-on-Chip: A Case Study Built-In Self-Test for System-on-Chip: A Case Study Charles Stroud, John Sunwoo, Srinivas Garimella, and Jonathan Harris Dept. of Electrical and Computer Engineering Auburn University, Alabama USA ABSTRACT

More information

Each DSP includes: 3-input, 48-bit adder/subtractor

Each DSP includes: 3-input, 48-bit adder/subtractor Virtex-4 DSP Architecture 2 2 DSP slices per tile 16-256 tiles in 1-8 columns Each DSP includes: 3-input, 48-bit adder/subtractor P P = Z±(X+Y+Cin) Optional accum reg C (48) 18x18-bit 2's-comp multiplier

More information

Introduction to Partial Reconfiguration Methodology

Introduction to Partial Reconfiguration Methodology Methodology This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Define Partial Reconfiguration technology List common applications

More information

Altera FLEX 8000 Block Diagram

Altera FLEX 8000 Block Diagram Altera FLEX 8000 Block Diagram Figure from Altera technical literature FLEX 8000 chip contains 26 162 LABs Each LAB contains 8 Logic Elements (LEs), so a chip contains 208 1296 LEs, totaling 2,500 16,000

More information

Virtex-II Architecture. Virtex II technical, Design Solutions. Active Interconnect Technology (continued)

Virtex-II Architecture. Virtex II technical, Design Solutions. Active Interconnect Technology (continued) Virtex-II Architecture SONET / SDH Virtex II technical, Design Solutions PCI-X PCI DCM Distri RAM 18Kb BRAM Multiplier LVDS FIFO Shift Registers BLVDS SDRAM QDR SRAM Backplane Rev 4 March 4th. 2002 J-L

More information

BIST-Based Test and Diagnosis of FPGA Logic Blocks

BIST-Based Test and Diagnosis of FPGA Logic Blocks IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 9, NO. 1, FEBRUARY 2001 159 BIST-Based Test and Diagnosis of FPGA Logic Blocks Miron Abramovici, Fellow, IEEE, and Charles E. Stroud,

More information

DFT for Regular Structures

DFT for Regular Structures DFT for Regular Structures Regular Structure Fault Models RAM BIST Architectures ROM & PLA BIST Architectures Bypassing During BIST Benefits & Limitations C. Stroud 11/06 BIST for Regular Structures 1

More information

7-Series Architecture Overview

7-Series Architecture Overview 7-Series Architecture Overview Zynq Vivado 2013.2 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Describe the

More information

High-Performance Integer Factoring with Reconfigurable Devices

High-Performance Integer Factoring with Reconfigurable Devices FPL 2010, Milan, August 31st September 2nd, 2010 High-Performance Integer Factoring with Reconfigurable Devices Ralf Zimmermann, Tim Güneysu, Christof Paar Horst Görtz Institute for IT-Security Ruhr-University

More information

The Xilinx XC6200 chip, the software tools and the board development tools

The Xilinx XC6200 chip, the software tools and the board development tools The Xilinx XC6200 chip, the software tools and the board development tools What is an FPGA? Field Programmable Gate Array Fully programmable alternative to a customized chip Used to implement functions

More information

BIST-Based Test and Diagnosis of FPGA Logic Blocks 1

BIST-Based Test and Diagnosis of FPGA Logic Blocks 1 BIST-Based Test and Diagnosis of FPGA Logic Blocks 1 Miron Abramovici Bell Labs - Lucent Technologies Murray Hill, NJ Charles Stroud 2 Dept. of Electrical and Computer Engineering University of North Carolina

More information

Alternative Techniques for Built-In Self-Test of Field Programmable. Gate Arrays

Alternative Techniques for Built-In Self-Test of Field Programmable. Gate Arrays Alternative Techniques for Built-In Self-Test of Field Programmable Gate Arrays Except where reference is made to the work of others, the work described in this thesis is my own or was done in collaboration

More information

An Architecture for Fail-Silent Operation of FPGAs and Configurable SoCs

An Architecture for Fail-Silent Operation of FPGAs and Configurable SoCs An Architecture for Fail-Silent Operation of FPGAs and Configurable SoCs Lee W. Lerner and Charles E. Stroud Dept. of Electrical and Computer Engineering Auburn University Auburn, AL, USA Abstract We present

More information

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:

More information

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Fall 2002 EECS150 - Lec06-FPGA Page 1 Outline What are FPGAs? Why use FPGAs (a short history

More information

High Capacity and High Performance 20nm FPGAs. Steve Young, Dinesh Gaitonde August Copyright 2014 Xilinx

High Capacity and High Performance 20nm FPGAs. Steve Young, Dinesh Gaitonde August Copyright 2014 Xilinx High Capacity and High Performance 20nm FPGAs Steve Young, Dinesh Gaitonde August 2014 Not a Complete Product Overview Page 2 Outline Page 3 Petabytes per month Increasing Bandwidth Global IP Traffic Growth

More information

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs? EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Outline What are FPGAs? Why use FPGAs (a short history lesson). FPGA variations Internal logic

More information

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single

More information

FPGA architecture and design technology

FPGA architecture and design technology CE 435 Embedded Systems Spring 2017 FPGA architecture and design technology Nikos Bellas Computer and Communications Engineering Department University of Thessaly 1 FPGA fabric A generic island-style FPGA

More information

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011 FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level

More information

INTRODUCTION TO FPGA ARCHITECTURE

INTRODUCTION TO FPGA ARCHITECTURE 3/3/25 INTRODUCTION TO FPGA ARCHITECTURE DIGITAL LOGIC DESIGN (BASIC TECHNIQUES) a b a y 2input Black Box y b Functional Schematic a b y a b y a b y 2 Truth Table (AND) Truth Table (OR) Truth Table (XOR)

More information

Contents 1 Basic of Test and Role of HDLs 2 Verilog HDL for Design and Test

Contents 1 Basic of Test and Role of HDLs 2 Verilog HDL for Design and Test 1 Basic of Test and Role of HDLs... 1.1 Design and Test... 1.1.1 RTL Design Process... 1.1.2 Postmanufacturing Test... 1.2 Test Concerns... 1.2.1 Test Methods... 1.2.2 Testability Methods... 1.2.3 Testing

More information

Programmable Logic. Simple Programmable Logic Devices

Programmable Logic. Simple Programmable Logic Devices Programmable Logic SM098 Computation Structures - Programmable Logic Simple Programmable Logic evices Programmable Array Logic (PAL) AN-OR arrays are common blocks in SPL and CPL architectures Implements

More information

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6 ACCESS IC LAB Outline Concepts of Xilinx FPGA Xilinx FPGA Architecture Introduction to ISE Code Generator Constraints

More information

Reconfigurable Computing

Reconfigurable Computing Reconfigurable Computing FPGA Architecture Architecture should speak of its time and place, but yearn for timelessness. Frank Gehry Philip Leong (philip.leong@sydney.edu.au) School of Electrical and Information

More information

Virtex-4 Family Overview

Virtex-4 Family Overview Virtex-4 User Guide 0 Virtex-4 Family Overview DS112 (v1.1) September 10, 2004 0 0 General Description The Virtex-4 Family is the newest generation FPGA from Xilinx. The innovative Advanced Silicon Modular

More information

Digital System Design Lecture 7: Altera FPGAs. Amir Masoud Gharehbaghi

Digital System Design Lecture 7: Altera FPGAs. Amir Masoud Gharehbaghi Digital System Design Lecture 7: Altera FPGAs Amir Masoud Gharehbaghi amgh@mehr.sharif.edu Table of Contents Altera FPGAs FLEX 8000 FLEX 10k APEX 20k Sharif University of Technology 2 FLEX 8000 Block Diagram

More information

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool Md. Abdul Latif Sarker, Moon Ho Lee Division of Electronics & Information Engineering Chonbuk National University 664-14 1GA Dekjin-Dong

More information

Fault Grading FPGA Interconnect Test Configurations

Fault Grading FPGA Interconnect Test Configurations * Fault Grading FPGA Interconnect Test Configurations Mehdi Baradaran Tahoori Subhasish Mitra* Shahin Toutounchi Edward J. McCluskey Center for Reliable Computing Stanford University http://crc.stanford.edu

More information

EMULATED FAULT INJECTION FOR BUILT-IN SELF-TEST

EMULATED FAULT INJECTION FOR BUILT-IN SELF-TEST EMULATED FAULT INJECTION FOR BUILT-IN SELF-TEST OF FIELD PROGRAMMABLE GATE ARRAYS USING BOUNDARY SCAN Except where reference is made to the work of others, the work described in this undergraduate thesis

More information

International Training Workshop on FPGA Design for Scientific Instrumentation and Computing November 2013.

International Training Workshop on FPGA Design for Scientific Instrumentation and Computing November 2013. 2499-1 International Training Workshop on FPGA Design for Scientific Instrumentation and Computing 11-22 November 2013 FPGA Introduction Cristian SISTERNA National University of San Juan San Juan Argentina

More information

CDA 4253 FGPA System Design Xilinx FPGA Memories. Hao Zheng Comp Sci & Eng USF

CDA 4253 FGPA System Design Xilinx FPGA Memories. Hao Zheng Comp Sci & Eng USF CDA 4253 FGPA System Design Xilinx FPGA Memories Hao Zheng Comp Sci & Eng USF Xilinx 7-Series FPGA Architecture On-Chip block RAM On-Chip block RAM Distributed RAM by Logic Fabric Distributed RAM by Logic

More information

Chapter 9. Design for Testability

Chapter 9. Design for Testability Chapter 9 Design for Testability Testability CUT = Circuit Under Test A design property that allows: cost-effective development of tests to be applied to the CUT determining the status of the CUT (normal

More information

HDL Coding Style Xilinx, Inc. All Rights Reserved

HDL Coding Style Xilinx, Inc. All Rights Reserved HDL Coding Style Objective After completing this module, you will be able to: Select a proper coding style to create efficient FPGA designs Specify Xilinx resources that need to be instantiated for various

More information

Course Overview Revisited

Course Overview Revisited Course Overview Revisited void blur_filter_3x3( Image &in, Image &blur) { // allocate blur array Image blur(in.width(), in.height()); // blur in the x dimension for (int y = ; y < in.height(); y++) for

More information

CDA 4253 FPGA System Design Op7miza7on Techniques. Hao Zheng Comp S ci & Eng Univ of South Florida

CDA 4253 FPGA System Design Op7miza7on Techniques. Hao Zheng Comp S ci & Eng Univ of South Florida CDA 4253 FPGA System Design Op7miza7on Techniques Hao Zheng Comp S ci & Eng Univ of South Florida 1 Extracted from Advanced FPGA Design by Steve Kilts 2 Op7miza7on for Performance 3 Performance Defini7ons

More information

The Virtex FPGA and Introduction to design techniques

The Virtex FPGA and Introduction to design techniques The Virtex FPGA and Introduction to design techniques SM098 Computation Structures Lecture 6 Simple Programmable Logic evices Programmable Array Logic (PAL) AN-OR arrays are common blocks in SPL and CPL

More information

ECE 645: Lecture 1. Basic Adders and Counters. Implementation of Adders in FPGAs

ECE 645: Lecture 1. Basic Adders and Counters. Implementation of Adders in FPGAs ECE 645: Lecture Basic Adders and Counters Implementation of Adders in FPGAs Required Reading Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design Chapter 5, Basic Addition and Counting,

More information

ECE 545 Lecture 12. FPGA Resources. George Mason University

ECE 545 Lecture 12. FPGA Resources. George Mason University ECE 545 Lecture 2 FPGA Resources George Mason University Recommended reading 7 Series FPGAs Configurable Logic Block: User Guide Overview Functional Details 2 What is an FPGA? Configurable Logic Blocks

More information

H100 Series FPGA Application Accelerators

H100 Series FPGA Application Accelerators 2 H100 Series FPGA Application Accelerators Products in the H100 Series PCI-X Mainstream IBM EBlade H101-PCIXM» HPC solution for optimal price/performance» PCI-X form factor» Single Xilinx Virtex 4 FPGA

More information

Pipelining & Verilog. Sequential Divider. Verilog divider.v. Math Functions in Coregen. Lab #3 due tonight, LPSet 8 Thurs 10/11

Pipelining & Verilog. Sequential Divider. Verilog divider.v. Math Functions in Coregen. Lab #3 due tonight, LPSet 8 Thurs 10/11 Lab #3 due tonight, LPSet 8 Thurs 0/ Pipelining & Verilog Latency & Throughput Pipelining to increase throughput Retiming Verilog Math Functions Debugging Hints Sequential Divider Assume the Divid (A)

More information

EECS 151/251A Spring 2019 Digital Design and Integrated Circuits. Instructor: John Wawrzynek. Lecture 18 EE141

EECS 151/251A Spring 2019 Digital Design and Integrated Circuits. Instructor: John Wawrzynek. Lecture 18 EE141 EECS 151/251A Spring 2019 Digital Design and Integrated Circuits Instructor: John Wawrzynek Lecture 18 Memory Blocks Multi-ported RAM Combining Memory blocks FIFOs FPGA memory blocks Memory block synthesis

More information

XA Spartan-6 Automotive FPGA Family Overview

XA Spartan-6 Automotive FPGA Family Overview 10 XA Spartan-6 Automotive FPGA Family Overview Product Specification General Description The Xilinx Automotive (XA) Spartan -6 family of FPGAs provides leading system integration capabilities with the

More information

Chapter 2. FPGA and Dynamic Reconfiguration ...

Chapter 2. FPGA and Dynamic Reconfiguration ... Chapter 2 FPGA and Dynamic Reconfiguration... This chapter will introduce a family of silicon devices, FPGAs exploring their architecture. This work is based on these particular devices. The chapter will

More information

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function. FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different

More information

Review: Timing. EECS Components and Design Techniques for Digital Systems. Lec 13 Storage: Regs, SRAM, ROM. Outline.

Review: Timing. EECS Components and Design Techniques for Digital Systems. Lec 13 Storage: Regs, SRAM, ROM. Outline. Review: Timing EECS 150 - Components and Design Techniques for Digital Systems Lec 13 Storage: Regs,, ROM David Culler Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~culler

More information

EITF35: Introduction to Structured VLSI Design

EITF35: Introduction to Structured VLSI Design EITF35: Introduction to Structured VLSI Design Introduction to FPGA design Rakesh Gangarajaiah Rakesh.gangarajaiah@eit.lth.se Slides from Chenxin Zhang and Steffan Malkowsky WWW.FPGA What is FPGA? Field

More information

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: Problem 1: CLD2 Problems. (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: C 0 = A + BD + C + BD C 1 = A + CD + CD + B C 2 = A + B + C + D C 3 = BD + CD + BCD + BC C 4

More information

EECS150 - Digital Design Lecture 16 Memory 1

EECS150 - Digital Design Lecture 16 Memory 1 EECS150 - Digital Design Lecture 16 Memory 1 March 13, 2003 John Wawrzynek Spring 2003 EECS150 - Lec16-mem1 Page 1 Memory Basics Uses: Whenever a large collection of state elements is required. data &

More information

ECE 448 Lecture 5. FPGA Devices

ECE 448 Lecture 5. FPGA Devices ECE 448 Lecture 5 FPGA Devices George Mason University Required reading Spartan-6 FPGA Configurable Logic Block: User Guide CLB Overview Slice Description 2 Recommended reading Highly recommended for the

More information

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA L2: FPGA HARDWARE 18-545: ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA 18-545: FALL 2014 2 Admin stuff Project Proposals happen on Monday Be prepared to give an in-class presentation Lab 1 is

More information

Asynchronous FIFO Design

Asynchronous FIFO Design Asynchronous FIFO Design 2.1 Introduction: An Asynchronous FIFO Design refers to a FIFO Design where in the data values are written to the FIFO memory from one clock domain and the data values are read

More information

DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS

DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS Ashutosh Gupta and Kota Solomon Raju Digital System Group, Central Electronics Engineering

More information

Version 1.6 Page 2 of 25 SMT351 User Manual

Version 1.6 Page 2 of 25 SMT351 User Manual SMT351 User Manual Version 1.6 Page 2 of 25 SMT351 User Manual Revision History Date Comments Engineer Version 28/07/04 First revision JPA 1.1 16/09/04 Added pin number for JP1 pinout section. Updated

More information

Leso Martin, Musil Tomáš

Leso Martin, Musil Tomáš SAFETY CORE APPROACH FOR THE SYSTEM WITH HIGH DEMANDS FOR A SAFETY AND RELIABILITY DESIGN IN A PARTIALLY DYNAMICALLY RECON- FIGURABLE FIELD-PROGRAMMABLE GATE ARRAY (FPGA) Leso Martin, Musil Tomáš Abstract:

More information

Spiral 2-8. Cell Layout

Spiral 2-8. Cell Layout 2-8.1 Spiral 2-8 Cell Layout 2-8.2 Learning Outcomes I understand how a digital circuit is composed of layers of materials forming transistors and wires I understand how each layer is expressed as geometric

More information

Summary. Introduction. Application Note: Virtex, Virtex-E, Spartan-IIE, Spartan-3, Virtex-II, Virtex-II Pro. XAPP152 (v2.1) September 17, 2003

Summary. Introduction. Application Note: Virtex, Virtex-E, Spartan-IIE, Spartan-3, Virtex-II, Virtex-II Pro. XAPP152 (v2.1) September 17, 2003 Application Note: Virtex, Virtex-E, Spartan-IIE, Spartan-3, Virtex-II, Virtex-II Pro Xilinx Tools: The Estimator XAPP152 (v2.1) September 17, 2003 Summary This application note is offered as complementary

More information

TSEA44 - Design for FPGAs

TSEA44 - Design for FPGAs 2015-11-24 Now for something else... Adapting designs to FPGAs Why? Clock frequency Area Power Target FPGA architecture: Xilinx FPGAs with 4 input LUTs (such as Virtex-II) Determining the maximum frequency

More information

Circuit Partitioning for Application-Dependent FPGA Testing

Circuit Partitioning for Application-Dependent FPGA Testing Circuit Partitioning for Application-Dependent FPGA Testing by Rui Zhen Feng B.Eng, Hefei University of Technology, 1996 A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of

More information

BUILT-IN SELF-TEST CONFIGURATIONS FOR FIELD PROGRAMMABLE GATE ARRAY CORES IN SYSTEMS-ON-CHIP

BUILT-IN SELF-TEST CONFIGURATIONS FOR FIELD PROGRAMMABLE GATE ARRAY CORES IN SYSTEMS-ON-CHIP BUILT-IN SELF-TEST CONFIGURATIONS FOR FIELD PROGRAMMABLE GATE ARRAY CORES IN SYSTEMS-ON-CHIP Except where reference is made to the work of others, the work described in this thesis is my own or was done

More information

Prototyping NGC. First Light. PICNIC Array Image of ESO Messenger Front Page

Prototyping NGC. First Light. PICNIC Array Image of ESO Messenger Front Page Prototyping NGC First Light PICNIC Array Image of ESO Messenger Front Page Introduction and Key Points Constructed is a modular system with : A Back-End as 64 Bit PCI Master/Slave Interface A basic Front-end

More information

FPGA design with National Instuments

FPGA design with National Instuments FPGA design with National Instuments Rémi DA SILVA Systems Engineer - Embedded and Data Acquisition Systems - MED Region ni.com The NI Approach to Flexible Hardware Processor Real-time OS Application software

More information

ECE 699: Lecture 9. Programmable Logic Memories

ECE 699: Lecture 9. Programmable Logic Memories ECE 699: Lecture 9 Programmable Logic Memories Recommended reading XST User Guide for Virtex-6, Spartan-6, and 7 Series Devices Chapter 7, HDL Coding Techniques Sections: RAM HDL Coding Techniques ROM

More information

IDEA! Avnet SpeedWay Design Workshop

IDEA! Avnet SpeedWay Design Workshop The essence of FPGA technology IDEA! 2 ISE Tool Flow Overview Design Entry Synthesis Constraints Synthesis Simulation Implementation Constraints Floor-Planning Translate Map Place & Route Timing Analysis

More information

FPGA: What? Why? Marco D. Santambrogio

FPGA: What? Why? Marco D. Santambrogio FPGA: What? Why? Marco D. Santambrogio marco.santambrogio@polimi.it 2 Reconfigurable Hardware Reconfigurable computing is intended to fill the gap between hardware and software, achieving potentially much

More information

Achieving Breakthrough Performance with Virtex-4, the World s Fastest FPGA

Achieving Breakthrough Performance with Virtex-4, the World s Fastest FPGA Achieving Breakthrough Performance with Virtex-4, the World s Fastest FPGA Xilinx 90nm Design Seminar Series: Part I Xilinx - #1 in 90 nm We Asked our Customers: What are your challenges? Shorter design

More information

EECS150 - Digital Design Lecture 16 - Memory

EECS150 - Digital Design Lecture 16 - Memory EECS150 - Digital Design Lecture 16 - Memory October 17, 2002 John Wawrzynek Fall 2002 EECS150 - Lec16-mem1 Page 1 Memory Basics Uses: data & program storage general purpose registers buffering table lookups

More information

Testing Configurable LUT-Based FPGAs

Testing Configurable LUT-Based FPGAs JOURNAL OF INFORMATION SCIENCE AND ENGINEERING FPGA TESTING16, 733-750 (2000) 733 Testing Configurable LUT-Based FPGAs Department of Electronic Engineering Fu Jen Catholic University Hsinchuang, Taipei,

More information

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I Overview Anti-fuse and EEPROM-based devices Contemporary SRAM devices - Wiring - Embedded New trends - Single-driver wiring -

More information

Block RAM. Size. Ports. Virtex-4 and older: 18Kb Virtex-5 and newer: 36Kb, can function as two 18Kb blocks

Block RAM. Size. Ports. Virtex-4 and older: 18Kb Virtex-5 and newer: 36Kb, can function as two 18Kb blocks Block RAM Dedicated FPGA resource, separate columns from CLBs Designed to implement large (Kb) memories Multi-port capabilities Multi-clock capabilities FIFO capabilities Built-in error detection and correction

More information