Outline Synchronous Systems Introduction Field Programmable Gate Arrays (FPGAs) Introduction Review of combinational logic

Similar documents
Why FPGAs? FPGA Overview. Why FPGAs?

EECS 151/251A Spring 2018 Digital Design and Integrated Circuits Instructors: N. Weaver & J. Wawrzynek. Lecture 2 EE141

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

Configurable Logic Blocks (CLBs)

L11/12: Reconfigurable Logic Architectures

L12: Reconfigurable Logic Architectures

Virtex-6 FPGA Configurable Logic Block

EECS150 - Digital Design Lecture 18 - Circuit Timing (2) In General...

Spartan-6 FPGA Configurable Logic Block

Reconfigurable Architectures. Greg Stitt ECE Department University of Florida

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS150, Spring 2011

EECS150 - Digital Design Lecture 2 - CMOS

Field Programmable Gate Arrays (FPGAs)

FPGA Design. Part I - Hardware Components. Thomas Lenzi

CAD for VLSI Design - I Lecture 38. V. Kamakoti and Shankar Balachandran

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

CDA 4253 FPGA System Design FPGA Architectures. Hao Zheng Dept of Comp Sci & Eng U of South Florida

Memory, Latches, & Registers

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz

Combinational vs Sequential

March 13, :36 vra80334_appe Sheet number 1 Page number 893 black. appendix. Commercial Devices

Evaluation of Advanced Techniques for Structural FPGA Self-Test

3/5/2017. A Register Stores a Set of Bits. ECE 120: Introduction to Computing. Add an Input to Control Changing a Register s Bits

High Performance Carry Chains for FPGAs

FPGA Design with VHDL

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

WINTER 15 EXAMINATION Model Answer

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus

CSE140L: Components and Design Techniques for Digital Systems Lab. FSMs. Tajana Simunic Rosing. Source: Vahid, Katz

Lecture 2: Basic FPGA Fabric. James C. Hoe Department of ECE Carnegie Mellon University

An Efficient High Speed Wallace Tree Multiplier

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

Chapter 7 Memory and Programmable Logic

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

Introduction Actel Logic Modules Xilinx LCA Altera FLEX, Altera MAX Power Dissipation

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

A Fast Constant Coefficient Multiplier for the XC6200

Lecture 6: Simple and Complex Programmable Logic Devices. EE 3610 Digital Systems

Lecture 10: Sequential Circuits

VU Mobile Powered by S NO Group

Chapter 3 Unit Combinational

EECS150 - Digital Design Lecture 17 - Circuit Timing. Performance, Cost, Power

Examples of FPLD Families: Actel ACT, Xilinx LCA, Altera MAX 5000 & 7000

Digital Integrated Circuits EECS 312. Review. Combinational vs. sequential logic. Sequential logic. Introduction to sequential elements

EECS150 - Digital Design Lecture 10 - Interfacing. Recap and Topics

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

Registers. Unit 12 Registers and Counters. Registers (D Flip-Flop based) Register Transfers (example not out of text) Accumulator Registers


Computer Architecture and Organization

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

CS/ECE 250: Computer Architecture. Basics of Logic Design: ALU, Storage, Tristate. Benjamin Lee

Synchronous Digital Logic Systems. Review of Digital Logic. Philosophy. Combinational Logic. A Full Adder. Combinational Logic

CS 61C: Great Ideas in Computer Architecture

Microprocessor Design

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20

Modeling Digital Systems with Verilog

12-bit Wallace Tree Multiplier CMPEN 411 Final Report Matthew Poremba 5/1/2009

Experiment 8 Introduction to Latches and Flip-Flops and registers

ECE 263 Digital Systems, Fall 2015

Altera s Max+plus II Tutorial

CPS311 Lecture: Sequential Circuits

EE 447/547 VLSI Design. Lecture 9: Sequential Circuits. VLSI Design EE 447/547 Sequential circuits 1

Topic D-type Flip-flops. Draw a timing diagram to illustrate the significance of edge

COMP2611: Computer Organization. Introduction to Digital Logic

Flip Flop. S-R Flip Flop. Sequential Circuits. Block diagram. Prepared by:- Anwar Bari

Digital Integrated Circuits EECS 312

Sequential Logic Design CS 64: Computer Organization and Design Logic Lecture #14

1. Convert the decimal number to binary, octal, and hexadecimal.

ECE 25 Introduction to Digital Design. Chapter 5 Sequential Circuits ( ) Part 1 Storage Elements and Sequential Circuit Analysis

Self-Test and Adaptation for Random Variations in Reliability

EECS 270 Midterm 2 Exam Closed book portion Fall 2014

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

2.6 Reset Design Strategy

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

CS 261 Fall Mike Lam, Professor. Sequential Circuits

Comparative Analysis of Stein s. and Euclid s Algorithm with BIST for GCD Computations. 1. Introduction

Digital Logic Design I

nmos transistor Basics of VLSI Design and Test Solution: CMOS pmos transistor CMOS Inverter First-Order DC Analysis CMOS Inverter: Transient Response

CSE 352 Laboratory Assignment 3

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533

More Digital Circuits

RELATED WORK Integrated circuits and programmable devices

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science

Midterm Exam 15 points total. March 28, 2011

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3)

Switching Circuits & Logic Design, Fall Final Examination (1/13/2012, 3:30pm~5:20pm)

Digital Electronics II 2016 Imperial College London Page 1 of 8

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

Digital Systems Design

Module for Lab #16: Basic Memory Devices

Chapter Contents. Appendix A: Digital Logic. Some Definitions

Registers & Counters. Logic and Digital System Design - CS 303 Erkay Savaş Sabanci University

MODULE 3. Combinational & Sequential logic

Analogue Versus Digital [5 M]

CprE 281: Digital Logic

COMP12111: Fundamentals of Computer Engineering

Transcription:

EECS150 - igital esign Lecture 2 - Synchronous igital Systems and FPGAs January 24, 2013 John Wawrzynek Electrical Engineering and Computer Sciences University of California, Berkeley http://www-inst.eecs.berkeley.edu/~cs150 Spring 2013 EECS150 lec02-ss-fpgas Page 1 Outline Synchronous Systems Introduction Field Programmable Gate Arrays (FPGAs) Introduction Review of combinational logic Spring 2013 EECS150 - Lec02-SS-FPGAs Page 2

Integrated Circuit Example PowerPC microprocessor microphotograph Superscalar (3 instructions/cycle) execution units (2 integer and 1 double precision IEEE floating point) 32 KByte Instruction and ata L1 caches ual Memory Management Units (MMU) External L2 Cache interface with integrated controller and cache tags. Comprises only transistors and wires. Connections to outside world (ex. motherboard) Memory interface Power (Vdd, GN) Clock input Spring 2012 EECS150 lec01-intro Page 3 Clock Signal Τ represents the time of one clock cycle. A source of regularly occurring pulses used to measure the passage of time. Waveform diagram shows evolution of signal value (in voltage) over time. Usually comes from an off-chip crystal-controlled oscillator. One main clock per chip/system. istributed throughout the chip/system. Heartbeat of the system. Controls the rate of computation by directly controlling all data transfers. Spring 2012 EECS150 lec01-intro Page 4

ata Signals Random adder circuit at a random point in time: The facts: 1. Low-voltage represents binary 0 and high-voltage, binary 1. 2. Circuits are designed and built to be restoring and deviations from ideal voltages are ignored. Outputs close to ideal. 3. In synchronous systems, all changes follow clock edges. Observations: 1. Most of the time, signals are in either low- or high-voltage position. 2. When the signals are at the highor low-voltage positions, they are not all the way to the voltage extremes (or they are past). 3. Changes in the signals correspond to changes in clock signal (but don t change every cycle). Spring 2012 EECS150 lec01-intro Page 5 Bus Signals Signal wires grouped together often called a bus. X 0 is called the least significant bit (LSB) X 3 is called the most significant bit (MSB) Capital X represents the entire bus. Here, hexadecimal digits are used to represent the values of all four wires. The waveform for the bus depicts it as being simultaneiously high and low. (The hex digits give the bit values). The waveform just shows the timing. Spring 2012 EECS150 lec01-intro Page

Circuit elay igital circuits cannot produce outputs instantaneously. In general, the delay through a circuit is called the propagation delay. It measures the time from when inputs arrive until the outputs change. The delay amount is a function of many things. Some out of the control of the circuit designer: Processing technology, the particular input values. And others under her control: Circuit structure, physical layout parameters. Spring 2012 EECS150 lec01-intro Page 7 Combinational Logic Blocks Example four-input function: True-table representation of function. Output is explicitly specified for each input combination. In general, CL blocks have more than one output signal, in which case, the truth-table will have multiple output columns. a b c d y 0 0 0 0 F(0,0,0,0) 0 0 0 1 F(0,0,0,1) 0 0 1 0 F(0,0,1,0) 0 0 1 1 F(0,0,1,1) 0 1 0 0 F(0,1,0,0) 0 1 0 1 F(0,1,0,1) 0 1 1 0 F(0,1,1,0) 1 1 1 1 F(0,1,1,1) 1 0 0 0 F(1,0,0,0) 1 0 0 1 F(1,0,0,1) 1 0 1 0 F(1,0,1,0) 1 0 1 1 F(1,0,1,1) 1 1 0 0 F(1,1,0,0) 1 1 0 1 F(1,1,0,1) 1 1 1 0 F(1,1,1,0) 1 1 1 1 F(1,1,1,1) Spring 2012 EECS150 lec01-intro Page 8

2-bit adder. Takes two 2-bit integers and produces 3-bit result. Think about true table for 32-bit adder. It s possible to write out, but it might take a while! Example CL Block a1 a0 b1 b0 c2 c1 c0 00 00 000 00 01 001 00 10 010 00 11 011 01 00 001 01 01 010 01 10 011 01 11 100 10 00 010 10 01 011 10 10 100 10 11 101 11 00 011 11 01 100 11 10 101 11 11 110 Theorem: Any combinational logic function can be implemented as a networks of logic gates. Spring 2012 EECS150 lec01-intro Page 9 Logic Gates AN ab c 00 0 01 0 10 0 11 1 ab c 00 0 01 1 10 1 11 1 OR NOT a b 0 1 1 0 NAN ab c 00 1 01 1 10 1 11 0 NOR ab c 00 1 01 0 10 0 11 0 XOR ab c 00 0 01 1 10 1 11 0 Logic gates are often the primitive elements out of which combinational logic circuits are constructed. In some technologies, there is a one-to-one correspondence between logic gate representations and actual circuits. Other times, we use them just as another abstraction layer (FPGAs have no real logic gates). How about these gates with more than 2 inputs? o we need all these types? Spring 2012 EECS150 lec01-intro Page 10

Example Logic Circuit a b c y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 How do we know that these two representations are equivalent? Spring 2012 EECS150 lec01-intro Page 11 Logic Gate Implementation Logic circuits have been built out of many different technologies. If we have a basic logic gate (AN or OR) and inversion we can build a complete logic family. TL CMOS Gate Hydraulic Mechanical LEGO logic gates. A clockwise rotation represents a binary one while a counterclockwise rotation represents a binary zero. Spring 2012 EECS150 lec01-intro Page 12

Restoration A necessary property of any suitable technology for logic circuits is "Restoration". Circuits need: to ignore noise and other non-idealities at the their inputs, and generate "cleaned-up" signals at their output. Otherwise, each stage would propagates input noise to their output and eventually noise and other non-idealities would accumulate and signal content would be lost. Spring 2012 EECS150 lec01-intro Page 13 Inverter Example of Restoration Example (look at 1-input gate, to keep it simple): Idealize Inverter Actual Inverter VIN VOUT Inverter acts like a non-linear amplifier The non-linearity is critical to restoration Other logic gates act similarly with respect to input/output relationship. Spring 2012 EECS150 lec01-intro Page 14

Project platform: Xilinx ML505-110 Spring 2013 EECS150 - Lec02-SS-FPGAs Page 15 FPGA: Xilinx Virtex-5 XC5VLX110T Virtex-5 die photo Spring 2013 EECS150 - Lec02-SS-FPGAs Page 1 A die is an unpackaged part Serial ()

Ball Grid Array (BGA) Flip-Chip Package From die to PC board... Copper Heatspreader Thermal Interface Material Underfill Epoxy Adhesive Epoxy* Flip Chip Solder Bump Silicon ie Solder Ball Organic Build-Up Substrate Spring 2013 EECS150 - Lec02-SS-FPGAs Page 17 Serial () FPGA Overview Basic idea: two-dimensional array of logic blocks and flip-flops with a means for the user to configure (program): 1. the interconnection between the logic blocks, 2. the function of each block. Simplified version of FPGA internal architecture: Spring 2013 EECS150 - Lec02-SS-FPGAs Page 18

Why are FPGAs Interesting? Technical viewpoint: For hardware/system-designers, like ASICs only better! Tape-out new design every few minutes/hours. oes the reconfigurability or reprogrammability offer other advantages over fixed logic? ynamic reconfiguration? In-field reprogramming? Self-modifying hardware, evolvable hardware? Spring 2013 EECS150 lec02-ss-fpgas Page 19 Why are FPGAs Interesting? Staggering logic capacity growth (10000x): Year Introduced evice Logic Cells logic gate equivalents 1985 XC204 128 1024 2011 XC7V2000T 1,954,50 15,3,480 FPGAs have tracked Moore s Law better than any other programmable device. Spring 2013 EECS150 lec02-ss-fpgas Page 20

Why are FPGAs Interesting? Logic capacity now only part of the story: on-chip RAM, high-speed I/Os, hard function blocks,... Modern FPGAs are reconfigurable systems Xilinx Virtex-5 LX110T 10GBps Serdes Ethernet MACs PCI express Phy But, the heterogeneity erodes the purity argument. Mapping is more difficult. Introduces uncertainty in efficiency of solution. 4 148 3Kb SRAM Blocks Spring 2013 EECS150 lec02-ss-fpgas Page 21 FPGAs are in widespread use FPGAs Power Net-Centric Battlefield on Many Fronts Far more designs are implemented in FPGA than in custom chips. INSIE Make MicroBlaze Processing Roar With Hardware Acceleration FPGAs Help CERN Track Particles Approaching Speed of Light Xcell Automotive Innovators Hit Hit High Top Gear in river Assistance with FPGA Platforms Hardware Trumps Software in Medical evice esign Taming Power raw in Consumer MPUs Plugging into High-Volume Consumer Products INSIE Algorithm evelopers Power New A System on Xilinx Automotive FPGA Platform Engineer Turns Blown HIGH VOLUME Engine into Hot Startup Spartan-3E: A New Era How to Beat Your Son Multimedia for Automotive at Guitar Hero Using Xilinx FPGA SP Algorithms Tips and Tricks for ESIGN TOOLS Using FPGA Editor New ISE 7.1i Software and SystemVerilog Control Your esigns SERIAL I/O Spring 2012 CS 150 - Lec02-logic-FPGA Page 22 Extend Your Reach SUBS

User Programmability Latch-based (Xilinx, Altera, ) + reconfigurable volatile relatively large. Latches are used to: 1. control a switch to make or break cross-point connections in the interconnect 2. define the function of the logic blocks 3. set user options: within the logic blocks in the input/output blocks global reset/clock Configuration bit stream is loaded under user control Spring 2012 CS 150 - Lec02-logic-FPGA Page 23 Background (review) for upcoming A MUX or multiplexor is a combinational logic circuit that chooses between 2 N inputs under the control of N control signals. A latch is a 1-bit memory (similar to a flip-flop). Spring 2013 EECS150 - Lec02-SS-FPGAs Page 24

Idealized FPGA Logic Block 4-input look up table () implements combinational logic functions Register optionally stores output of Spring 2012 CS 150 - Lec02-logic-FPGA Page 25 4- Implementation n-bit is implemented as a 2 n x 1 memory: inputs choose one of 2 n memory locations. memory locations (latches) are normally loaded with values from user s configuration bit stream. Inputs to mux control are the CLB inputs. Result is a general purpose logic gate. n- can implement any function of n inputs! Spring 2012 CS 150 - Lec02-logic-FPGA Page 2

as general logic gate An n-lut as a direct implementation of a function truth-table. Each latch location holds the value of the function corresponding to one input combination. Example: 4-lut Example: 2-lut Implements any function of 2 inputs. How many of these are there? How many functions of n inputs? Spring 2012 CS 150 - Lec02-logic-FPGA Page 27 FPGA Generic esign Flow esign Entry: Create your design files using: schematic editor or HL (hardware description languages: Verilog, VHL) esign Implementation: Logic synthesis (in case of using HL entry) followed by, Partition, place, and route to create configuration bit-stream file esign verification: Optionally use simulator to check function, Load design onto FPGA device (cable connects PC to development board), optional logic scope on FPGA check operation at full speed in real environment. Spring 2012 CS 150 - Lec02-logic-FPGA Page 28

Example Partition, Placement, and Route Idealized FPGA structure: Example Circuit: collection of gates and flip-flops Circuit combinational logic must be covered by 4-input 1-output s. Flip-flops from circuit must map to FPGA flip-flops. (Best to preserve closeness to CL to minimize wiring.) Best placement in general attempts to minimize wiring. Vdd, GN, clock, and global resets are all prewired. Spring 2012 CS 150 - Lec02-logic-FPGA Page 29 Example Partition, Placement, and Route OUT IN Example Circuit: collection of gates and flip-flops A A B B Two partitions. Each has single output, no more than 4 inputs, and no more than 1 flip-flop. In this case, inverter goes in both partitions. Note: the partition can be arbitrarily large as long as it has not more than 4 inputs and 1 output, and no more than 1 flip-flop. Spring 2012 CS 150 - Lec02-logic-FPGA Page 30

Xilinx FPGAs (interconnect detail) Spring 2012 CS 150 - Lec02-logic-FPGA Page 31 Colors represent different types of resources: Logic Block RAM SP (ALUs) Clocking I/O Serial I/O + PCI A routing fabric runs throughout the chip to wire everything together. Spring 2013 EECS150 - Lec02-SS-FPGAs Page 32 Serial ()

Configurable Logic Blocks (CLBs) Slices define regular connections to the switching fabric, and to slices in CLBs above and below it on the die. CLB COUT COUT Slice(1) Switch Matrix Slice(0) CIN CIN UG190_5_01_12205 The LX110T has 17,280 slices. Spring 2013 EECS150 - Lec02-SS-FPGAs Page 33 X-Y naming convention for slices X0, X2,... are lower CLB slices. X1, X3,... are upper CLB slices. Y0, Y1,... are CLB column positions. COUT COUT COUT COUT CLB Slice X1Y1 CLB Slice X3Y1 Slice X0Y1 Slice X2Y1 CIN CIN CIN CIN CLB COUT Slice X1Y0 COUT CLB COUT Slice X3Y0 COUT Slice X0Y0 Slice X2Y0 Lower-left corner of the die. UG190_5_02_12205 Spring 2013 EECS150 - Lec02-SS-FPGAs Page 34

Atoms: 5-input Look Up Tables (s) A2 A3 A4 A5 A 5 A[:2] 00000 00001 00010. 1 0 1 (1) (0) (1). (0). A[:2] Computes any 5- input logic function. Timing is independent of function. 11101 11110 11111 0 0 1 (0) (1) Latches set during configuration. 35 Spring 2013 EECS150 - Lec02-SS-FPGAs Page A1 A2 A3 A4 A5 A Virtex-5 -s: Composition of 5-s May be used A2 A3 A4 A5 A A2 A3 A4 A5 A 5 5 5 as one -input ( out)...... or as two 5-input S ( and 5) Figure 3: Block iagram of a Virtex-5 -Input WP245_03_05100 The LX110T has 9,120 -s - delay is 0.9 ns Combinational logic (post configuration) Spring 2013 EECS150 - Lec02-SS-FPGAs Page 3

([:1]) (C[:1]) (B[:1]) A[:1] A[:1] A[:1] The simplest view of a slice SLICE (Optional) (Optional) () () (C) (C) (B) (B) Four -s Four Flip-Flops Switching fabric may see combinational and registered outputs. (A[:1]) (CLK) A[:1] (Optional) (Optional) (A) (A) An actual Virtex-5 slice adds many small features to this simplified diagram. We show them one by one... Spring 2013 EECS150 - Lec02-SS-FPGAs Page 37 SLICE Two 7-s per slice... ([:1]) A[:1] F7BMUX (C[:1]) (CX) A[:1] (CMUX) (C) (Optional) Extra multiplexers(f7amux, F7BMUX) (CLK) (B[:1]) A[:1] F7AMUX Extra inputs (AX and CX) (AMUX) (A[:1]) A[:1] (A) (Optional) (AX) Spring 2013 EECS150 - Lec02-SS-FPGAs Page 38

Or one 8-s per slice... SLICE ([:1]) A[:1] F7BMUX (C[:1]) A[:1] F8MUX Third multiplexer(f8mux) (CX) (BMUX) (B[:1]) A[:1] F7AMUX (Optional) (B) Third input (BX) (A[:1]) (AX) (BX) (CLK) A[:1] Configuring the n of an n-... Spring 2013 EECS150 - Lec02-SS-FPGAs UG Page 39 Extra muxes to chose option... Inputs X O5 FE/LAT CE MUX From eight 5-s... to one 8-. CLK SR REV C Inputs CX O5 F7BMUX F8MUX FE/LAT CE C CMUX C Combinational or registered outs. CLK B Inputs BX O5 SR REV FE/LAT CE CLK SR REV B BMUX B Flip-flops unused by s can be used standalone. A Inputs AX CE CLK SR REV (X) F7AMUX A AMUX O5 FE/LAT A CE CLK SR REV Spring 2013 EECS150 - Lec02-SS-FPGAs Page 40 UG190_5_25_05050

From O5 From X S3 COUT (To Next Slice) I3 MUXCY Virtex 5 Vertical Logic Carry Chain Block (CARRY4) CO3 O3 MUX/* MUX We can map ripple-carry addition onto carry-chain block. (Optional) From C S2 MUXCY CO2 CMUX/C* O5 From C CX I2 O2 CMUX C (Optional) From B S1 MUXCY CO1 BMUX/B* O5 From B BX I1 O1 BMUX B From A O5 From A AX S0 I0 CYINIT 0 1 MUXCY CIN CO0 O0 (Optional) AMUX/A* AMUX A (Optional) * Can be used if unregistered/registered outputs are free. Spring 2013 CIN (From Previous Slice) EECS150 - Lec02-SS-FPGAs Page 41 UG190_5_24_05050 The carry-chain block also useful for speeding up other adder structures and counters. Putting it all together... a SLICEL. 5 4 3 2 1 X A A5 A4 A3 A2 A1 ROM O5 COUT X CE CK Reset Type Sync Async FF LATCH INIT1 INIT0 SRHIGH SRLOW SR REV MUX The previous slides explain all SLICEL features. CMUX C C5 C4 C3 C2 C1 CX B B5 B4 B3 B2 B1 BX A A5 A4 A3 A2 A1 AX SR CE CLK A A5 A4 A3 A2 A1 A A5 A4 A3 A2 A1 A A5 A4 A3 A2 A1 ROM ROM ROM O5 O5 O5 0/1 C CX B BX A AX CE CK CE CK CE CK Spring 2013 EECS150 - Lec02-SS-FPGAs Page FF LATCH INIT1 INIT0 SRHIGH SRLOW SR FF LATCH INIT1 INIT0 SRHIGH SRLOW SR FF LATCH INIT1 INIT0 SRHIGH SRLOW SR REV REV REV C C BMUX B B AMUX A A About 50% of the 17,280 slices in an LX110T are SLICELs. The other slices are SLICEMs, and have extra features. 42 CIN UG190_5_04_0320

A2 A3 A4 A5 A 5 A[:2] 00000 00001 00010. 11101 11110 11111 1 0 1 0 0 1 Recall: 5- architecture... (1) (0) (1). (0) (0) (1). A[:2] 32 Latches. Configured to 1 or 0. Some parts of a logic design need many state elements. SLICEMs replace normal 5-s with circuits that can act like 5-s, but can alternatively use the 32 latches as RAM, ROM, shift registers. Spring 2013 EECS150 - Lec02-SS-FPGAs Page 43 Virtex-5 SP48E Slice Efficient implementation of multiply, add, bit-wise logical. LX110T has 4 in a single column. Spring 2013 EECS150 - Lec02-SS-FPGAs Page 44

Spring 2013 EECS150 - Lec02-SS-FPGAs Page 45 To be continued... Throughout the semester, we will look at different Virtex-5 features in-depth. Switch fabric Block RAM SP48 (ALUs) Clocking I/O Serial I/O + PCI Spring 2013 EECS150 - Lec02-SS-FPGAs Page 4 Serial ()