CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 4: Delay models & std_ulogic Instructor: Francis G. Wolff Case Western Reserve.

Slides:



Advertisements
Similar presentations
CWRU EECS 317 EECS 317 CAD Computer Aided Design LECTURE 2: Delay models, std_ulogic and with-select-when Instructor: Francis G. Wolff
Advertisements

SOP and POS Forms Notation.
Multiplexers Section 3-7 Mano & Kime. Multiplexers & Demultiplexers Multiplexers (Selectors) Lab 1 – Behavioral VHDL -- Multiplexers MUX as a Universal.
LECTURE 4: The VHDL N-bit Adder
Introduction to VHDL CLASS MATERIALS EECE 255. Very High Speed Integrated Circuit Hardware Description Language Industry standard language to describe.
CWRU EECS 317 EECS 317 Computer Design LECTURE 6: State machines Instructor: Francis G. Wolff Case Western Reserve University This.
1 Lecture 13 VHDL 3/16/09. 2 VHDL VHDL is a hardware description language. The behavior of a digital system can be described (specified) by writing a.
Logic Design Fundamentals - 1 Lecture L1.1. Logic Design Fundamentals - 1 Basic Gates Basic Combinational Circuits Basic Sequential Circuits.
Introduction to VHDL VHDL Tutorial R. E. Haskell and D. M. Hanna T1: Combinational Logic Circuits.
CS 300 – Lecture 3 Intro to Computer Architecture / Assembly Language Sequential Circuits.
1 Digital Logic
Introduction to VHDL Multiplexers. Introduction to VHDL VHDL is an acronym for VHSIC (Very High Speed Integrated Circuit) Hardware Description Language.
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
Physical States for Bits. Black Box Representations.
Basic Gates Discussion D2.1. Basic Gates NOT Gate AND Gate OR Gate XOR Gate NAND Gate NOR Gate XNOR Gate.
Programming in VHDL Using Processes. How Processes Run A process is either in suspend mode or is running. For a process to run, there has to be a change.
Computer ArchitectureFall 2008 © August 20 th, Introduction to Computer Architecture Lecture 2 – Digital Logic Design.
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448.
AND Gate: A Logic circuit whose output is logic ‘1’ if and only if all of its inputs are logic ‘1’.
1 H ardware D escription L anguages Basic Language Concepts.
Data Flow Modeling of Combinational Logic Simple Testbenches
Transistors and Logic Circuits. Transistor control voltage in voltage out control high allows current to flow -- switch is closed (on) control low stops.
CWRU EECS 317 EECS 317 CAD Computer Aided Design LECTURE 3: Synopsys Simulator Instructor: Francis G. Wolff Case Western Reserve University.
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 Topic9: Three-State Buffers, Encoders/Decoders José Nelson Amaral.
LECTURE 8: VHDL PROCESSES
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE Simulator 1: Synopsys Simulator Instructor: Francis G. Wolff Case Western.
LECTURE 7: VHDL Standard Cell Library Package
Exclusive OR Gate. Logically, the exclusive OR (XOR) operation can be seen as either of the following operations:exclusive OR (XOR) 1. A AND NOT B OR.
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
Basic Concepts in VHDL Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 5: AOIs, WITH-SELECT-WHEN, WHEN-ELSE Instructor: Francis G. Wolff Case Western.
מבנה מחשב תרגול 2. 2 Boolean AND Operation Truth Table Equivalent Gate Different notations:
Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1.
Computer Architecture Lecture 3 Combinational Circuits Ralph Grishman September 2015 NYU.
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
In1200/04-PDS 1 TU-Delft Digital Logic. in1200/04-PDS 2 TU-Delft Unit of Information l Computers consist of digital (binary) circuits l Unit of information:
L19 – Resolved Signals. Resolved Signals  What are resolved signals In systems In VHDL Resolution – Isn’t that for resolving conflicts?  Ref: text Unit.
DATA TYPES 1.Pre-Defined Data Types 2. User-Defined Data Types.
CEC 220 Digital Circuit Design Timing Diagrams, MUXs, and Buffers Mon, Oct 5 CEC 220 Digital Circuit Design Slide 1 of 20.
CEC 220 Digital Circuit Design Timing Diagrams, MUXs, and Buffers Friday, February 14 CEC 220 Digital Circuit Design Slide 1 of 18.
CEC 220 Digital Circuit Design Timing Diagrams, MUXs, and Buffers
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 3: The VHDL N-bit Adder Instructor: Francis G. Wolff Case Western Reserve.
ECOM 4311—Digital System Design with VHDL
Apr. 3, 2000Systems Architecture I1 Introduction to VHDL (CS 570) Jeremy R. Johnson Wed. Nov. 8, 2000.
May 9, 2001Systems Architecture I1 Systems Architecture I (CS ) Lab 5: Introduction to VHDL Jeremy R. Johnson May 9, 2001.
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE Simulator 2: Textio, Wait, Clocks, and Test Benches Instructor: Francis G. Wolff
George Mason University Data Flow Modeling of Combinational Logic ECE 545 Lecture 5.
1 The ALU l ALU includes combinational logic. –Combinational logic  a change in inputs directly causes a change in output, after a characteristic delay.
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 6: State machines Instructor: Francis G. Wolff Case Western Reserve University.
Lecture #18 Page 1 ECE 4110–5110 Digital System Design Lecture #18 Agenda 1.MSI Demultiplexers 2.MSI Tri-State Buffers 3.MSI Comparators Announcements.
IAY 0600 Digital Systems Design
Elements of Structural Models
Basic Language Concepts
Transistors and Logic Circuits
Exclusive OR Gate.
Chapter 12 : Field – Effect Transistors
ECE 434 Advanced Digital System L15
CPE 528: Lecture #4 Department of Electrical and Computer Engineering University of Alabama in Huntsville.
Week 7: Gates and Circuits: PART II
CPE/EE 422/522 Advanced Logic Design L11
Lecture 11: Hardware for Arithmetic
IAS 0600 Digital Systems Design
CPE 528: Lecture #3 Department of Electrical and Computer Engineering University of Alabama in Huntsville.
IAS 0600 Digital Systems Design
Digital Logic Circuits
XOR, XNOR, and Binary Adders
LOGIC Circuits.
Agenda Lecture Content: Combinatorial Circuits Boolean Algebras
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 4: Delay models & std_ulogic Instructor: Francis G. Wolff Case Western Reserve University This presentation uses powerpoint animation: please viewshow

CWRU EECS 318 Delta Delay

CWRU EECS 318 Delta Delay: Example using scheduling

CWRU EECS 318 Inertial Delay

CWRU EECS 318 Transport Delay

CWRU EECS 318 Inertial and Transport Delay Sig a b Inertial Delay is useful for modeling logic gates Transport Delay is useful for modeling data buses, networks

CWRU EECS 318 Combinatorial Logic Operators ANDz <= x AND y; NANDz <= NOT (x AND y); NORz <= NOT (x OR Y); ORz <= x OR y; NOTz <= NOT (x); z<= NOT x; XORz <= (x and NOT y) OR (NOT x AND y); z <= (x AND y) NOR (x NOR y); --AOI XNORz <= (x and y) OR (NOT x AND NOT y); z <= (x NAND y) NAND (x OR y); --OAI 2 2+2i 2i2i 2i2i 10 #Transistors Footnote: (i=#inputs) We are only referring to CMOS static transistor ASIC gate designs Exotic XOR designs can be done in 6 (J. W. Wang, IEEE J. Solid State Circuits, 29, July 1994)

CWRU EECS 318 Std_logic AND: Un-initialized value AND01U U U0UU OR01U 001U 1111 UU1U 0 AND is 0 0 NAND is 1 1 OR is 1 1 NOR is 0 NOT01U 10U

CWRU EECS 318 Std_logic AND: X Forcing Unknown Value AND0X1U X0XXU 10X1U U0UUU 0 AND is 0 0 NAND is 1 OR0X1U 00X1U XXX1U UUU1U 1 OR is 0 0 NOR is 1 NOT0X1U 1X0U

CWRU EECS 318 Modeling logic gate values: std_ulogic ‘1’,-- Forcing 1 ‘H’,-- Weak 1 ‘L’,-- Weak 0 ‘X’,-- Forcing Unknown: i.e. combining 0 and 1 TYPE std_ulogic IS ( -- Unresolved LOGIC ‘Z’,-- High Impedance (Tri-State) ‘0’,-- Forcing 0 ‘U’,-- Un-initialized ‘W’,-- Weak Unknown: i.e. combining H and L ‘-’,-- Don’t care ); Example: multiple drivers X 0

CWRU EECS 318 X The rising transition signal L W H 1 > 3.85 Volts Vcc=5.5 25°C 0 < 1.65 Volts Unknown 2.20 Volt gap

CWRU EECS 318 Multiple output drivers: Resolution Function UX0LZWH 1- UUUUUUUUUU XUXXXXXXXX 0UX00000XX LUX0LLWW1X ZUX0LZWH1X WUX0WWWW1X HUX0WHWH1X 1UXX11111X -UXXXXXXXX Suppose that the first gate outputs a 1 the second gate outputs a 0 then the mult-driver output is X X: forcing unknown value by combining 1 and 0 together

CWRU EECS 318 Multiple output drivers: Resolution Function UX0LZWH 1- UUUUUUUUUU X XXXXXXXX XX L LLWW1X Z ZWH1X W WW1X H H1X 1 1X - X Note the multi-driver resolution table is symmetrical Observe that 0 pulls down all weak signals to 0 H L => W

CWRU EECS 318 Resolution Function: std_logic buffer gate input: U0LWXZH 1- output: U00XXX11X 0 or L becomes 0 H or 1 becomes 1 Transition zone becomes X 1 H W, Z L X 0 0 std_logic std_ulogic

CWRU EECS 318 Resolving input: std_logic AND GATE Process each input as an unresolved to resolved buffer. std_ulogic For example, let’s transform z <= ‘W’ AND ‘1’; std_logic Then process the gate as a standard logic gate { 0, X, 1, U } z <= ‘W’ AND ‘1’; -- convert std_ulogic ‘W’ to std_logic ‘X’ W 1 z <= ‘X’ AND ‘1’; -- now compute the std_logic AND X 1 z <= ‘X’; X

CWRU EECS to-1 Multiplexor: with-select-when 0101 abab S Y abab Y S Y <= sa OR sb; sa <= a AND NOT s; sb <= b AND s; Y <= sa OR sb; sa <= a AND NOT s; sb <= b AND s; WITH s SELECT Y <= a WHEN ‘0’, b WHEN ‘1’; WITH s SELECT Y <= a WHEN ‘0’, b WHEN OTHERS; or alternatively structural combinatorial logic behavioral Only values allowed

CWRU EECS to-1 Multiplexor: with-select-when Y <= sa OR sb OR sc OR sd; sa <= a AND ( NOT s(1) AND NOT s(0) ); sb <= b AND ( NOT s(1) AND s(0) ); sc <= c AND ( s(1) AND NOT s(0) ); sd <= d AND ( s(1) AND s(0) ); Y <= sa OR sb OR sc OR sd; sa <= a AND ( NOT s(1) AND NOT s(0) ); sb <= b AND ( NOT s(1) AND s(0) ); sc <= c AND ( s(1) AND NOT s(0) ); sd <= d AND ( s(1) AND s(0) ); WITH s SELECT Y <=a WHEN “00”, b WHEN “01”, c WHEN “10”, d WHEN OTHERS; abcdabcd S Y As the complexity of the combinatorial logic grows, the SELECT statement, simplifies logic design but at a loss of structural information Structural Combinatorial logic behavioral

CWRU EECS 318 Tri-State buffer oe y x ENTITY Buffer_Tri_State IS PORT(x:INstd_logic; y:OUTstd_logic; oe: INstd_logic ); END; ARCHITECTURE Buffer3 OF Buffer_Tri_State IS BEGIN WITH oe SELECT y <= x WHEN ‘1’, -- Enabled: y <= x; ‘Z’ WHEN ‘0’; -- Disabled: output a tri-state END;

CWRU EECS 318 Assignment #2 (Part 1 of 3) Due Thurs, 9/14 1) Assume each gate is 10 ns delay for the above circuit. (a) Write entity-architecture for a inertial model (b) Given the following waveform, draw, R, S, Q, NQ (inertial) R <= ‘0’, ‘1’ after 25 ns, ‘0’ after 30 ns; S <= ‘1’, ‘0’ after 20 ns, ‘1’ after 35 ns, ‘0’ after 50 ns; (c) Write entity-architecture for a transport model (d) Given the waveform in (b) draw, R, S, Q, NQ (transport)

CWRU EECS 318 Assignment #2 (Part 2 of 3) X F Y a (2) Given the above two tri-state buffers connected together ( assume transport model of 5ns per gate), draw X, Y, F, a, b, G for the following input waveforms: X <= ‘1’, ‘0’ after 10 ns, ‘1’ after 20 ns, ‘L’ after 30 ns, ‘1’ after 40 ns; Y <= ‘0’, ‘L’ after 10 ns, ‘W’ after 20 ns, ‘Z’ after 30 ns, 0 after 40 ns; F <= ‘0’, ‘1’ after 10 ns, ‘0’ after 50 ns; G b

CWRU EECS 318 Assignment #2 (Part 3 of 3) 3a) Write (no programming) a entity-architecture for a 1-bit ALU. The input will consist of x, y, Cin, f and the output will be S and Cout. Use as many sub-components as possible. The input function f will enable the following operations: function fALU bit operation 000S = 0 Cout = 0 001S = x 010S = y 011S = x AND y 100S = x OR y 101S = x XOR y 110(Cout, S) = x + y + Cin; 111(Cout, S) = full subtractor 3b) Calculate the number of transistors for the 1-bit ALU 3c) Write a entity-architecture for a N-bit ALU (for-generate) x ALU y C in f S C out