B0110 Fabric and Trust ENGR xD52 Eric VanWyk Fall 2013.

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
Programmable FIR Filter Design
컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley.
ECE 506 Reconfigurable Computing ece. arizona
Digital Design: Combinational Logic Blocks
Commercial FPGAs: Altera Stratix Family Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
A Digital Circuit Toolbox
Combinational Logic with Verilog Materials taken from: Digital Design and Computer Architecture by David and Sarah Harris & The Essentials of Computer.
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 5 Programmable.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
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.
©2004 Brooks/Cole FIGURES FOR CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES Click the mouse to move to the next page. Use the ESC key.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Configurable System-on-Chip: Xilinx EDK
Programmable logic and FPGA
Multiplexers, Decoders, and Programmable Logic Devices
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
Programmable logic families and embedded system design
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Digital Logic Level.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
DIGITAL COMPONENTS By Sohaib.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
Combinational and Sequential Logic Circuits.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
ECE 2372 Modern Digital System Design
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
PROGRAMMABLE LOGIC DEVICES (PLD)
Documentation Standards Circuit specification. –Description of what the system is supposed to do, including a description of all inputs and outputs and.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
J. Christiansen, CERN - EP/MIC
Galen SasakiEE 260 University of Hawaii1 Electronic Design Automation (EDA) EE 260 University of Hawaii.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
Programmable Logic Devices
Lecture 9 Topics: –Combinational circuits Basic concepts Examples of typical combinational circuits –Half-adder –Full-adder –Ripple-Carry adder –Decoder.
0/13 Introduction to Programmable Logic Devices Aleksandra Kovacevic Veljko Milutinovic
Basic Sequential Components CT101 – Computing Systems Organization.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Chapter 3 How transistors operate and form simple switches
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.
B1000 ALU ENGR xD52 Eric VanWyk Fall Today Review Timing with Adders Construct Adder/Subtractor Construct ALU.
Survey of Reconfigurable Logic Technologies
Reconfigurable Architectures Greg Stitt ECE Department University of Florida.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
B0111 Performance Anxiety ENGR xD52 Eric VanWyk Fall 2012.
COMBINATIONAL AND SEQUENTIAL CIRCUITS Guided By: Prof. P. B. Swadas Prepared By: BIRLA VISHVAKARMA MAHAVDYALAYA.
Programmable Logic Devices
B0110 ALU ENGR xD52 Eric VanWyk Fall Today Back to Gates! Review Timing with Adders Compare Growth Characteristics Construct Adder/Subtractor Construct.
This chapter in the book includes: Objectives Study Guide
ETE Digital Electronics
Sequential Logic Design
ENGR xD52 Eric VanWyk Fall 2013
Reconfigurable Architectures
More Devices: Control (Making Choices)
Instructor: Dr. Phillip Jones
Register Transfer and Microoperations
This chapter in the book includes: Objectives Study Guide
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
Digital Building Blocks
The Digital Logic Level
Programmable Configurations
XOR Function Logic Symbol  Description  Truth Table 
Digital Circuits and Logic
Programmable logic and FPGA
Presentation transcript:

b0110 Fabric and Trust ENGR xD52 Eric VanWyk Fall 2013

Acknowlegements ARM Holdings: M3 Cortex Instruction Set Addison Wesley Longman: Figures Wikipedia: Figures Asic World

Today Decoders, Muxes, LUTs, Oh My My PALs, CPLDs and FPGAs Do a Barrel Roll Trust Issues Preparation for your first Lab

Muxes, AKA Multiplexor Select or switch between inputs Has one output, two types of inputs – ‘Input’ – ‘Select’ #‘Select’ >= log2(# ‘Input’) – 8 inputs needs 3 select (address) bits

(Binary) Decoder Also called a ‘demux’ – Because it is the exact opposite. Only one output is active at once Usually has 2^inputs number of outputs Sometimes has an enable input – All Low or All Hi-Z

Width The width of a bus is how many bits are in that signal. – A wire is a bus with width = 1 Width of I4Q4?

Look Up Tables A form of Read Only Memory Defined by Width and Depth – Width = How many bits per word – Depth = How many words available Constructed as Muxes with constant inputs – Use Select to look up the table entry

Designing from Documentation Clone the following parts from basic gates: – DigiKey Part No NC7SZ157P6XTR-NDNC7SZ157P6XTR-ND – ND ND – ND ND – MC74HC164ADR2GOSTR-ND (Optional) MC74HC164ADR2GOSTR-ND Hint: Use D-Flip-Flops as a black box Do your solutions match theirs?

Programmable Logic 1969: XC157 – Mask Programmed, 12 gates 30 pins 1978: Programmable Logic Arrays – Field Programmed by burning fuses – Sum of Products – Equivalent to “Dozens” of gates 1985: Generic Array Logic – Field reprogammable

Programmable Logic Complex Programmable Logic Device: – 1000s to 10ks of Gates equivalent – Non-volatile (typically) – Sum of Products (typically)

Field Programmable Gate Array 1985: Xilinx releases the XC2064 – Equivalent to 1000 gates Typical Features: – Volatile (Reprogram every time power is applied) – Sea of Gates (Look Up Tables + Routing) – Programmable Logic Blocks – “Hard” Features – RAM, Multipliers, CPUs

Xilinx Zynq 7000 Up to 6.6 Million Gates Equivalent – 277,400 Look Up Tables – 554,800 Flip Flops – >2 Trillion Multiply Accumulates per second Dual Core 1GHz ARM Cortex A9 – 2.5 DMIPS/MHz $5,401.26

Fabric Design FPGA ‘Fabric’ is a sea of reconfigurable logic blocks embedded in reconfigurable routing logic. The reconfigurable logic used to be mostly look up tables with configurable constants. Now it is LUTs + other stuff too

Fabric Design Design a small piece of an FPGA using: – Decoders – Muxes – Basic Gates – Programmable Bits (Ignore Construction for now) Use your FPGA cell to create: – AND – XOR – Adder (Half? Full?) Start by figuring out your requirements: – Width? Depth?

Do a Barrel Roll We can multiply or divide a number by 2 by moving it left or right one position This is called a “shift”

Do a Barrel Roll “Arithmetic” shifts obey 2’s complement – Sign extension “Logical” shifts do not – Assume unsigned – Pad zeros Barrel Rotate “wraps” around

What could possibly go wrong? Sketch a shifter to do at least one type of shift – Hint: Layers of Muxes List possible ways it could be busted – Specific errors in the design of the component Come up with a test plan for your shifter How can you achieve full coverage without exhaustion?

Intro to Verilog Verilog is a Hardware Description Language – Describes a digital logic circuit – Syntax is like C – Writing in verilog is not at all like writing in C Synthesized to create: – FPGA bitstreams – ASICs

Structural Verilog Design Flow Start with a circuit diagram Give names to all wires and gates

Structural Verilog Design Flow Start with a circuit diagram

Structural Verilog Design Flow Start with a circuit diagram Give names to all wires and gates

Structural Verilog Design Flow Start with a circuit diagram Give names to all wires and gates List wires and gates in code wire wire1, A, B, C, Out; or U1 and U2

Structural Verilog Design Flow Start with a circuit diagram Give names to all wires and gates List wires and gates in code Connect gates to wires, Outputs first wire wire1, A, B, C, Out; or U1(wire1, A, B); and U2(Out, wire1, C);

Structural Verilog Design Flow Start with a circuit diagram Give names to all wires and gates List wires and gates in code Connect gates to wires, Outputs first Add Delays wire wire1, A, B, C, Out; or U1 #(50) (wire1, A, B); and U2 #(50) (Out, wire1, C);

Lab Preparation Select 1 or 2 partners Read through MP0.pdf – Questions? Begin paper&pencil sketching of modules You have the rest of class to begin work – Start Installing ModelSim Student Edition