Hardware Description Languages

Slides:



Advertisements
Similar presentations
ECE C03 Lecture 131 Lecture 13 VHDL Structural Modeling Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Advertisements

Quad 2-to-1 and Quad 4-to-1 Multiplexers Discussion D2.4 Example 7.
Arbitrary Waveform Discussion 5.5 Example 34.
Edge-Triggered D Flip-Flops Discussion D4.2 Example 26.
Multiplexer as a Universal Element Discussion D2.6 Example 9.
1 VLSI DESIGN USING VHDL Part II A workshop by Dr. Junaid Ahmed Zubairi.
Shifters Discussion D7.1 Example Bit Shifter.
Ring Counter Discussion D5.3 Example 32. Ring Counter if rising_edge(CLK) then for i in 0 to 2 loop s(i)
Generic Multiplexers: Parameters Discussion D2.5 Example 8.
Logic Design Fundamentals - 3 Discussion D3.2. Logic Design Fundamentals - 3 Basic Gates Basic Combinational Circuits Basic Sequential Circuits.
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.
Counters Discussion D5.3 Example 33. Counters 3-Bit, Divide-by-8 Counter 3-Bit Behavioral Counter in Verilog Modulo-5 Counter An N-Bit Counter.
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
4-to-1 Multiplexer: case Statement Discussion D2.3 Example 6.
Shift Registers Discussion D5.2 Example Bit Shift Register qs(3) qs(2) qs(1) qs(0) if rising_edge(CLK) then for i in 0 to 2 loop s(i) := s(i+1);
Jai Henwood Introduction to VHDL ECE /24/03 Dr. Veton Këpuska.
4-bit Shift Register. 2-bit Register Serial-in-serial-out Shift Register.
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
DSD,USIT,GGSIPU1 Entity declaration –describes the input/output ports of a module entity reg4 is port ( d0, d1, d2, d3, en, clk : in std_logic; q0, q1,
ENG6090 RCS1 ENG6090 Reconfigurable Computing Systems Hardware Description Languages Part 5: Modeling Structure.
VHDL in 1h Martin Schöberl. AK: JVMHWVHDL2 VHDL /= C, Java,… Think in hardware All constructs run concurrent Different from software programming Forget.
1 CAD for VLSI Tutorial #1 VHDL - Very High Speed Integrated Circuit (VHSIC) Hardware Description Language.
Main Project : Simple Processor Mini-Project : 3-bit binary counter (using 7400 series) Memory By Oluwayomi B. Adamo.
Digital Design – Hardware Description Languages Chapter 9 - Hardware Description Languages.
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
1 VHDL Overview A Quick Start Tutorial. 2 What does VHDL stand for ? V HSIC H ardware D escription L anguage VHSIC: V ery H igh S peed I ntegrated C ircuits.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
2’s Complement 4-Bit Saturator Discussion D2.8 Lab 2.
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
1 Introduction to VHDL Part 2 Fall We will use Std_logic And, Or have same precedence See slide 8 of part 1.
4-to-1 Multiplexer: Module Instantiation Discussion D2.2 Example 5.
 Seattle Pacific University EE Logic System DesignCounters-1 Shift Registers DQ clk DQ DQ ShiftIn Q3Q3 Q2Q2 DQ Q1Q1 Q0Q0 A shift register shifts.
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 Programming Fundamentals Presented By Dr. Pradyut Kumar Biswal Department of Electronics, IIIT Bhubaneswar.
CDA 4253 FPGA System Design Sequential Circuit Building Blocks Hao Zheng Dept of Comp Sci & Eng USF.
VHDL ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
ECE DIGITAL LOGIC LECTURE 20: REGISTERS AND COUNTERS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 11/19/2015.
(1) Modeling Structure © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
INF H131 Clock and Reset Unit (CRU) module library ieee; use ieee.std_logic_1164.all; entity cru is port ( arst : in std_logic; -- Asynch. reset.
George Mason University Behavioral Modeling of Sequential-Circuit Building Blocks ECE 545 Lecture 8.
Registers and Counters Discussion D8.1. Logic Design Fundamentals - 3 Registers Counters Shift Registers.
Algorithmic State Machine (ASM) Charts: VHDL Code & Timing Diagrams
Sequential statements (1) process
Combinational logic circuit
Elements of Structural Models
LAB #6 Sequential Logic Design (Flip Flops, Shift Registers)
Describing Combinational Logic Using Processes
Figure 7.1 Control of an alarm system
Part II A workshop by Dr. Junaid Ahmed Zubairi
Part III: SYSTEM DESIGN
Maj Jeffrey Falkinburg Room 2E46E
Part IV: VHDL CODING.
LIBRARY IEEE; Include Libraries for standard logic data types USE IEEE.STD_LOGIC_1164.ALL; -- Entity name normally the same as file name.
Sequential-Circuit Building Blocks
Algorithmic State Machine (ASM) Charts: VHDL Code & Timing Diagrams
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
LIBRARY IEEE; Include Libraries for standard logic data types USE IEEE.STD_LOGIC_1164.ALL; -- Entity name normally the same as file name.
BARREL SHIFTER.
VHDL (VHSIC Hardware Description Language)
VHDL Discussion Subprograms
VHDL Introduction.
Behavioral Modeling of Sequential-Circuit Building Blocks
VHDL Discussion Subprograms
Sequntial-Circuit Building Blocks
디 지 털 시 스 템 설 계 UP2 Kit를 이용한 카운터 설계
Digital Logic with VHDL
(Sequential-Circuit Building Blocks)
Presentation transcript:

Hardware Description Languages Modeling Structure

Elements of structural models Structural models describe a digital system as an interconnection of components An entity/architecture for each component must be independently available

Structural models Structural models are always “built” as follows: Define the components used in the design Describe the interconnection of these components Structural models can be easily generated (automatically) from schematics Structural descriptions can be nested

Hierarchy and Abstraction Structural modeling expresses the hierarchical nature of designs and provides a mechanism for the instantiation and reuse of cores

An example of structural modeling (1) shift_1 Clk Clk Q_net Rst Rst Q Load Load Qb Init Data shifter comp_1 A B EQ compare Limit Test shiftcomp

An example of structural modeling (2) library ieee; use ieee.std_logic_1164.all; entity shiftcomp is port( Clk, Rst, Load: in std_logic;   Init: in std_logic_vector(0 to 7);   Test: in std_logic_vector(0 to 7);   Limit: out std_logic); end shiftcomp;    

An example of structural modeling (3) architecture structure of shiftcomp is       component compare         port(A, B: in std_logic_vector(0 to 7); EQ: out std_logic);     end component;     component shifter         port(Clk, Rst, Load: in std_logic;              Data: in std_logic_vector(0 to 7);              Q: out std_logic_vector(0 to 7); Qb: out std_logic_vector(0 to 7));     signal Q_net: std_logic_vector(0 to 7); begin     COMP_1: compare port map (A => Q_net, B => Test, EQ => Limit);     SHIFT_1: shifter port map (Clk => Clk, Rst => Rst, Load => Load, Data => Init, Q => Q_net, Qb => open); end structure;

An example of structural modeling (4) architecture rtl of shifter is begin reg: process(Rst,Clk) variable Qreg: std_logic_vector(0 to 7); if Rst = '1' then -- Async reset Qreg := "00000000"; elsif rising_edge(Clk) then if Load = '1' then Qreg := Data; else Qreg := Qreg(1 to 7) & Qreg(0); end if; Q <= Qreg; Qb <= not(Qreg); end process; end rtl; -- 8-bit barrel shifter library ieee; use ieee.std_logic_1164.all; entity shifter is port( Clk, Rst, Load: in std_logic; Data: in std_logic_vector(0 to 7); Q: out std_logic_vector(0 to 7); Qb: out std_logic_vector(0 to 7) ); end shifter;

An example of structural modeling (5) -- Eight-bit comparator             library ieee;         use ieee.std_logic_1164.all; entity compare is     port( A, B: in std_logic_vector(0 to 7);           EQ : out std_logic); end compare;   architecture rtl of compare is begin     EQ <= ‘1’ when (A = B) else ‘0’; end rtl;