Hardware Description Languages Digital Logic Design Instructor: Kasım Sinan YILDIRIM.

Slides:



Advertisements
Similar presentations
VHDL Lecture 1 Megan Peck EECS 443 Spring 08.
Advertisements

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.
Mridula Allani Fall 2010 (Refer to the comments if required) ELEC Fall 2010, Nov 21(Adopted from Profs. Nelson and Stroud)
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.
Introduction to VHDL VHDL Tutorial R. E. Haskell and D. M. Hanna T1: Combinational Logic Circuits.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Chapter 9: Hardware Description Languages
1 Introduction Chapters 2 & 3: Introduced increasingly complex digital building blocks –Gates, multiplexors, decoders, basic registers, and controllers.
ECE 331 – Digital System Design Single-bit Adder Circuits and Adder Circuits in VHDL (Lecture #12) The slides included herein were taken from the materials.
ECE 331 – Digital System Design
Chapter 9: Hardware Description Languages
CSET 4650 Field Programmable Logic Devices Dan Solarek VHDL Behavioral & Structural.
Introduction to VHDL (part 2)
Advanced FPGA Based System Design Lecture-9 & 10 VHDL Sequential Code By: Dr Imtiaz Hussain 1.
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
ECE 2372 Modern Digital System Design
VHDL TUTORIAL Preetha Thulasiraman ECE 223 Winter 2007.
1 H ardware D escription L anguages Modeling Complex Systems.
A VHDL Tutorial ENG2410. ENG241/VHDL Tutorial2 Goals Introduce the students to the following: –VHDL as Hardware description language. –How to describe.
ENG6090 RCS1 ENG6090 Reconfigurable Computing Systems Hardware Description Languages Part 5: Modeling Structure.
ENG241 Digital Design Week #8 Registers and Counters.
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
EEE2243 Digital System Design Chapter 3: Verilog HDL (Combinational) by Muhazam Mustapha, January 2011.
Digital Design – Hardware Description Languages Chapter 9 - Hardware Description Languages.
L12 – VHDL Overview. VHDL Overview  HDL history and background  HDL CAD systems  HDL view of design  Low level HDL examples  Ref: text Unit 10, 17,
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics VHDL register-transfer modeling: –basics using traffic light controller; –synthesis.
1 component OR_3 port (A,B,C: in bit; Z: out bit); end component ; Reserved Words  Declarations of Components and Entities are similar  Components are.
ECE 331 – Digital System Design Single-bit Adder Circuits and Adder Circuits in VHDL (Lecture #11) The slides included herein were taken from the materials.
M. Balakrishnan Dept of Computer Science & Engg. I.I.T. Delhi
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
CEC 220 Digital Circuit Design More VHDL Fri, February 27 CEC 220 Digital Circuit Design Slide 1 of 15.
Verilog A Hardware Description Language (HDL ) is a machine readable and human readable language for describing hardware. Verilog and VHDL are HDLs.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
CEC 220 Digital Circuit Design VHDL in Sequential Logic Wednesday, March 25 CEC 220 Digital Circuit Design Slide 1 of 13.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Apr. 3, 2000Systems Architecture I1 Introduction to VHDL (CS 570) Jeremy R. Johnson Wed. Nov. 8, 2000.
VHDL ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
May 9, 2001Systems Architecture I1 Systems Architecture I (CS ) Lab 5: Introduction to VHDL Jeremy R. Johnson May 9, 2001.
Introduction to Verilog
George Mason University Behavioral Modeling of Sequential-Circuit Building Blocks ECE 545 Lecture 8.
1 Introduction to Engineering Spring 2007 Lecture 19: Digital Tools 3.
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Registers and Counters
Behavioral Style Combinational Design with VHDL
IAY 0600 Digital Systems Design
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Behavioral Style Combinational Design with VHDL
Hardware Descriptive Languages these notes are taken from Mano’s book
UNIT 2: Data Flow description
IAS 0600 Digital Systems Design
Verilog for Digital Design
VHDL (VHSIC Hardware Description Language)
Hardware Descriptive Languages these notes are taken from Mano’s book
332:437 Lecture 8 Verilog and Finite State Machines
CPE 528: Lecture #5 Department of Electrical and Computer Engineering University of Alabama in Huntsville.
VHDL Introduction.
IAS 0600 Digital Systems Design
Figure 8.1. The general form of a sequential circuit.
Modeling Complex Behavior
332:437 Lecture 8 Verilog and Finite State Machines
Sequntial-Circuit Building Blocks
4-Input Gates VHDL for Loops
Digital Logic with VHDL
(Sequential-Circuit Building Blocks)
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

Hardware Description Languages Digital Logic Design Instructor: Kasım Sinan YILDIRIM

Introduction A drawing of a circuit, or schematic, contains graphical information about a design – Inverter is above the OR gate, AND gate is to the right, etc. Such graphical information may not be useful for large designs Can use textual language instead si g t o c o n t r a tap a DoorOpener c h p f

Computer-Readable Textual Language for Describing Hardware Circuits: HDLs Hardware description language (HDL) – Intended to describe circuits textually, for a computer to read – Evolved starting in the 1970s and 1980s Popular languages today include: – VHDL –Defined in 1980s by U.S. military; Ada-like language – Verilog –Defined in 1980s by a company; C-like language – SystemC –Defined in 2000s by several companies; consists of libraries in C++

Describing Structure in VHDL

Describing Combinational Behavior in VHDL Describing an OR gate's behavior – Entity defines input/output ports – Architecture Process – Describes behavior – Behavior assigns a new value to output port F, computed using built-in operator "or" library ieee; use ieee.std_logic_1164.all; entity OR2 is port (x, y: in std_logic; F: out std_logic ); end OR2; architecture behavior of OR2 is begin process (x, y) begin F <= x or y; end process ; end behavior; Describing a custom function's behavior – Desired function: f = c'*(h+p) architecture beh of DoorOpener is begin process (c, h, p) begin f <= not (c) and (h or p); end process ; end beh;

Testbenches Testbench – Assigns values to a system's inputs, check that system outputs correct values – A key use of HDLs is to simulate system to ensure design is correct SystemToTest Testbench Set input values, check output values

Testbench in VHDL Entity – No inputs or outputs Architecture – Declares component to test, declares signals – Instantiates component, connects to signals – Process writes input signals, checks output signal Waits a small amount of time after writing input signals Checks for correct output value using "assert" statement SystemToTest Testbench Set input values, check output values process DoorOpener1

Describing a Full-Adder in VHDL Entity – Declares inputs/outputs Architecture – Described behaviorally (could have been described structurally) – Process sensitive to inputs – Computes expressions, sets outputs s = a xor b xor ci co = bc + ac + ab co ciba s Full adder

9 Describing a Carry- Ripple Adder in VHDL Entity – Declares inputs/outputs – Uses std_logic_vector for 4-bit inputs/outputs Architecture – Described structurally by composing four full-adders (could have been described behaviorally instead) – Declares full-adder component, instantiates four full-adders, connects Note use of three internal signals for connecting carry-out of one stage to carry-in of next stage a3 cos FA co b3a2b2 s3s2s1 ciba cos FA ba a1b1 cos FA ciba s0 a0b0ci cos FA ba co1 co2 co3

Describing a 4-bit Register in VHDL Entity – 4 data inputs, 4 data outputs, and a clock input – Use std_logic_vector for 4-bit data I: in std_logic_vector(3 downto 0) I <= "1000" would assign I(3)=1, I(2)=0, I(1)=0, I(0)=0 Architecture – Process sensitive to clock input First statement detects if change on clock was a rising edge If clock change was rising edge, sets output Q to input I Ports are signals, and signals store values – thus, output retains new value until set to another value

11 Describing an Up-Counter in VHDL Described structurally (could have been described behaviorally) Includes process that updates output port C whenever internal signal tempC changes – Need tempC signal because can't read C due to C being an output port ld 4-bit register Ctc cnt 4-bit up-counter +1 tempC

Describing an Oscillator in VHDL Entity – Defines clock output Architecture – Process Has no sensitivity list, so executes non-stop as infinite loop Sets clock to 0, waits 10 ns, sets clock to 1, waits 10 ns, repeats

Describing a Controller in VHDL Inputs: b; Outputs: x On2On1On3 Off x=1 x=0 b’ b FSM behavior captured using architecture with 2 processes – First process models state register Asynchronous reset sets state to "S_Off" Rising clock edge sets currentstate to nextstate – Second process models combinational logic Sensitive to currentstate and FSM inputs Sets FSM outputs based on currentstate Sets nextstate based on currentstate and present FSM input values – Note declaration of new type, statetype Combinational logic State register s1s0 n1 n0 x b clk FSM inputs FSM outputs

Summary Hardware Description Languages (HDLs) are widely used in modern digital design – Textual rather than graphical language sufficient for many purposes – HDLs are computer-readable – Great for simulation VHDL, Verilog, and SystemC are popular Introduced languages mainly through examples Numerous HDL books exist to teach each language in more detail