EE3A1 Computer Hardware and Digital Design Lecture 1 The Role of Hardware Description Languages.

Slides:



Advertisements
Similar presentations
ENEL111 Digital Electronics
Advertisements

ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
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.
Hardware Description Languages Drawing of circuit schematics is not practical for circuits containing more than few tens of gates. We need a way to just.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
The Multicycle Processor II CPSC 321 Andreas Klappenecker.
The Design Process CPSC 321 Computer Architecture Andreas Klappenecker.
Chapter 10-Arithmetic-logic units
Computer ArchitectureFall 2008 © August 25, CS 447 – Computer Architecture Lecture 3 Computer Arithmetic (1)
1 COMP541 Arithmetic Circuits Montek Singh Mar 20, 2007.
2/9/2007EECS150 Lab Lecture #41 Debugging EECS150 Spring2007 – Lab Lecture #4 Laura Pelton Greg Gibeling.
ECE Lecture 1 1 ECE 3561 Advanced Digital Design Department of Electrical and Computer Engineering The Ohio State University.
IT Systems Number Operations EN230-1 Justin Champion C208 –
ENGIN112 L14: Binary Adder Subtractor October 3, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 14 Binary Adders and Subtractors.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Computer ArchitectureFall 2007 © August 29, 2007 Karem Sakallah CS 447 – Computer Architecture.
B. RAMAMURTHY Hardware Description Language 8/2/
Lecture # 12 University of Tehran
Digital Electronics.
Outline Analysis of Combinational Circuits Signed Number Arithmetic
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
IKI a-Combinatorial Components Bobby Nazief Semester-I The materials on these slides are adopted from those in CS231’s Lecture Notes.
CSC321 Where We’ve Been Binary representations Boolean logic Logic gates – combinational circuits Flip-flops – sequential circuits Complex gates – modules.
Number Systems ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
Csci 136 Computer Architecture II – Constructing An Arithmetic Logic Unit Xiuzhen Cheng
1 Combinational Logic Design Digital Computer Logic Kashif Bashir
Instructor: Alexander Stoytchev CprE 281: Digital Logic.
CPEN Digital System Design
DIGITAL CIRCUITS David Kauchak CS52 – Fall 2015.
IT253: Computer Organization Lecture 7: Logic and Gates: Digital Design Tonga Institute of Higher Education.
EE3A1 Computer Hardware and Digital Design
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 11 High Desecration Language- Based Design.
COMP541 Arithmetic Circuits
1 Hardware Description Languages: a Comparison of AHPL and VHDL By Tamas Kasza AHPL&VHDL Digital System Design 1 (ECE 5571) Spring 2003 A presentation.
EE3A1 Computer Hardware and Digital Design Lecture 2 Introduction to VHDL.
Hardware Description Languages Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
1  2004 Morgan Kaufmann Publishers Lets Build a Processor Almost ready to move into chapter 5 and start building a processor First, let’s review Boolean.
ECE Lecture 1 1 ECE 561 Digital Circuit Design Department of Electrical and Computer Engineering The Ohio State University.
Arithmetic-logic units1 An arithmetic-logic unit, or ALU, performs many different arithmetic and logic operations. The ALU is the “heart” of a processor—you.
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
Addition and multiplication Arithmetic is the most basic thing you can do with a computer, but it’s not as easy as you might expect! These next few lectures.
1 Lecture 14 Binary Adders and Subtractors. 2 Overview °Addition and subtraction of binary data is fundamental Need to determine hardware implementation.
EE204 L03-ALUHina Anwar Khan EE204 Computer Architecture Lecture 03- ALU.
President UniversityErwin SitompulDigital Systems 7/1 Lecture 7 Digital Systems Dr.-Ing. Erwin Sitompul President University
Addition and multiplication1 Arithmetic is the most basic thing you can do with a computer, but it’s not as easy as you might expect! These next few lectures.
Hardware Description Languages: Verilog
Topics Modeling with hardware description languages (HDLs).
Hardware Description Languages: Verilog
Topics Modeling with hardware description languages (HDLs).
Hardware Description Language
Hardware Description Language
HDL Hardware Description Language
332:437 Lecture 8 Verilog and Finite State Machines
Digital Systems Section 12 Binary Adders. Digital Systems Section 12 Binary Adders.
Hardware Description Language
EECS150 Fall 2007 – Lab Lecture #4 Shah Bawany
Arithmetic and Decisions
Hardware Description Language
Hardware Description Language
332:437 Lecture 8 Verilog and Finite State Machines
Digital Designs – What does it take
Presentation transcript:

EE3A1 Computer Hardware and Digital Design Lecture 1 The Role of Hardware Description Languages

Syllabus  14 lectures u Design processes (1 and 10) u VHDL (2-6) u Digital integrated circuits (7 and 9) u Computer systems (8) u Microprocessor hardware (10-12) u System testing (13-14)  3 worked example classes u Last year’s exam  5 lab sessions

Assessment  75% exam in May/June u 1½ hours. Answer 2 out of 3 questions  25% coursework assignment u Use VHDL to design part of a microprocessor u January deadline

Introduction: Modern Digital Design  Modern technique for hardware design: u Hardware description languages HDLs u Write HDL description of what whole design does u Automatically translate into detailed hardware design: synthesis  Why is this good …

What’s wrong with traditional methods?  An example: Design a 4-bit comparator  When a>b then g=1; otherwise g=0.  2 different design teams work independently.

Solution from team 1  K-map?  8 inputs: K-map is difficult  Find another way

Solution 1: Idea to make it easy  Compare one bit at a time, starting from msb.  a=1000  b=0100  a is bigger

Solution 1: Idea to make it easy  Compare one bit at a time, starting from msb.  a=0100  b=1000  b is bigger

 Compare one bit at a time, starting from msb.  a=0100  b=0110 Solution 1: Idea to make it easy  Inconclusive: look at next bits  b is bigger

Solution 1: Idea to make it easy  Compare one bit at a time, starting from msb. Stage 3 a3a3 b3b3 g2g2 g

Solution 1: Idea to make it easy  Compare one bit at a time, starting from msb. Stage 3 a3a3 b3b3 g2g2 g a 3 is bigger: output a 1

Solution 1: Idea to make it easy  Compare one bit at a time, starting from msb. Stage 3 a3a3 b3b3 g2g2 g a 3 is smaller: output a 0

Solution 1: Idea to make it easy  Compare one bit at a time, starting from msb. Stage 3 a3a3 b3b3 g2g2 g Inconclusive: copy g 2 to output

Solution 1: Idea to make it easy  Compare one bit at a time, starting from msb.

Solution 1: Idea to make it easy  Compare one bit at a time, starting from msb.  Stage 2  Process is same as stage 3

Solution 1: Idea to make it easy  Compare one bit at a time, starting from msb.  Stage 1  Process is same as stage 2

Solution 1: Idea to make it easy  Compare one bit at a time, starting from msb. Stage 0 a0a0 b0b0 g0g

Solution 1: Idea to make it easy  Compare one bit at a time, starting from msb.

Solution 1: Final design

Solution from team 2  Subtract a from b.  If the answer is negative, a is bigger  The msb is sign bit  If b>a then b-a is positive, msb=0  If b<a then b-a is negative, msb=1  g = msb of ( b + (2’s complement of a) )

Solution 1: Idea to make it easy  g = msb of ( b + (2’s complement of a) )  Now we just need to build an adder

Solution 2: 1-bit adder xyC inSumC out

Solution 2: 1-bit adder  Standard circuit: look it up in a book

Solution from team 2  4 full adders chain together to give 4 bit adder:

Evaluation of 2 rival solutions

Evaluation  Design effort: Lot of work for a small design  Maintainability: Gate diagrams hard to understand  Both designs are quite poor  Need something quicker and easier

Evaluation  Which of the two designs is best? u What does best mean? u Cheapest? u Fastest? u Longest battery life? u What type of hardware will be used to build the design?  Probably don’t know answers yet.

Evaluation  Some types of hardware don’t use basic logic gates  FPGAs don’t use AND gate and OR gates.  Lot of effort was wasted  Avoid designing at level of logic gates.

Evaluation  The really big problem… u Designs don’t do the same thing! u a=1111 and b=0001 u Design 1 gives g=1 u Design 2 gives g=0  Why?

Evaluation of 2 rival solutions  a=1111 and b=0001  Design 1 gives g=1  Design 2 gives g=0  Why?

Number systems Unsigned Signed 2s complement  a=1111 and b=0001  Design 1 gives g=1  Design 2 gives g=0  No one was wrong  Spec was ambiguous  Outcome is disaster

Number systems  No one was wrong  Spec was ambiguous  Outcome is disaster

Wish list  No gate level designs. u Just say what we want design to do. u Gates generated automatically.  Specifications that have no ambiguity  Specifications that can be thoroughly tested in simulation  HDLs try to solve this

HDLs  VHDL: u g b else ‘0’;  Verilog: u assign g = a>b ? 1 : 0;

Types of description  Behavioural u says what it does u doesn’t say how to make it  g b else ‘0’;  Structural u says how to make it (connecting blocks together) u doesn’t say what it does

Questions  What type of description?  It can't be bargained with. It can't be reasoned with. It can’t show feel pity, or remorse, or fear. And it absolutely will not stop, ever, until you are dead.

Questions  What type of description?  The foot bone's connected to the shin bone, The shin bone's connected to the knee bone, The knee bone's connected to the thigh bone, The thigh bone's connected to the hip bone, The hip bone's connected to the back bone, The back bone's connected to the neck bone, The neck bone's connected to the head bone,

Shin Thigh Knee Hip Questions  What type of description?  The foot bone's connected to the shin bone, The shin bone's connected to the knee bone, The knee bone's connected to the thigh bone, The thigh bone's connected to the hip bone, The hip bone's connected to the back bone, The back bone's connected to the neck bone, The neck bone's connected to the head bone,

Structural descriptions: Netlists  Structural: u How to connect simpler units together u But we then need to design the simpler units

Structural descriptions: Netlists  Structural: u How to connect simpler units together u But we then need to design the simpler units  Netlist: u Special case of Structural u The only units used are already available

Computer Design Tools  Synthesis u Start with behavioural description u Know what it does u Synthesis generates a netlist to make it  Simulation u Take a description (behavioural or structural) u Apply inputs to it u Simulator predicts what outputs would be

Summary  Traditional methods u Productivity is too low. u Detailed decisions made early in design process. u Re-targetting from one technology to another means whole design must be repeated. u Specification may be ambiguous or incomplete.

Summary  HDLs aim to alleviate these problems.  Say what the modules of the design should do: u Behavioural description  Automatically translated to implementation: u Synthesis