Digital Systems Design

Similar documents
Why FPGAs? FPGA Overview. Why FPGAs?

L11/12: Reconfigurable Logic Architectures

L12: Reconfigurable Logic Architectures

Field Programmable Gate Arrays (FPGAs)

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

Microprocessor Design

ENGG2410: Digital Design Lab 5: Modular Designs and Hierarchy Using VHDL

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

Modeling Latches and Flip-flops

RELATED WORK Integrated circuits and programmable devices

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

Electrical and Telecommunications Engineering Technology_TCET3122/TC520. NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York

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

FPGA Design with VHDL

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

FPGA Design. Part I - Hardware Components. Thomas Lenzi

TKK S ASIC-PIIRIEN SUUNNITTELU

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

COE328 Course Outline. Fall 2007

Lecture 10: Programmable Logic

A Fast Constant Coefficient Multiplier for the XC6200

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

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

Sharif University of Technology. SoC: Introduction

Testing Digital Systems II

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

IE1204 Digital Design F11: Programmable Logic, VHDL for Sequential Circuits

EECS150 - Digital Design Lecture 2 - CMOS

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

CHAPTER 4 RESULTS & DISCUSSION

Reconfigurable Architectures. Greg Stitt ECE Department University of Florida

Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA

Modeling Latches and Flip-flops

2.6 Reset Design Strategy

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

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

IE1204 Digital Design. F11: Programmable Logic, VHDL for Sequential Circuits. Masoumeh (Azin) Ebrahimi

Topics. Microelectronics Revolution. Digital Circuits Part 1 Logic Gates. Introductory Medical Device Prototyping

UNIT IV CMOS TESTING. EC2354_Unit IV 1

Optimizing area of local routing network by reconfiguring look up tables (LUTs)

Digital. Digital. Revision: v0.19 Date: : / 76

FPGA-BASED EDUCATIONAL LAB PLATFORM

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques

Microprocessor System Data Transfer Interface Design: An Expert System Approach Using Signal Timing Behavioral Patterns

Laboratory Exercise 6

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

Digital Circuits Part 1 Logic Gates

FPGA Implementation of Viterbi Decoder

Digital Systems Laboratory 1 IE5 / WS 2001

WELCOME. ECE 2030: Introduction to Computer Engineering* Richard M. Dansereau Copyright by R.M. Dansereau,

ECSE-323 Digital System Design. Datapath/Controller Lecture #1

Ryerson University Department of Electrical and Computer Engineering EES508 Digital Systems

9 Programmable Logic Devices

Laboratory Exercise 7

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 9 Field Programmable Gate Arrays (FPGAs)

Laboratory Exercise 3

Authentic Time Hardware Co-simulation of Edge Discovery for Video Processing System

LAB 3 Verilog for Combinatorial Circuits

Adding Analog and Mixed Signal Concerns to a Digital VLSI Course

Radar Signal Processing Final Report Spring Semester 2017

S.K.P. Engineering College, Tiruvannamalai UNIT I

Investigation of Look-Up Table Based FPGAs Using Various IDCT Architectures

Experiment # 12. Traffic Light Controller

Design and Implementation of FPGA Configuration Logic Block Using Asynchronous Static NCL

CHAPTER 6 DESIGN OF HIGH SPEED COUNTER USING PIPELINING

California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 3220: Digital Design with VHDL Laboratory 7

DIGITAL SYSTEM DESIGN UNIT I (2 MARKS)


Contents Circuits... 1

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

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

Design and analysis of microcontroller system using AMBA- Lite bus

Prototyping an ASIC with FPGAs. By Rafey Mahmud, FAE at Synplicity.

EEM Digital Systems II

EL302 DIGITAL INTEGRATED CIRCUITS LAB #3 CMOS EDGE TRIGGERED D FLIP-FLOP. Due İLKER KALYONCU, 10043

EEE130 Digital Electronics I Lecture #1_2. Dr. Shahrel A. Suandi

Chapter 7 Memory and Programmable Logic

Programmable Logic Design I

Integrated Circuit Design ELCT 701 (Winter 2017) Lecture 1: Introduction

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

Digital Blocks Semiconductor IP

Eng. Mohammed Samara. Fall The Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department

MUHAMMAD NAEEM LATIF MCS 3 RD SEMESTER KHANEWAL

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

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

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005

DIGITAL FUNDAMENTALS

University of Victoria Electrical and Computer Engineering CENG 241 Digital Design I Laboratory Manual

Leveraging Reconfigurability to Raise Productivity in FPGA Functional Debug

Lecture 12: Clock and Synchronization. TIE Logic Synthesis Arto Perttula Tampere University of Technology Spring 2018

CPS311 Lecture: Sequential Circuits

1967 FIRST PRODUCTION MOS CHIPS 1969 LSI ( TRANSISTORS) PMOS, NMOS, CMOS 1969 E-BEAM PRODUCTION, DIGITAL WATCHES, CALCULATORS 1970 CCD

LAB 3 Verilog for Combinational Circuits

Lecture 17: Introduction to Design For Testability (DFT) & Manufacturing Test

Hardware Modeling of Binary Coded Decimal Adder in Field Programmable Gate Array

Laboratory Exercise 7

Review : 2 Release Date : 2019 Last Amendment : 2013 Course Code : SKEE 2742 Procedure Number : PK-UTM-FKE-(0)-10

Tribhuvan University Institute of Science and Technology Bachelor of Science in Computer Science and Information Technology

Distributed Arithmetic Unit Design for Fir Filter

HS Digital Electronics Pre-Engineering

Transcription:

ECOM 4311 Digital Systems Design Eng. Monther Abusultan Computer Engineering Dept. Islamic University of Gaza Page 1 ECOM4311 Digital Systems Design Module #2 Agenda 1. History of Digital Design Approach 2. HDLs 3. Design Abstraction 4. Modern Design Steps 5. Implementation Options (FPGAs) ECOM4311 Digital Systems Design Module #2 Page 2 1

In the beginning 1970's - designers used Paper/Pencil & Boolean Equations to create schematics - impractical in large designs 1980's - schematic based designs using electronic editors - this enabled Copy/Paste & Hierarchy - Design-reuse was enabled which increased design sizes mid 80's - HDL's became more common (created mid 80's) - Text-based Compilers (C, PASCAL) could be adapted to perform digital simulation - Larger Designs could be described using text Design Simulation Still separate Physical Implementation Page 3 More recently 1990's - Synthesis became practical due to increase in computational power of computers Synthesis - The creation of circuitry from a functional description ex) "Functional Description of MU" if (Sel = 0) = A else = B Synthesis A B Sel Page 4 2

Real Power 1990's - Now engineers had a power combination "HDL" if (Sel = 0) = A else = B "Simulation" "Synthesis" Sel A B Page 5 Abstraction Engineers could now stay at a higher level of abstraction and rely on the tools to 1) Simulate. 2) Synthesize the circuitry. - This allows larger systems to be described/designed in the same time. - Since HW is expensive to build, using the tools to reduce prototyping was the next step. Page 6 3

Timing Verification - Let the tool "Verify" timing - Less time spent prepping design for a prototyping run Functional Simulation HDL Synthesis Technology Mapping Place/Route (extract RC's) Match? Post Implementation Simulation Fab Page 7 VHDL V = Very High Speed Integrated Circuit (VHSIC) H = Hardware D = Description L = Language - Originally Designed by IBM, TI, Intermetrics (all sponsored by US DoD) - Original Intent was to Document Behavior (instead of writing system manuals) - Original Intent was NOT synthesis, that came later - Simulation was a given, since the designs were already in text and we had text compilers (C,.) Page 8 4

VHDL & IEEE - In 1987, IEEE published the "VHDL Standard" - IEEE 1076-1987 = First formal version of VHDL - Strong "Data Typing" - each signal/variable is typed (bit, bit_vector, real, integer) - assignments between different types NOT allowed - Did not handle multi-valued logic Page 9 VHDL & IEEE - High Impedance Tx/Rx Tx/Rx Tx/Rx - it is how circuits behave, strong drivers will control the bus when everyone is High-Z - When nobody is driving the bus, the bus is High-Z - So for true behavior, VHDL has to model High-Z - VHDL's built in types (bit and bit_vector) can only be 0 or 1, these don't cut it. - Weak/Strong - Busses have multiple drivers but some are weaker than others. - We should model these too. Page 10 5

VHDL & IEEE - VHDL allows users to come up with their own data types. - Since the world needed multi-valued logic, everyone started creating their own add-on packages. - this created a lot of confusion when multiple vendors worked together (i.e., Fab Shop and Designer) - In 1993, IEEE published an Upgrade - IEEE 1164 - added support for Multi-Valued Logic through the "STD_LOGIC" package - better syntax consistency - Every time there is a need for a data type, industry will start to create add-ons, then IEEE will create a standard to reduce confusion. Page 11 VHDL & IEEE - Other package standards that were added to VHDL - 1076.2 = "Real and Complex Data Types" - 1076.3 = "Signed and Unsigned Data Types" - The rev of VHDL in 2003 (1076.3) is the most commonly used release. - The most recent update is in 2008 (VHDL 4.0) which was approved by IEEE in 2009 (1076-2008). Page 12 6

VHDL Usage A fundamental motivation to use VHDL is that VHDL is a standard, technology/vendor independent language, and is therefore portable and reusable. The two main immediate applications of VHDL are in: The field of Programmable Logic Devices (CPLDs, FPGAs). The field of ASICs. Once the VHDL code has been written, it can be used either to implement the circuit in: a programmable device (from Altera, ilinx, Atmel, etc.) or can be submitted to a foundry for fabrication of an ASIC chip. Currently, many complex commercial chips (microcontrollers, for example) are designed using such an approach. ECOM4311 Digital Systems Design Module #2 Page 13 Design Abstraction At What level can we design? Page 14 7

Design Abstraction What does abstraction give us? - The higher in abstraction we go, the more complex & larger the system becomes - But, we let go over the details of how it performs (speed, fine tuning) - There are engineering jobs at each level What does VHDL model? - System : Chip : Register : Gate - VHDL let's us describe systems in two ways: 1) Structural (text netlist) 2) Behavioral (requires synthesis) Page 15 Digital Design Flow Designing Large Circuits - this is the ideal process Page 16 8

Digital Design Flow Designing Large Circuits - this is reality Page 17 What is an FPGA Field Programmable Gate Array An FPGA uses Re-urable Logic Blocks - we set the uration bits of this block to set its Boolean logic function - the uration is a Truth Table (or Look Up Table) of functionality 000 NOT() 001 NOT() 010 OR 011 NOR 100 AND 101 NAND 110 OR 111 NOR Page 18 9

LUT FOR 4-INPUT EVEN PARITY GENERATOR ADDRESS Input put 0 0000 0 1 0001 1 2 0010 1 3 0011 0 4 0100 1 5 0101 0 6 0110 0 7 0111 1 8 1000 1 9 1001 0 10 1010 0 11 1011 1 12 1100 0 13 1101 1 14 1110 1 15 1111 0 Page 19 LUTs = Look Up Tables - we can program the LUTs to be whatever type of gate is needed by the design - there are a finite number of LUTs within a given FPGA (also called "resources") The LUTs are ured into an ARRAY on the silicon - Array of LUT's = Array of Gates = Gate Array Page 20 10

Programmable Interconnect - there are programmable interconnect switches that connect the LUTs LUT LUT LUT LUT LUT LUT LUT LUT LUT Page 21 Configuration - We start with a Gate Level Schematic of our design (from synthesis) - The FPGA LUTs are ured to implement Gates LUT LUT LUT LUT LUT LUT LUT LUT LUT Page 22 11

Configuration - The interconnect switches are then programmed to implement the net connections A INV AND LUT B C INV OR LUT LUT LUT LUT Page 23 Configuration - The LUT and Interconnect uration is volatile (i.e., it goes away when power is removed) - Since the programming is done by the user after fabrication, we call it "Field Programmable - That is where Field Programmable Gate Array comes from. A INV AND LUT B C INV OR LUT LUT LUT LUT ECOM4311 Digital Systems Design Module #2 Page 24 12

Switch box ECOM4311 Digital Systems Design Module #2 Page 25 Adding More Functionality - FPGA manufacturer's quickly learned that Flip-Flops would be useful - They put a DFF next to a 4-Input LUT to form a "Configurable Logic Block" (CLB) CLB CLB CLB CLB Page 26 13

Adding Even More Functionality - To Improve performance, common logic functions were "hard coded" on the silicon - Block RAM - Adders / Multipliers - Global Clock Buffers - even Microprocessors! - PowerPC 32/64 bits RISC - MicroBlaze* 32 bits RISC - NIOS II* 32 bits RISC - PicoBlaze* 8 bits RISC * This is provided as a synthesizable component that can be Implemented on the logic fabric. Page 27 What else can we program? - Which Pins to use on the package - Clock - GPIOs - Reset - - What logic levels - CMOS_33, CMOS25, etc Page 28 14

Programming the FPGA - FPGA - we can program the FPGA directly - volatile nature means if we remove power, we'll lose program - EEPROM - we can download our code into an on-board EEProm - Upon power up, the EEProm will program the FPGA Page 29 FPGA Overview The Real World - historically (mid 90's) have been too expensive for deployment in commercial designs - ASICs have become very expensive and have become more powerful - As a result, it is now cost effective to use in designs - Learning how an FPGA operates and how to get performance out of them is a highly sought after engineer skill! Page 30 15