VHDLPrimeri Poglavlje3.doc. end process seq; Slika 3.1: Anatomija osnovne definicije test bench-a

Size: px
Start display at page:

Download "VHDLPrimeri Poglavlje3.doc. end process seq; Slika 3.1: Anatomija osnovne definicije test bench-a"

Transcription

1 3. Verifikacija projekta - Test bench entity TestBench is end entity TestBench; architecture TB_Arhitektura of TestBench is component UUT (Arhitektura_UUT) port( end component UUT; prazan entitet -- deklarisanje lokalnih signala i konstanti { { Deklaracija komponente za UUT { Po~etak opisa arhitekture u1: UUT port map ( konkurentno: ); sekvencionalno: seq: process end process seq; end architecture TB_Arhitektura; { { Instanciranje komponente koja se testira Testiranje Kraj opisa arhitekture Slika 3.1: Anatomija osnovne definicije test bench-a Definisanje pobude i željenog odziva Da bi se ispitao odziv Prvog_primera na sve moguće kombinacije ulaznih signala potrebno je da se kolo pobudi sa najviše osam kombinacija prikazanih u Tabeli 3.1. Tabela 3.1 A B C Y

2 A B C Y Slika 3.2: Vremenski dijagram pobudnih signala (A, B, C) i očekivanog odziva (Y) Vreme na slici 3.2 dato je u ns. Primer 3.1: library IEEE; use IEEE.std_logic_1164.all; entity TestBench is end entity TestBench; architecture Prvi_projekat_TB of TestBench is component Prvi_projekat port (A, B, C: in std_logic; Y: out std_logic); end component; signal A, B, C, Y: std_logic; -- deklarisanje signala -- instanciranje komponente koja se testira UUT: Prvi_projekat port map ( A => A, B => B, C => C, Y => Y); -- Opis pobude preko konkurentne dodele vrednosti signala -- Definisanje pobude signala C C <= 0, 1 after 40ns, 0 after 80ns, 1 after 120ns, 0 after 160ns, 1 after 200ns, 0 after 240ns, 1 after 280ns, 0 after 320ns; -- Definisanje pobude signala B B <= 0, 1 after 80ns, 0 after 160ns, 1 after 240ns; -- Definisanje pobude signala A A <= 0, 1 after 160ns; end architecture Prvi_projekat_TB;

3 Primer 3.2: library IEEE; use IEEE.std_logic_1164.all; entity TestBench is end entity TestBench; architecture Prvi_projekat_TB of TestBench is component Prvi_projekat port (A, B, C: in std_logic; Y: out std_logic); end component; signal A, B, C, Y: std_logic; -- deklarisanje signala -- Uveden 3-bitni signal 'ulaz' da bi se olaksao opis pobude -- MSB signala ulaz ulaz(2) odgovara signalu A, -- ulaz(1) odgovara signalu 'B' -- LSB signala ulaz ulaz(0) odgovara signalu C, signal ulaz: std_logic_vector (2 downto 0); -- definisanje konstante constant PropDelay: time := 40 ns; -- UUT: Prvi_projekat port map (A => ulaz(2), B => ulaz(1), C => ulaz(0), Y => Y); -- Opis pobude sekvencijalno u okviru procesa 'seq' seq: process ulaz <= "000"; ulaz <= "001"; ulaz <= "010"; ulaz <= "011"; ulaz <= "100"; ulaz <= "101"; ulaz <= "110"; ulaz <= "111"; end process seq; end architecture Prvi_projekat_TB;

4 - k-ti član vektora ulaz izdvaja se jednostavno pisanjem ulaz(k); - dodeljivanje vrednosti vektoru zahteva da se umesto jednostrukih, koriste dvostruki navodnici. Napomena: U narednim primerima koristi se Test Banch Wizard pomocu koga je deo VHDL kôda automatski generisan. Taj deo kôda je zasencen.

5 Primer 3.3: --************************************************************* --* This file is automatically generated test bench template * --* By ACTIVE-VHDL <TBgen v1.10>. Copyright (C) ALDEC Inc. * --* * --* This file was generated on: 7:05 PM, 11/30/01 * --* Tested entity name: Prvi_projekat * --* File name contains tested entity: $DSN\src\prviprojekatstruct.vhd * --************************************************************* library ieee; use ieee.std_logic_1164.all; -- Add your code here... use Nase_primitive.all; entity tb_wizard is end tb_wizard; architecture TB_WIZARD_ARCH of tb_wizard is -- Component declaration of the tested unit component Prvi_projekat port( A : in std_logic; B : in std_logic; C : in std_logic; Y : out std_logic ); end component; -- Stimulus signals - signals mapped to the input and inout ports of tested entity signal A : std_logic; signal B : std_logic; signal C : std_logic; -- Observed signals - signals mapped to the output ports of tested entity signal Y : std_logic; -- Add your code here... signal ulaz: std_logic_vector (2 downto 0); signal izlaz: std_logic; constant PropDelay: time := 40 ns; constant Citaj: time := 10ns; -- Unit Under Test port map UUT : Prvi_projekat port map (A => ulaz(2), B => ulaz(1), C => ulaz(0), Y => Y );

6 -- Add your stimulus here... seq: process ulaz <= "000"; izlaz <= '1'; wait for Citaj; assert (Y = izlaz) report "Greska za 000" severity warning; ulaz <= "001"; izlaz <= '1';wait for Citaj; assert (Y = izlaz) report "Greska za 001" severity warning; ulaz <= "010"; izlaz <= '0';wait for Citaj; assert (Y = izlaz) report "Greska za 010" severity warning; ulaz <= "011"; izlaz <= '1';wait for Citaj; assert (Y = izlaz) report "Greska za 011" severity warning; ulaz <= "100"; izlaz <= '0'; wait for Citaj; assert (Y = izlaz) report "Greska za 100" severity warning; ulaz <= "101"; izlaz <= '1'; wait for Citaj; assert (Y = izlaz) report "Greska za 101" severity warning; ulaz <= "110"; izlaz <= '0';wait for Citaj; assert (Y = izlaz) report "Greska za 110" severity warning; ulaz <= "111"; izlaz <= '1'; wait for Citaj; assert (Y = izlaz) report "Greska za 111" severity warning; end process seq; end TB_WIZARD_ARCH; configuration TESTBENCH_FOR_Prvi_projekat of tb_wizard is for TB_WIZARD_ARCH for UUT : Prvi_projekat use entity work.prvi_projekat(protok_podataka); end for; end for; end TESTBENCH_FOR_Prvi_projekat;

7 dat a2 Zapi s dat a1 No MU IN i n Deklarisanje zapisa Zapi s Type Zapi s i s record dat a1: st d_l ogi c_vect or ( 7 downt o 0) ; dat a2: st d_l ogi c_vect or ( 4 downt o 0) ; No: i nt eger; MU: st d_l ogi c; IN: st d_l ogi c; end record Zapi s; Poziv na pojedine delove Zapi s - a: referenca vrednost Zapi s. dat a1( 2) Zapi s. dat a2( 3) Zapi s. No (1) 5 Zapi s. MU (2) 0 Zapi s. I N (2) 1 Slika 3.3: Grafička predstava, deklaracija i poziv na pojedine vrednosti zapisa

8 Primer 3.4: --************************************************************* --* This file is automatically generated test bench template * --* By ACTIVE-VHDL <TBgen v1.10>. Copyright (C) ALDEC Inc. * --* * --* This file was generated on: 7:05 PM, 11/30/01 * --* Tested entity name: Prvi_projekat * --* File name contains tested entity: $DSN\src\prviprojekatstruct.vhd * --************************************************************* library ieee; use ieee.std_logic_1164.all; -- Add your code here... use std.textio.all; use Nase_primitive.all; entity tb_wizard is end tb_wizard; architecture TB_WIZARD_ARCH of tb_wizard is -- Component declaration of the tested unit component Prvi_projekat port( A : in std_logic; B : in std_logic; C : in std_logic; Y : out std_logic ); end component; -- Stimulus signals - signals mapped to the input and inout ports of tested entity signal A : std_logic; signal B : std_logic; signal C : std_logic; -- Observed signals - signals mapped to the output ports of tested entity signal Y : std_logic; -- Add your code here... signal ulaz: std_logic_vector (2 downto 0); signal izlaz: std_logic; constant PropDelay: time := 40 ns; constant Citaj: time := 10ns; constant Broj_kombinacija: integer :=8; type Vektor is record Pobuda: std_logic_vector (2 downto 0); Kontrola: std_logic; end record; type Kombinacije is array (0 to Broj_kombinacija -1) of Vektor; constant TabelaVektora: Kombinacije := ((Pobuda => "000", Kontrola => '1'), (Pobuda => "001", Kontrola => '1'), (Pobuda => "010", Kontrola => '0'),

9 (Pobuda => "011", Kontrola => '1'), (Pobuda => "100", Kontrola => '0'), (Pobuda => "101", Kontrola => '1'), (Pobuda => "110", Kontrola => '0'), (Pobuda => "111", Kontrola => '1')); -- Unit Under Test port map UUT : Prvi_projekat port map (A => ulaz(2), B => ulaz(1), C => ulaz(0), Y => Y ); -- Add your stimulus here... Petlja: process variable Greska: boolean := false; variable Privremeni: Vektor; variable Poruka: line; for i in TabelaVektora'range loop Privremeni := TabelaVektora(i); ulaz <= Privremeni.Pobuda; izlaz <= Privremeni.Kontrola; wait for Citaj; if Y /= izlaz then write (Poruka, string'("greska u ")); write (Poruka, now); writeline (output, Poruka); Greska := true; end if; end loop; assert Greska report " Nema gresaka" severity note; wait; end process Petlja; end TB_WIZARD_ARCH; configuration TESTBENCH_FOR_Prvi_projekat of tb_wizard is for TB_WIZARD_ARCH for UUT : Prvi_projekat use entity work.prvi_projekat(strukturni_opis); end for; end for; end TESTBENCH_FOR_Prvi_projekat;

10 Citanje test vektora za Prvi_projekat iz fajla Test vektor Prvog projekta i datum: # Test vektor prvog projekta # 08. Dec Primer 3.5: --************************************************************* --* This file is automatically generated test bench template * --* By ACTIVE-VHDL <TBgen v1.10>. Copyright (C) ALDEC Inc. * --* * --* This file was generated on: 9:17 PM, 12/2/01 * --* Tested entity name: Prvi_projekat * --* File name contains tested entity: $DSN\src\prviprojekatstruct.vhd * --************************************************************* library ieee; use ieee.std_logic_1164.all; -- Add your library and packages declaration here... use IEEE.STD_LOGIC_TEXTIO.all; use STD.TEXTIO.all; use Nase_primitive.all; entity prvi_projekat_tb is end prvi_projekat_tb; architecture TB_ARCHITECTURE of prvi_projekat_tb is -- Component declaration of the tested unit component Prvi_projekat port( A : in std_logic; B : in std_logic; C : in std_logic; Y : out std_logic ); end component; -- Stimulus signals - signals mapped to the input and inout ports of tested entity signal A : std_logic; signal B : std_logic; signal C : std_logic; -- Observed signals - signals mapped to the output ports of tested entity signal Y : std_logic; -- Add your code here...

11 signal izlaz: std_logic; constant PropDelay: time := 40 ns; constant Citaj: time := 10ns; -- ovo je pomocni signal signal TacanOdziv: boolean := false; -- Deklarisanje fajla iz koga se cita file UlazniFajl: text is in "ulaznifajl.txt"; type Vektor is record Pobuda: std_logic_vector (2 downto 0); Kontrola: std_logic; end record; -- Unit Under Test port map UUT : Prvi_projekat port map (A => A, B => B, C => C, Y => Y ); --Below VHDL code is an inserted.\src\ulaznifajl.vhs --User can modify it Add your stimulus here... Ucitaj: process -- Ucitava iz fajla -- "UlazniFajl" variable Red: line; variable DobroCita: boolean; variable Privremeni: Vektor; while not endfile (UlazniFajl) loop readline (UlazniFajl, Red); read (Red, Privremeni.Pobuda, good => DobroCita); next when not DobroCita; read (Red, Privremeni.Kontrola); A <= Privremeni.Pobuda(2); B <= Privremeni.Pobuda(1); C <= Privremeni.Pobuda(0); izlaz <= Privremeni.Kontrola; end loop; assert TacanOdziv report "Simulacija izpravno okoncana" severity note; wait; end process Ucitaj;

12 -- Kontrola izlaza Proveri: process variable Poruka: line; wait for Citaj; if Y /= izlaz then write (Poruka, string'("greska u trenutku ")); write (Poruka, now); writeline (output, Poruka); TacanOdziv <= True; end if; end process Proveri; end TB_ARCHITECTURE; configuration TESTBENCH_FOR_Prvi_projekat of prvi_projekat_tb is for TB_ARCHITECTURE for UUT : Prvi_projekat use entity work.prvi_projekat(strukturni_opis); end for; end for; end TESTBENCH_FOR_Prvi_projekat; end TESTBENCH_FOR_Prvi_projekat;

13 Kasnjenje VH 0,9 VH 0,1 VH TR TF Slika 3.4: Električna šema NOR2 kola u CMOS tehnologiji i R/F kašnjenje Primer 3.6: InertniA <= A after 10ns; ZakasneliA <= transport A after 10ns; Na slici 3.5 prikazani su efekti koji nastaju kada se na ulazu pojavi signal čija je dužina trajanja veća (a) i manja (b) od definisanog kašnjnja 10ns. 20ns 5ns A InertniA 10ns InertniA 10ns ZakasneliA ZakasneliA a) b) Slika 3.5: Razlika izmedju inercionog i transportnog kašnjenja

14 Modeli komponenata sa kasnjenjem Primer 3.7: --Model invertora library IEEE; use IEEE.std_logic_1164.all; entity INVT is generic ( thl: time := 2 ns; tlh: time := 1 ns); port ( i: in std_logic; o: out std_logic); end entity INVT; architecture rtlt of INVT is o <= (not i) after tlh when (i = '0') else (not i) after thl; end architecture rtlt; -- ======================================= -- Model AND2 library IEEE; use IEEE.std_logic_1164.all; entity AND2T is generic ( tlh: time := 2ns; thl: time := 4ns); port ( i1: in std_logic; i2: in std_logic; y: out std_logic); end entity AND2T; architecture rtlt of AND2T is y <= '1' after tlh when (i1 = '1' and i2 = '1') else '0' after thl; end architecture rtlt; -- ====================================== -- Model OR2 library IEEE; use IEEE.std_logic_1164.all; entity OR2T is generic ( thl: time := 2 ns; tlh: time := 1 ns); port ( i1: in std_logic; i2: in std_logic; y: out std_logic);

15 end entity OR2T; architecture rtlt of OR2T is y <= '1' after tlh when (i1 = '1' or i2 = '1') else '0' after thl; end architecture rtlt; -- ====================================== -- Nove modele smesticemo u paket Nase_primitiveT library IEEE; use IEEE.std_logic_1164.all; package Nase_primitiveT is component INVT generic ( thl: time; tlh: time); port ( i: in std_logic; o: out std_logic); end component INVT; component AND2T generic ( thl: time; tlh: time); port ( i1: in std_logic; i2: in std_logic; y: out std_logic); end component AND2T; component OR2T generic ( thl: time; tlh: time); port ( i1: in std_logic; i2: in std_logic; y: out std_logic); end component OR2T; end package Nase_primitiveT; -- ======================================= library IEEE; use IEEE.std_logic_1164.all; entity Prvi_projekat is port ( A: in std_logic; B: in std_logic; C: in std_logic; Y: out std_logic ); end entity Prvi_projekat; use work.nase_primitivet.all; -- koristi sve -- komponente iz -- paketa "Nase_primitiveT"

16 -- Definisanje strukturnog opisa arhitekture architecture Strukturni_opisT of Prvi_projekat is -- nema deklaracije "component" signal nota, notb, and2_out: std_logic; INV_1: invt generic map (thl => 10ns, tlh => 20ns) port map (i => A, o => nota); INV_2: invt generic map (thl => 10ns, tlh => 20ns) port map (i => B, o => notb); I_kolo: AND2T generic map (thl => 10ns, tlh => 20ns) port map (i1 => nota, i2 => notb, y => and2_out); ILI_kolo: OR2T generic map (thl => 10ns, tlh => 20ns) port map (i1 => and2_out, i2 => C, y => Y); end architecture Strukturni_opisT; -- =========================================================

17 --************************************************************* --* This file is automatically generated test bench template * --* By ACTIVE-VHDL <TBgen v1.10>. Copyright (C) ALDEC Inc. * --* * --* This file was generated on: 12:54 PM, 12/9/01 * --* Tested entity name: Prvi_projekat * --* File name contains tested entity: $DSN\src\prviprojekatstructT.vhd * --************************************************************* library ieee; use ieee.std_logic_1164.all; -- Add your library and packages declaration here... use IEEE.STD_LOGIC_TEXTIO.all; use STD.TEXTIO.all; use Nase_primitiveT.all; entity prvi_projekat_tb is end prvi_projekat_tb; architecture TB_ARCHITECTURE of prvi_projekat_tb is -- Component declaration of the tested unit component Prvi_projekat port( A : in std_logic; B : in std_logic; C : in std_logic; Y : out std_logic ); end component; -- Stimulus signals - signals mapped to the input and inout ports of tested entity signal A : std_logic; signal B : std_logic; signal C : std_logic; -- Observed signals - signals mapped to the output ports of tested entity signal Y : std_logic; -- Add your code here... signal izlaz: std_logic; constant PropDelay: time := 100 ns; constant Citaj: time := 50ns; -- ovo je pomocni signal signal TacanOdziv: boolean := false; -- Deklarisanje fajla iz koga se cita file UlazniFajl: text is in "ulaznifajl.txt"; type Vektor is record Pobuda: std_logic_vector (2 downto 0); Kontrola: std_logic; end record; -- Unit Under Test port map UUT : Prvi_projekat port map (A => A, B => B,

18 C => C, Y => Y ); -- Add your stimulus here... Ucitaj: process -- Ucitava iz fajla -- "UlazniFajl" variable Red: line; variable DobroCita: boolean; variable Privremeni: Vektor; while not endfile (UlazniFajl) loop readline (UlazniFajl, Red); read (Red, Privremeni.Pobuda, good => DobroCita); next when not DobroCita; read (Red, Privremeni.Kontrola); A <= Privremeni.Pobuda(2); B <= Privremeni.Pobuda(1); C <= Privremeni.Pobuda(0); izlaz <= Privremeni.Kontrola; end loop; assert TacanOdziv report "Simulacija izpravno okoncana" severity note; wait; end process Ucitaj; -- Kontrola izlaza Proveri: process variable Poruka: line; wait for Citaj; if Y /= izlaz then write (Poruka, string'("greska u trenutku ")); write (Poruka, now); writeline (output, Poruka); TacanOdziv <= True; end if; end process Proveri; end TB_ARCHITECTURE; configuration TESTBENCH_FOR_Prvi_projekat of prvi_projekat_tb is for TB_ARCHITECTURE for UUT : Prvi_projekat use entity work.prvi_projekat(strukturni_opist); end for; end for; end TESTBENCH_FOR_Prvi_projekat; -- =======================================================

VHDLPrimeri Poglavlje5.doc

VHDLPrimeri Poglavlje5.doc 5. VHDL opis kola koja obavljaju osnovne aritmetičke funkcije Sabirači Jednobitni potpuni sabirač definisan je tablicom istinitosti iz Tabele 5.1. Tabela 5.1. cin a b sum cout 0 0 0 0 0 0 0 1 1 0 0 1 0

More information

Tutorial on Simulation using Aldec Active-HDL Ver 1.0

Tutorial on Simulation using Aldec Active-HDL Ver 1.0 Tutorial on Simulation using Aldec Active-HDL Ver 1.0 by Shashi Karanam Introduction Active- HDL is an integrated environment designed for development of VHDL designs. The core of the system is a VHDL

More information

VHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents

VHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents VHDL Testbench Tutorial 1 Contents 1 VHDL Testbench 2 Test Bench Syntax 3 Testbench Example: VHDL Code for Up Down Binary Counter 4 VHDL Testbench code for up down binary counter 5 Testbench Waveform for

More information

VHDL Simulation. Testbench Design

VHDL Simulation. Testbench Design VHDL Simulation Testbench Design The Test Bench Concept Elements of a VHDL/Verilog testbench Unit Under Test (UUT) or Device Under Test (DUT) instantiate one or more UUT s Stimulus of UUT inputs algorithmic

More information

Test Benches - Module 8

Test Benches - Module 8 Test Benches Module 8 Jim Duckworth, WPI 1 Overview We have concentrated on VHDL for synthesis Can also use VHDL as a test language Very important to conduct comprehensive verification on your design To

More information

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1 DIGITAL LOGIC WITH VHDL (Fall 23) Unit DESIGN FLOW DATA TYPES LOGIC GATES WITH VHDL TESTBENCH GENERATION DESIGN FLOW Design Entry: We specify the logic circuit using a Hardware Description Language (e.g.,

More information

The block diagram representation is given below: The output equation of a 2x1 multiplexer is given below:

The block diagram representation is given below: The output equation of a 2x1 multiplexer is given below: Experiment-3: Write VHDL programs for the following circuits, check the wave forms and the hardware generated a. multiplexer b. De-Multiplexer Objective: i. To learn the VHDL coding for Multiplexer and

More information

Test Bench. Top Level Model Test Bench MUT

Test Bench. Top Level Model Test Bench MUT A test bench is usually a simulation-only model used for design verification of some other model(s) to be synthesized. A test bench is usually easier to develop than a force file when verifying the proper

More information

VHDL Testbench Design. Textbook chapters 2.19, , 9.5

VHDL Testbench Design. Textbook chapters 2.19, , 9.5 VHDL Testbench Design Textbook chapters 2.19, 4.10-4.12, 9.5 The Test Bench Concept Elements of a VHDL/Verilog testbench Unit Under Test (UUT) or Device Under Test (DUT) instantiate one or more UUT s Stimulus

More information

VHDL- VHDL-3. Vsys. maxplus2. Vsys. d:\uoo. vsystem.ini work

VHDL- VHDL-3. Vsys. maxplus2. Vsys. d:\uoo. vsystem.ini work VHDL- VHDL-3 Vsys TextIO maxplus2 Vsys Vsys d:\uoo mem_tb.vhd mem_tb.vec Vsys d:\uoo vsystem.ini work d:\uoo vsystem.ini [library] std = c:/vsystem/std IEEE = c:/vsystem/ieee SIMPRIM = D:/xilinx/vhdl/src/simprims/work

More information

VHDL/Verilog Simulation. Testbench Design

VHDL/Verilog Simulation. Testbench Design VHDL/Verilog Simulation Testbench Design The Test Bench Concept Elements of a VHDL/Verilog testbench Unit Under Test (UUT) or Device Under Test (DUT) instantiate one or more UUT s Stimulus of UUT inputs

More information

Lecture 6. Advanced Testbenches. George Mason University

Lecture 6. Advanced Testbenches. George Mason University Lecture 6 Advanced Testbenches George Mason University Required reading Sundar Rajan, Essential VHDL: RTL Synthesis Done Right Chapter 14, starting from Design Verification 2 Steps of the Design Process

More information

cla library ieee; use ieee.std_logic_1164.all;

cla library ieee; use ieee.std_logic_1164.all; -- cla entity cla is generic( n_g: integer :=4 -- count of bits ); port( x_p : in std_logic_vector (n_g-1 downto 0); y_p : in std_logic_vector (n_g-1 downto 0); cin_p : in std_logic; cla_p :out std_logic_vector

More information

ECE 545 Lecture 7. Advanced Testbenches. Required reading. Simple Testbench. Advanced Testbench. Possible Sources of Expected Outputs

ECE 545 Lecture 7. Advanced Testbenches. Required reading. Simple Testbench. Advanced Testbench. Possible Sources of Expected Outputs ECE 545 Lecture 7 Advanced Testbenches George Mason University Steps of the Design Process 1. Text description 2. Interface 3. Pseudocode 4. Block diagram of the Datapath 5. Interface with the division

More information

ECE 545 Lecture 7. Advanced Testbenches. George Mason University

ECE 545 Lecture 7. Advanced Testbenches. George Mason University ECE 545 Lecture 7 Advanced Testbenches George Mason University Steps of the Design Process 1. Text description 2. Interface 3. Pseudocode 4. Block diagram of the Datapath 5. Interface with the division

More information

Design a 4 bit-adder. Then design a 4-7 decoder to show the outputs. Output Sum(4 bits) Adder. Output carry(1 bit)

Design a 4 bit-adder. Then design a 4-7 decoder to show the outputs. Output Sum(4 bits) Adder. Output carry(1 bit) Csc 343 Lab 2 Sep 28. 07 Objective: Design a 4 bit-adder. Then design a 4-7 decoder to show the outputs. Structure: Input A (4 bits) Input B (4 bit) Adder Output Sum(4 bits) Output carry(1 bit) input cin

More information

Sintaksa VHDL jezika - podsjetnik -

Sintaksa VHDL jezika - podsjetnik - Sintaksa VHDL jezika - podsjetnik - -- Učitavanje biblioteka library ; -- Import all the declarations in a package use ..all; -- Import a specific declaration

More information

Basic Language Concepts

Basic Language Concepts Basic Language Concepts Sudhakar Yalamanchili, Georgia Institute of Technology ECE 4170 (1) Describing Design Entities a sum b carry Primary programming abstraction is a design entity Register, logic block,

More information

LECTURE 4: The VHDL N-bit Adder

LECTURE 4: The VHDL N-bit Adder EECS 317 Computer Design LECTURE 4: The VHDL N-bit Adder Instructor: Francis G. Wolff wolff@eecs.cwru.edu Case Western Reserve University Review: N-Bit Ripple-Carry Adder Hierarchical design: 2-bit adder

More information

Logic and Computer Design Fundamentals VHDL. Part 1 Chapter 4 Basics and Constructs

Logic and Computer Design Fundamentals VHDL. Part 1 Chapter 4 Basics and Constructs Logic and Computer Design Fundamentals VHDL Part Chapter 4 Basics and Constructs Charles Kime & Thomas Kaminski 24 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Overview

More information

Digitaalsüsteemide disain

Digitaalsüsteemide disain IAY 0600 Digitaalsüsteemide disain VHDL discussion Verification: Testbenches Design verification We want to verify that our design is correct before the target PLD is programmed. The process performed

More information

Functions, Procedures, and Testbenches

Functions, Procedures, and Testbenches Lab Workbook Introduction VHDL lets you define sub-programs using procedures and functions. They are used to improve the readability and to exploit re-usability of VHDL code. Functions are equivalent to

More information

ECE 545 Lecture 4. Simple Testbenches. George Mason University

ECE 545 Lecture 4. Simple Testbenches. George Mason University ECE 545 Lecture 4 Simple Testbenches George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 2.2.4, Testbenches 2 Testbenches ECE 448 FPGA and ASIC Design with VHDL 3 Testbench

More information

Getting Started with VHDL

Getting Started with VHDL Getting Started with VHDL VHDL code is composed of a number of entities Entities describe the interface of the component Entities can be primitive objects or complex objects Architectures are associated

More information

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 9

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 9 DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 9 MISCELANEOUS TOPICS I/O text files for simulation and synthesis. Example: serial multiplier, basic -to- LUT, VGA. Using Xilinx primitives: BRAMs, XADC,

More information

Introduction to VHDL #1

Introduction to VHDL #1 ECE 3220 Digital Design with VHDL Introduction to VHDL #1 Lecture 3 Introduction to VHDL The two Hardware Description Languages that are most often used in industry are: n VHDL n Verilog you will learn

More information

Constructing VHDL Models with CSA

Constructing VHDL Models with CSA Constructing VHDL Models with CSA List all components (e.g., gate) inclusive propagation delays. Identify input/output signals as input/output ports. All remaining signals are internal signals. Identify

More information

Simulation with ModelSim Altera from Quartus II

Simulation with ModelSim Altera from Quartus II Simulation with ModelSim Altera from Quartus II Quick Start Guide Embedded System Course LAP IC EPFL 2010 Version 0.6 (Preliminary) René Beuchat, Cagri Onal 1 Installation and documentation Main information

More information

VHDL Testbench VHDL Testbench NO Synthesis Test Vectors Input Vector Output Vector Expected Vector UUT : Unit Under Test Clock Generator Error Report Utility 1 Library : STD Library for Testbench use std.standard.all;

More information

VHDL. Official Definition: VHSIC Hardware Description Language VHISC Very High Speed Integrated Circuit

VHDL. Official Definition: VHSIC Hardware Description Language VHISC Very High Speed Integrated Circuit VHDL VHDL Official Definition: VHSIC Hardware Description Language VHISC Very High Speed Integrated Circuit VHDL Alternative (Student Generated) Definition Very Hard Digital Logic language VHDL Design

More information

Experiment 0 OR3 Gate ECE 332 Section 000 Dr. Ron Hayne June 8, 2003

Experiment 0 OR3 Gate ECE 332 Section 000 Dr. Ron Hayne June 8, 2003 Experiment 0 OR3 Gate ECE 332 Section 000 Dr. Ron Hayne June 8, 2003 On my honor I have neither received nor given aid on this report. Signed: Ronald J. Hayne Part I Description of the Experiment Experiment

More information

EE261: Intro to Digital Design

EE261: Intro to Digital Design 2014 EE261: Intro to Digital Design Project 3: Four Bit Full Adder Abstract: This report serves to teach us, the students, about modeling logic and gives a chance to apply concepts from the course to a

More information

Designing with VHDL and FPGA

Designing with VHDL and FPGA Designing with VHDL and FPGA Instructor: Dr. Ahmad El-Banna lab# 5-II 1 Agenda Structural way in VHDL Mixed Example 2 Modeling the Structurural way Structural architecture implements the module as a composition

More information

Document Version: 0.6 Document Date: 15 April 2011 Prepared by: Y. Ermoline for ATLAS Level-1Calorimeter Trigger

Document Version: 0.6 Document Date: 15 April 2011 Prepared by: Y. Ermoline for ATLAS Level-1Calorimeter Trigger ATLAS ATL-DA-EN-0004 EDMS Id: 1100579 ATLAS TDAQ Level-1 Calorimeter Trigger VHLD guidelines Document Version: 0.6 Document Date: 15 April 2011 Prepared by: Y. Ermoline for ATLAS Level-1Calorimeter Trigger

More information

Quartus Counter Example. Last updated 9/6/18

Quartus Counter Example. Last updated 9/6/18 Quartus Counter Example Last updated 9/6/18 Create a logic design from start to a DE10 implementation This example uses best design practices This example is not about creating HDL The HDL code will be

More information

File: /home/young/mywork/5.cordic_vhdl/a.beh/print.cordic_beh Page 1 of 10

File: /home/young/mywork/5.cordic_vhdl/a.beh/print.cordic_beh Page 1 of 10 File: /home/young/mywork/5.cordic_vhdl/a.beh/print.cordic_beh Page 1 of 10.SUFFIXES :.o.vhdl.vhdl.o : ghdl -a $< cordic_tb : cordic_pkg.o cordic_beh.o cordic_tb.o ghdl -e cordic_tb anal : cordic_pkg.o

More information

The University of Alabama in Huntsville ECE Department CPE Midterm Exam Solution March 2, 2006

The University of Alabama in Huntsville ECE Department CPE Midterm Exam Solution March 2, 2006 The University of Alabama in Huntsville ECE Department CPE 526 01 Midterm Exam Solution March 2, 2006 1. (15 points) A barrel shifter is a shift register in which the data can be shifted either by one

More information

TKT-1212 Digitaalijärjestelmien toteutus. Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008

TKT-1212 Digitaalijärjestelmien toteutus. Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008 TKT-1212 Digitaalijärjestelmien toteutus Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008 Contents Purpose of test benches Structure of simple test bench Side note about delay modeling in VHDL

More information

BOUNDARY-SCAN TEST. Elektronski fakultet u Ni u. Smer: R. Predmet: Projektovanje ugra enih ra unarskih sistema. Studenti:

BOUNDARY-SCAN TEST. Elektronski fakultet u Ni u. Smer: R. Predmet: Projektovanje ugra enih ra unarskih sistema. Studenti: Elektronski fakultet u Ni u Smer: R Predmet: Projektovanje ugra enih ra unarskih sistema BOUNDARY-SCAN TEST Studenti: Darko Filipovi 9551 Goran Risti 10067 Boundary-Scan Test 1. Uvod u Boundary-Scan tehniku

More information

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6 DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6 FINITE STATE MACHINES (FSMs) Moore Machines Mealy Machines FINITE STATE MACHINES (FSMs) Classification: Moore Machine: Outputs depend only on the current state

More information

The University of Alabama in Huntsville ECE Department CPE Midterm Exam Solution Spring 2016

The University of Alabama in Huntsville ECE Department CPE Midterm Exam Solution Spring 2016 The University of Alabama in Huntsville ECE Department CPE 526 01 Midterm Exam Solution Spring 2016 1. (15 points) Write a VHDL function that accepts a std_logic_vector of arbitrary length and an integer

More information

Chapter 8 VHDL Code Examples

Chapter 8 VHDL Code Examples APPENDIX I Chapter 8 VHDL Code Examples I.1 Introduction Two example VHDL code designs are presented in Chapter 8, the first for controlling the AD7524 digital-to-analogue converter and the second for

More information

In our case Dr. Johnson is setting the best practices

In our case Dr. Johnson is setting the best practices VHDL Best Practices Best Practices??? Best practices are often defined by company, toolset or device In our case Dr. Johnson is setting the best practices These rules are for Class/Lab purposes. Industry

More information

LECTURE Simulator 2: Textio, Wait, Clocks, and Test Benches

LECTURE Simulator 2: Textio, Wait, Clocks, and Test Benches EECS 318 CAD Computer Aided Design LECTURE Simulator 2: Textio, Wait, Clocks, and Test Benches Instructor: Francis G. Wolff wolff@eecs.cwru.edu Case Western Reserve University This presentation uses powerpoint

More information

VHDL 200X: The Future of VHDL

VHDL 200X: The Future of VHDL VHDL 200X: The Future of VHDL By Jim Lewis VHDL Training Team Leader VHDL-200X Fast Track jim@synthworks.com Lewis 1 MAPLD 2005 / P255 VHDL-200X: The Future of VHDL Currently the work is being funded through

More information

Midterm Exam Thursday, October 24, :00--2:15PM (75 minutes)

Midterm Exam Thursday, October 24, :00--2:15PM (75 minutes) Last (family) name: Answer Key First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Midterm

More information

Lecture 14 Test Bench Design

Lecture 14 Test Bench Design CPE 487: Digital System Design Spring 2018 Lecture 14 Test Bench Design Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Testing Digital

More information

CSCI Lab 3. VHDL Syntax. Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\

CSCI Lab 3. VHDL Syntax. Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\ CSCI 250 - Lab 3 VHDL Syntax Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\ Objectives 1. Learn VHDL Valid Names 2. Learn the presentation of Assignment and Comments 3. Learn Modes, Types, Array,

More information

Declarations of Components and Entities are similar Components are virtual design entities entity OR_3 is

Declarations of Components and Entities are similar Components are virtual design entities entity OR_3 is Reserved Words 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 virtual design entities entity OR_3 is

More information

UNIT I Introduction to VHDL VHDL: - V -VHSIC, H - Hardware, D - Description, L Language Fundamental section of a basic VHDL code Library :

UNIT I Introduction to VHDL VHDL: - V -VHSIC, H - Hardware, D - Description, L Language Fundamental section of a basic VHDL code Library : UNIT I Introduction to VHDL VHDL stands for very high-speed integrated circuit hardware description language. Which is one of the programming languages used to model a digital system by dataflow, behavioral

More information

Lecture 4. VHDL Fundamentals. George Mason University

Lecture 4. VHDL Fundamentals. George Mason University Lecture 4 VHDL Fundamentals George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL 2 Design Entity ECE 448 FPGA and ASIC Design with

More information

Inthis lecture we will cover the following material:

Inthis lecture we will cover the following material: Lecture #8 Inthis lecture we will cover the following material: The standard package, The std_logic_1164 Concordia Objects & data Types (Signals, Variables, Constants, Literals, Character) Types and Subtypes

More information

Simulation with ModelSim Altera from Quartus II

Simulation with ModelSim Altera from Quartus II Simulation with ModelSim Altera from Quartus II Quick Start Guide Embedded System Course LAP IC EPFL 2010 Version 0.5 (Preliminary) René Beuchat, Cagri Onal 1 Installation and documentation Main information

More information

Tri-State Bus Implementation

Tri-State Bus Implementation Tri-State Bus Implementation Danny Mok Altera HK FAE (dmok@altera.com) Sample Code library ieee; use ieee.std_logic_1164.all; library lpm; use lpm.lpm_components.all; entity tri_bus is port (a,b : in std_logic_vector(7

More information

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6 DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6 FINITE STATE MACHINES (FSMs) Moore Machines Mealy Machines Algorithmic State Machine (ASM) charts FINITE STATE MACHINES (FSMs) Classification: Moore Machine:

More information

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language

More information

Very High Speed Integrated Circuit Har dware Description Language

Very High Speed Integrated Circuit Har dware Description Language Very High Speed Integrated Circuit Har dware Description Language Industry standard language to describe hardware Originated from work in 70 s & 80 s by the U.S. Departm ent of Defence Root : ADA Language

More information

Concurrent Signal Assignment Statements (CSAs)

Concurrent Signal Assignment Statements (CSAs) Concurrent Signal Assignment Statements (CSAs) Digital systems operate with concurrent signals Signals are assigned values at a specific point in time. VHDL uses signal assignment statements Specify value

More information

VHDL. ELEC 418 Advanced Digital Systems Dr. Ron Hayne. Images Courtesy of Cengage Learning

VHDL. ELEC 418 Advanced Digital Systems Dr. Ron Hayne. Images Courtesy of Cengage Learning VHDL ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Cengage Learning Design Flow 418_02 2 VHDL Modules 418_02 3 VHDL Libraries library IEEE; use IEEE.std_logic_1164.all; std_logic Single-bit

More information

VHDL 200X: The Future of VHDL

VHDL 200X: The Future of VHDL March 1-3, 2004 VHDL 200X: The Future of VHDL By Jim Lewis VHDL Training Team Leader VHDL-200X Fast Track jim@synthworks.com VHDL-200X: The Future of VHDL VHDL-200X is a multi-phased effort. Covers the

More information

Entity, Architecture, Ports

Entity, Architecture, Ports Entity, Architecture, Ports A VHDL models consist of an Entity Declaration and a Architecture Body. The entity defines the interface, the architecture defines the function. The entity declaration names

More information

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial

More information

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET Katedra za elektroniku Računarska elektronika Grupa br. 11 Projekat br. 8 Studenti: Stefan Vukašinović 466/2013 Jelena Urošević 99/2013 Tekst projekta :

More information

Solutions - Homework 2 (Due date: October 9:30 am) Presentation and clarity are very important!

Solutions - Homework 2 (Due date: October 9:30 am) Presentation and clarity are very important! ECE-8L: Computer Logic Design Fall Solutions - Homework (Due date: October rd @ 9: am) Presentation and clarit are ver important! PROBLEM ( PTS) Complete the following table. Use the fewest number of bits

More information

Generatore di parità. LIBRARY ieee; USE ieee.std_logic_1164.all ; ENTITY xor2 IS PORT( A, B : in std_logic ; Y : out std_logic ) ; END xor2 ;

Generatore di parità. LIBRARY ieee; USE ieee.std_logic_1164.all ; ENTITY xor2 IS PORT( A, B : in std_logic ; Y : out std_logic ) ; END xor2 ; LIBRARY ieee; USE ieee.std_logic_1164.all ; ENTITY xor2 IS PORT( A, B : in std_logic ; Y : out std_logic ) ; END xor2 ; ARCHITECTURE arch1 OF Xor2 IS BEGIN Y

More information

File: /home/young/mywork/c.arithmetic/bshfit/print.bshift Page 1 of 13

File: /home/young/mywork/c.arithmetic/bshfit/print.bshift Page 1 of 13 File: /home/young/mywork/c.arithmetic/bshfit/print.bshift Page 1 of 13 makefile.suffixes :.o.vhdl.vhdl.o : ghdl -a $< # CNF_bshift = c3.bshift_tb_conf.rtl.o \ # c3.bshift_tb_conf.mux.o \ OBJ_bshift = cordic_pkg.o

More information

Lecture 5: Aldec Active-HDL Simulator

Lecture 5: Aldec Active-HDL Simulator Lecture 5: Aldec Active-HDL Simulator 1. Objective The objective of this tutorial is to introduce you to Aldec s Active-HDL 9.1 Student Edition simulator by performing the following tasks on a 4-bit adder

More information

Introduction to VHDL. Main language concepts

Introduction to VHDL. Main language concepts Introduction to VHDL VHSIC (Very High Speed Integrated Circuit) Hardware Description Language Current standard is IEEE 1076-1993 (VHDL-93). Some tools still only support VHDL-87. Tools used in the lab

More information

Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification

Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification Ahmed Abu-Hajar, Ph.D. abuhajar@digitavid.net Digitavid, Inc San Jose, CA Session One Outline Introducing VHDL

More information

Lecture 3 Introduction to VHDL

Lecture 3 Introduction to VHDL CPE 487: Digital System Design Spring 2018 Lecture 3 Introduction to VHDL Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Managing Design

More information

5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) -

5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) - Sistemas Digitais I LESI - 2º ano Lesson 5 - VHDL Prof. João Miguel Fernandes (miguel@di.uminho.pt) Dept. Informática - Introduction - VHDL was developed, in the mid-1980s, by DoD and IEEE. VHDL stands

More information

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 8

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 8 DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 8 PARAMETRIC CODING Techniques: generic input size, for-generate, if-generate, conv_integer. Custom-defined arrays, functions, and packages. Examples: vector

More information

Symbolically the RS-Latch that is being simulated is the one shown below, it s truth table is also given:

Symbolically the RS-Latch that is being simulated is the one shown below, it s truth table is also given: Symbolically the RS-Latch that is being simulated is the one shown below, it s truth table is also given: For this example you will need to create two VHDL (.vhd) files one represents the rslatch itself,

More information

Assignment 01 Computer Architecture Lab ECSE

Assignment 01 Computer Architecture Lab ECSE Assignment 01 Computer Architecture Lab ECSE 487-001 Date due: September 22, 2006, Trottier Assignment Box by 14:30 1 Introduction The purpose of this assignment is to re-familiarize the student with VHDL

More information

Hardware Synthesis. Midia Reshadi. CE Department Science and research branch of Islamic Azad University

Hardware Synthesis. Midia Reshadi. CE Department Science and research branch of Islamic Azad University Hardware Synthesis MidiaReshadi CE Department Science and research branch of Islamic Azad University Email: ce.srbiau@gmail.com Midia Reshadi 1 Chapter 6 Testbenches for Combinational Designs Midia Reshadi

More information

Review. LIBRARY list of library names; USE library.package.object; ENTITY entity_name IS generic declarations PORT ( signal_name(s): mode signal_type;

Review. LIBRARY list of library names; USE library.package.object; ENTITY entity_name IS generic declarations PORT ( signal_name(s): mode signal_type; LIBRARY list of library names; USE library.package.object; Review ENTITY entity_name IS generic declarations PORT ( signal_name(s): mode signal_type; signal_name(s) : mode signal_type); END ENTITY entity_name;

More information

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks. Outline CPE/EE 422/522 Advanced Logic Design L05 Electrical and Computer Engineering University of Alabama in Huntsville What we know Combinational Networks Sequential Networks: Basic Building Blocks,

More information

Lattice VHDL Training

Lattice VHDL Training Lattice Part I February 2000 1 VHDL Basic Modeling Structure February 2000 2 VHDL Design Description VHDL language describes a digital system as a set of modular blocks. Each modular block is described

More information

library STD; use STD.textio.all; library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; package cordic_pkg is

library STD; use STD.textio.all; library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; package cordic_pkg is cordic_pkg.vhdl Purpose: utility package of cordic Discussion: Licensing: This code is distributed under the GNU LGPL license. Modified: 2012.04.03 Author: Young W. Lim Functions: Conv2fixedPt (x : real;

More information

search_chr: ASM chart search_chr search_chr search_chr MEM_ENABLE MEM_WE MEM_ADDRESS MEM_DATAIN MEM_DATAOUT MEM_READY ADDRESS CHAR LEN nfound

search_chr: ASM chart search_chr search_chr search_chr MEM_ENABLE MEM_WE MEM_ADDRESS MEM_DATAIN MEM_DATAOUT MEM_READY ADDRESS CHAR LEN nfound ADDRESS CHAR LEN nfound 32 8 6? START READY 32 8 8 MEM_ENABLE MEM_WE MEM_ADDRESS MEM_DATAIN MEM_DATAOUT MEM_READY INIT COUNT

More information

VHDL Notes for Week 4. VHDL Programming in CprE 381. Entity and Component 9/22/2014. Generic Constant. Test bench

VHDL Notes for Week 4. VHDL Programming in CprE 381. Entity and Component 9/22/2014. Generic Constant. Test bench VHDL Notes for Week 4 VHDL Programming in CprE 381 Generic Constant Entity and component Test bench Zhao Zhang CprE 381, Fall 2013 Iowa State University Last update: 12/02/2013 Generic Constant Generic

More information

Tutorial 4 HDL. Outline VHDL PROCESS. Modeling Combinational Logic. Structural Description Instantiation and Interconnection Hierarchy

Tutorial 4 HDL. Outline VHDL PROCESS. Modeling Combinational Logic. Structural Description Instantiation and Interconnection Hierarchy CS3: Hardware Lab Tutorial 4 HDL Outline VHDL basic language concepts basic design methodology Examples A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati i i i3 i4 Modeling Combinational

More information

ECE 3401 Lecture 10. More on VHDL

ECE 3401 Lecture 10. More on VHDL ECE 3401 Lecture 10 More on VHDL Outline More on VHDL Some VHDL Basics Data Types Operators Delay Models VHDL for Simulation VHDL for Synthesis 1 Data Types Every signal has a type, type specifies possible

More information

Solutions - Homework 4 (Due date: November 9:30 am) Presentation and clarity are very important!

Solutions - Homework 4 (Due date: November 9:30 am) Presentation and clarity are very important! DPARTMNT OF LCTRICAL AND COMPUTR NGINRING, TH UNIVRSITY OF NW MXICO C-38L: Computer Logic Design Fall 3 Solutions - Homework 4 (Due date: November 6th @ 9:3 am) Presentation and clarity are very important!

More information

Review of Digital Design with VHDL

Review of Digital Design with VHDL Review of Digital Design with VHDL Digital World Digital world is a world of 0 and 1 Each binary digit is called a bit Eight consecutive bits are called a byte Hexadecimal (base 16) representation for

More information

ECE U530 Digital Hardware Synthesis. Course Accounts and Tools

ECE U530 Digital Hardware Synthesis. Course Accounts and Tools ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu Sept 13, 2006 Lecture 3: Basic VHDL constructs Signals, Variables, Constants VHDL Simulator and Test benches Types Reading: Ashenden

More information

Digital Systems Design

Digital Systems Design Digital Systems Design Review of Combinatorial Circuit Building Blocks: VHDL for Combinational Circuits Dr. D. J. Jackson Lecture 2-1 Introduction to VHDL Designer writes a logic circuit description in

More information

Lab # 5. Subprograms. Introduction

Lab # 5. Subprograms. Introduction Lab # 5 Subprograms Introduction Subprograms consist of procedures and functions. A procedure can return more than one argument; a function always returns just one. In a function, all parameters are input

More information

COE 405 Behavioral Descriptions in VHDL

COE 405 Behavioral Descriptions in VHDL COE 405 Behavioral Descriptions in VHDL Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Constructs for Sequential Descriptions Process Statement

More information

Experiment 8 Introduction to VHDL

Experiment 8 Introduction to VHDL Experiment 8 Introduction to VHDL Objectives: Upon completion of this laboratory exercise, you should be able to: Enter a simple combinational logic circuit in VHDL using the Quartus II Text Editor. Assign

More information

VHDL 3 BASIC OPERATORS AND ARCHITECTURE BODY. Design descriptions & design constructions examples are taken from foundation series examples

VHDL 3 BASIC OPERATORS AND ARCHITECTURE BODY. Design descriptions & design constructions examples are taken from foundation series examples 1 VHDL 3 BASIC OPERATORS AND ARCHITECTURE BODY Design descriptions & design constructions examples are taken from foundation series examples 2 What we have done in Lab 1 entity AND_Gate is port ( a : in

More information

Symbolically a D-Latch can be represented as so, it s truth table is also given:

Symbolically a D-Latch can be represented as so, it s truth table is also given: Symbolically a D-Latch can be represented as so, it s truth table is also given: For this example you will need to create two VHDL (.vhd) files one represents the dlatch itself, while the other will test

More information

Polusabirač. design.vhd. testbench.vhd. library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all;

Polusabirač. design.vhd. testbench.vhd. library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; Polusabirač design.vhd use ieee.numeric_std.all; entity half_adder is i_bit1 : in std_logic; i_bit2 : in std_logic; o_sum : out std_logic; o_carry : out std_logic end half_adder; architecture rtl of half_adder

More information

Lecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1

Lecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1 Lecture 1: VHDL Quick Start Digital Systems Design Fall 10, Dec 17 Lecture 1 1 Objective Quick introduction to VHDL basic language concepts basic design methodology Use The Student s Guide to VHDL or The

More information

CPE 626 Advanced VLSI Design Lecture 6: VHDL Synthesis. Register File: An Example. Register File: An Example (cont d) Aleksandar Milenkovic

CPE 626 Advanced VLSI Design Lecture 6: VHDL Synthesis. Register File: An Example. Register File: An Example (cont d) Aleksandar Milenkovic CPE 626 Lecture 6: VHDL Synthesis Aleksandar Milenkovic http://www.ece.uah.edu/~milenka http://www.ece.uah.edu/~milenka/cpe626-04f/ milenka@ece.uah.edu Assistant Professor Electrical and Computer Engineering

More information

FINAL PROJECT DESIGN OF HOUGH TRANSFORM ON A CORDIC CONFIGURABLE ALGORITHM

FINAL PROJECT DESIGN OF HOUGH TRANSFORM ON A CORDIC CONFIGURABLE ALGORITHM FINAL PROJECT DESIGN OF HOUGH TRANSFORM ON A CORDIC CONFIGURABLE ALGORITHM As Part of CourseWork Of ECE 590 DIGITAL DESIGN IN HARDWARE DESCRIPITIVE LANGUAGE By Mithun Bista Graduate Student ID #: 990081129

More information

Outline CPE 626. Advanced VLSI Design. Lecture 4: VHDL Recapitulation (Part 2) Signals. Variables. Constants. Variables vs.

Outline CPE 626. Advanced VLSI Design. Lecture 4: VHDL Recapitulation (Part 2) Signals. Variables. Constants. Variables vs. CPE 626 Lecture 4: VHDL Recapitulation (Part 2) Aleksandar Milenkovic http://www.ece.uah.edu/~milenka http://www.ece.uah.edu/~milenka/cpe626-04f/ milenka@ece.uah.edu Assistant Professor Electrical and

More information

File: /home/young/mywork/7.cordic_accuracy/ghdl/print.file Page 1 of 13

File: /home/young/mywork/7.cordic_accuracy/ghdl/print.file Page 1 of 13 File: /home/young/mywork/7.cordic_accuracy/ghdl/print.file Page 1 of 13 makefile sendrecv.o: sendrecv.c gcc -c -Wall sendrecv.c cordic_vtb: sendrecv.o cordic_vtb.vhdl cp /home/young/mywork/5.cordic_vhdl/a.beh/cordic_pkg.vhdl.

More information

Multiplication Simple Gradeschool Algorithm for 16 Bits (32 Bit Result)

Multiplication Simple Gradeschool Algorithm for 16 Bits (32 Bit Result) Multiplication Simple Gradeschool Algorithm for 16 Bits (32 Bit Result) Input Input Multiplier Multiplicand AND gates 16 Bit Adder 32 Bit Product Register Multiplication Simple Gradeschool Algorithm for

More information

Digital Design. Chapter 9: Hardware Description Languages

Digital Design. Chapter 9: Hardware Description Languages Digital Design Chapter 9: Hardware Description Languages Slides to accompany the textbook Digital Design, with RTL Design, VHDL, and Verilog, 2nd Edition, by, John Wiley and Sons Publishers, 2010. http://www.ddvahid.com

More information