Tutorial 1 Combinational Logic Synthesis. Introduction to VHDL VHDL = Very high speed Hardware Description Language VHDL and Verilog are the industry.

Slides:



Advertisements
Similar presentations
An Introduction to Verilog: Transitioning from VHDL
Advertisements

The Verilog Hardware Description Language
Introduction To VHDL for Combinational Logic
Supplement on Verilog adder examples
Verilog Intro: Part 1.
Anurag Dwivedi.  Verilog- Hardware Description Language  Modules  Combinational circuits  assign statement  Control statements  Sequential circuits.
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
VHDL Structural Architecture ENG241 Week #5 1. Fall 2012ENG241/Digital Design2 VHDL Design Styles Components and interconnects structural VHDL Design.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
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.
Introduction to VHDL VHDL Tutorial R. E. Haskell and D. M. Hanna T1: Combinational Logic Circuits.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
FPGAs and VHDL Lecture L12.1. FPGAs and VHDL Field Programmable Gate Arrays (FPGAs) VHDL –2 x 1 MUX –4 x 1 MUX –An Adder –Binary-to-BCD Converter –A Register.
Introduction to VHDL Multiplexers. Introduction to VHDL VHDL is an acronym for VHSIC (Very High Speed Integrated Circuit) Hardware Description Language.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
CSE241 R1 Verilog.1Kahng & Cichy, UCSD ©2003 CSE241 VLSI Digital Circuits Winter 2003 Recitation 1: Verilog Introduction.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
Introduction to Counter in VHDL
Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi
Introduction to VHDL (part 2)
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
ECE 2372 Modern Digital System Design
A.7 Concurrent Assignment Statements Used to assign a value to a signal in an architecture body. Four types of concurrent assignment statements –Simple.
VHDL TUTORIAL Preetha Thulasiraman ECE 223 Winter 2007.
A VHDL Tutorial ENG2410. ENG241/VHDL Tutorial2 Goals Introduce the students to the following: –VHDL as Hardware description language. –How to describe.
VHDL Introduction. V- VHSIC Very High Speed Integrated Circuit H- Hardware D- Description L- Language.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
VHDL for Combinational Circuits. VHDL We Know Simple assignment statements –f
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 11 High Desecration Language- Based Design.
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
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.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
Introduction to ASIC flow and Verilog HDL
CS/EE 3700 : Fundamentals of Digital System Design
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
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.
1 ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 2: Introduction to VHDL February 1, 2006.
Lecture #10 Page 1 Lecture #10 Agenda 1.VHDL : Concurrent Signal Assignments 2.Decoders using Structural VHDL Announcements 1.HW #4 due 2.HW #5 assigned.
Verilog Intro: Part 1. Hardware Description Languages A Hardware Description Language (HDL) is a language used to describe a digital system, for example,
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
Hardware Description Languages: Verilog
An Introduction to Verilog: Transitioning from VHDL
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Describing Combinational Logic Using Processes
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
ECE 4110–5110 Digital System Design
Module Goals Introduce structural VHDL constructs Use of components
ECE 4110–5110 Digital System Design
Hardware Description Languages: Verilog
Introduction to Verilog
Instructions to get MAX PLUS running
VHDL Introduction.
Supplement on Verilog adder examples
Digital Designs – What does it take
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

Tutorial 1 Combinational Logic Synthesis

Introduction to VHDL VHDL = Very high speed Hardware Description Language VHDL and Verilog are the industry standards for describing digital systems

Introduction to VHDL Like C++, a working knowledge of VHDL can be gained relatively quickly Like C++, a solid understanding of what you’re writing and why you’re writing it can take years It’s especially important in VHDL to focus not on style and syntax, but on comprehension

Introduction to VHDL VHDL is a HARDWARE DESCRIPTIVE LANGUAGE Every line of code translates directly to hardware

Entities and Architectures Creating a module in VHDL involves creating an entity and an architecture

Entities and Architectures Entity MyEntity is port ( a, b : in std_logic; c : out std_logic); End entity; When you define an entity, you define the black- box structure that’s visible to outside modules a and b aren’t “parameters”. They’re WIRES. c isn’t a ‘return value’. It’s a WIRE.

Entities and Architectures architecture main of MyEntity is begin end archicture; Each entity is actually implemented inside an architecture You can have more than one architecture for each entity, but in general, you should just have one

Component instantiation Other blocks can then use these sub-modules, but first you have to declare it as a component component DFF port(d : in std_logic; q : out std_logic); end component; This component can now be instantiated inside this top-level entity as many times as you want

Component Instantiation A component is instantiated as follows MyDff : DFF Port map (d => foo, q => bar); Foo and bar are signals or ports in the top-level entity d and q are ports of the component being instantiated d is connected to foo with a wire. Likewise with q and bar. MyDFF is a label given to the component instance. VHDL requires all component instances to have unique labels to differentiate between multiple instances of the same component

Combinational Logic A <= B; Textbooks call this a “Concurrent Assignment” This is a WIRE

Combinational Logic A <= B AND C; This is an AND gate, where ‘A’ is the output node and ‘B’ and ‘C’ are input nodes

Combinational Logic A <= B AND C; D <= A; E <= D AND A; What does this look like? Remember, think of this as not code, but a description of a circuit Bonus point: Simplify this logic. What VHDL code would represent your simplified circuit?

Combinational Logic

Select Statements With std_logic_vector’(A,B) select Q<= “0” when “00” <= “0” when “01” <= “1” when “10” <= “0” when “11” <= “0” when others; This LOOKS like a case statement. It can be more accurately described as a “description of a truth table” What does the truth table look like? What does the hardware look like?

Select Statement ABQ

Conditional Assignment Q <= ‘1’ when A = ‘1’ else ‘0’ when B = ‘1’ else ‘0’; This differs from select statements because Conditional Assignment has a priority of conditions. The first condition is evaluated before the second. If A = ‘1’ and B = ‘1’, Q becomes ‘1’, because that condition comes first

Conditional Assignment In evaluating this block, statement priority is considered in populating the truth table The truth table is then used to generate hardware. The hardware itself has no sequential nature. What does the truth table look like? What does the hardware look like? Any conditional assignment can be expressed with a select block

Conditional Assignment ABQ

Combinational Processes Combinational processes do not involve registers. Registered processes are covered in Tutorial 2. Combinational processes allow combinational logic to be described in a sequential way. Any combinational process can be described using concurrent statements (though the code may look uglier)

Combinational Processes process(a) begin b <= a; end process; The bracketed ‘a’ is part of a process’ sensitivity list. This should list out all the signals used as inputs to this process

If-then-else If A = ‘1’ then Q <= ‘0’ Else Q <= ‘1’ End if; This is an if-then-else construct similar to most programming languages It implies a sequential priority, which is similar to conditional assignment

Case Case Sel is when ‘1’ => Q <= ‘1’; when others => Q <= ‘0’; End case The case statement implies no priority, and is similar to the select statement

Combinational Processes So why bother with if-then-else and case statements when you can use selects and conditional assignments? Sometimes what you’re trying to describe is just ‘nicer looking’ or shorter in one or the other