VHDL for FPGA Design. by : Mohamed Samy
|
|
- Estella Russell
- 6 years ago
- Views:
Transcription
1 VHDL for FPGA Design by : Mohamed Samy
2 VHDL Vhdl is Case insensitive myvar = myvar = MYVAR IF = if = if Comments start with -- Comments can exist anywhere in the line Semi colon indicates the end of statements Vhdl Design Units Packages Library Entity Architecture
3 Library All VHDL objects ultimately reside in libraries By definition, a library is a collection of analyzed design units Work and std are the two libraries available to every design unit Libraries and Packages comprise the VHDL Design Management structure This is somehow analogous to directories and subdirectories
4 Library & Packages A library can be considered as a place where the compiler stores information about a design project. A VHDL package is a file or module that contains declarations of commonly used objects, data type, component declarations, signal, procedures and functions. To specify the library and package, use the library and the use keywords. For example to include the std_logic_1164 package that exists in the library ieee Library ieee; use ieee.std_logic_1164.all; The.all extension indicates to use all of the ieee.std_logic_1164 package.
5 Multiple Architecture Multiple architectures can exist for each entity These may represent different stages of the design process or different approaches to the same functionality (optimization for speed verus area, etc.)
6 How to identify any hardware? A B DU1 and DU3 F B A C DU2 and F A B or F For a given interface we can have many functionalities To identify a given design unit: Interface (input/output ports) Input-output relation (the DU functionality)
7 VHDL Design Unit Entity Describes the external interface of a hardware module Black Box entity <entity_name> is port ( <port_name> : <mode> <type>; <other ports>... ); End entity;
8 VHDL Design Unit Architecture An architecture describes the internal operation of its associated (primary) entity A given architecture represents one possible implementation for its associated entity, multiple architectures can exist for each entity Half Adder architecture <arch_name> of <entity_name> is -- architecture body end <arch_name>; Full Adder
9 Entity: entity <entity_name> is port ( <port_name> : <mode> <type>; <other ports>... ); End entity; Modes : In : input to this device Out : output from this device Inout : input to or output from this device Buffer : output from device and can be read inside the device
10 Illegal Port Usage Signal Defined As Out Cannot Be Used As Signal Connected to Internal Device. entity (W,X,Y: in bit; A,B: out bit);
11 Entity: Data types : wire : bit or 1 std_logic std_ulogic entity <entity_name> is port ( <port_name> : <mode> <type>; <other ports>... ); End entity; U -- Uninitialized X -- Forcing Unknown 0 -- Forcing Zero 1 -- Forcing One Z -- High Impedance W -- Weak Unknown L -- Weak Zero H -- Weak One - -- Don t Care bus : bit_vector ( range ) -> 001 std_logic_vector ( range ) -> 001 range: 0 to 7 3 downto 0 Note: std_logic and std_ulogic are defined in IEEE.STD_LOGIC_1164
12 Entity: (cont.) Example: full adder Entity fulladder is port ( x : in bit ; y : in bit ; z : in bit ; c : out bit ; o : out bit ) ; End fulladder; x y z fulladder c o Direction Data type
13 Architecture: A design unit associated with an entity which describes its internal operation or organization. Multiple architectures may be defined for a single entity Example: Architecture arch of fulladder is declarative area Begin concurrent statements are written here End arch; Declarative area: to declare signals, components and data types
14 Architecture: (cont.) Statement types: 1 2 A C Concurrent: Boolean equation. when else. With select. Process Generate Instances B Sequential: Boolean equation. If else. case when loops. wait.
15 Don t forget Concurrent statements (Default) Executed in parallel With select When else Process statements Generate statements Sequential statements (within Process) Executed in sequence If statement Case statement loop statement Wait statement Note : Sequential statements must be used within process
16 Architecture Concurrent statements Boolean When-else With-select Process
17 Concurrent statements: 1. Boolean equation: s <= a xor b and c; Note: Use of parentheses is absolutely essential to specify operator precedence. Only the not operator has inherently higher precedence among logical operators.
18 Architecture: (cont.) Example: Example: full adder Architecture arch of fulladder is Begin o <= x xor y xor z; c <= (x and y) or (z and (x xor y)); End arch; x y z fulladder c o
19 Concurrent statements: 2. When. Else: <sig1> <= value1 when condition1 else value2 when condition2 else. valuen; a Architecture behave of mux is Begin F <= a when sel = 00 else b when sel = 01 else c; End behave ; b c Sel(1:0) F What is the result if the last else statement doesn t exist?
20 Concurrent statements: 3. With. select: With < signal1> select Signal2 <= value1 when choice1, value2 when choice2,. valuen when others ; Architecture behave of mux is Begin With sel select F <= a when 00, b when 01, c when others; End behave; b c a Sel(1:0) F What is the result if there is no when others?
21 Skills check Try the following: Bus Mux Modified Bus Mux A(7:0) B(7:0) C(7:0) D(7:0) F(7:0) Ssel(2:0) G Bsel(1:0)
22 Concurrent statements: A process contains statements that are executed sequentially The order of the statements impacts the final result Process (sensitivity_list) list of sequential statements end process ; List of signals, any change in any of them causes the process statement to be executed.
23 Language Structure architecture RTL of ENTITY_1 is concurrent statements ; process sequential statements ; end process ; concurrent statements ; process sequential statements ; end process ; end architecture RTL ;
24 Signal assignment inside process The signal assignment statement Z <= A causes a transaction to be scheduled This means; the current value of A is read and scheduled to be driven onto Z when the process suspends process (...) Z <= A ; F <= G ; X <= F;... end process ;
25 Architecture Sequential statements Boolean Case If Loops Wait
26 Sequential statements: 1. Boolean equation: s <= a xor b xor c; Architecture behave of fulladder is Begin process (?) (x,y,z) o <= x xor y xor z; c <= (x and y) or (z and (x xor y)); end process; End behave ; Signals in sensitivity list create implied wait condition x y z fulladder c o
27 Sequential statements: 2. Case when: case <signal_name> is when value => list of sequential statements; when value => list of sequential statements; when others => list of sequential statements; end case; ENTITY mux IS PORT( a, b, c, d: in bit; sel: IN bit_vector(1 downto 0); F: OUT bit); END ENTITY mux; ARCHITECTURE rtl OF mux IS process (a,b,c,d,sel) (?) is is CASE sel IS WHEN "00" => F <= a; WHEN "01" => F <= b; WHEN "10" => F <= c; WHEN "11" => F <= d; END CASE; END PROCESS ; END ARCHITECTURE rtl; a b c d Sel(1:0) What about when others? F
28 Sequential statements: Case when: case <signal_name> is when value =>list of sequential statements; when value =>list of sequential statements; when others =>list of sequential statements; end case; ENTITY mux IS PORT( a, b, c, d: IN bit; s: IN bit_vector(1 downto 0); x: OUT bit); END ENTITY mux; ARCHITECTURE rtl OF mux IS BEGIN sl: PROCESS (a,b,c,d,sel) IS BEGIN CASE s IS WHEN "00" => x <= a; WHEN "01" => x <= b; WHEN "10" => x <= c; WHEN "11" => x <= d; END CASE; END PROCESS sl; END ARCHITECTURE rtl; ENTITY mux IS PORT( a, b, c, d: IN bit_vector (3 DOWNTO 0); s: IN bit_vector (1 DOWNTO 0); x: OUT bit_vector (3 DOWNTO 0)); END ENTITY mux; ARCHITECTURE rtl OF mux IS BEGIN sl: PROCESS (a,b,c,d,s) IS BEGIN CASE s IS WHEN "00" => x <= a; WHEN "01" => x <= b; WHEN "10" => x <= c; WHEN "11" => x <= d; END CASE; END PROCESS sl; END ARCHITECTURE rtl;
29 Two-input Exclusive OR function A process example for a 2-input exclusive-or function is illustrated below. For this function, there are two input signals, in1 and in2, and one output signal. x_or : sig1 <= in1 xor in2; Concurrent signal assignment: output is updated when signals on the right change x_or : process (in1, in2) is sigl <= in1 xor in2; end process x_or; Signal assignment in process: output is updated when process suspends
30 Sequential statements: 3. if. Else: If <condition> then list of sequential statements; Elsif <condition> then list of sequential statements; Elsif <condition> then list of sequential statements;.. End if;
31 Sequential statements: ENTITY latch IS PORT( d, clk: IN bit; q, nq: OUT bit); END ENTITY latch; ARCHITECTURE behav OF latch is BEGIN p1: PROCESS (d, clk) BEGIN IF clk = '1' THEN q <= d; nq <= NOT(d); END IF; END PROCESS p1; END behav; if <condition> then list of sequential statements Elsif <condition> then list of sequential statements End if; Library ieee; use ieee.std_logic_1164.all; ENTITY D_FF IS PORT( d, clk: IN std_logic; q, nq: OUT std_logic); END ENTITY D_FF; ARCHITECTURE behav OF D_FF is BEGIN p1: PROCESS (d, clk) BEGIN IF rising_edge(clk) THEN q <= d; nq <= NOT(d); END IF; END PROCESS p1; END behav; Is d required in sensitivity list?
32 Sequential statements: Library ieee; use ieee.std_logic_1164.all; entity D_FF_Asynch_rst is port( d, clk: in std_logic; q: out std_logic); end entity; architecture behav of D_FF_Asynch_rst is process (clk, rst) If rst = 0 then q <= 1 ; Else if falling_edge (clk) then q <= d; end if; End if; end process; end behav; Library ieee; use ieee.std_logic_1164.all; entity D_FF_Synch_rst is port( d, clk: in std_logic; q, nq: out std_logic); end entity ; architecture behav of D_FF_Synch_rst is process (clk) if falling_edge (clk) then if (rst = 1 ) q <= 0 ; nq <= 1 ; else q <= d; nq <= not(d); end if; End if; end process; end behav;
33 Sequential statements: entity latch_asynch_rst is port (d, clk: in bit; q: out bit); end entity; architecture behav of latch_asynch_rst is process (d, clk, rst) if rst = 1 then q <= 0 ; else if clk = '1' then q <= d; end if; end if; end process; end behav; entity latch_synch_rst is port (d, clk: in bit; q: out bit); end entity; architecture behav of latch_synch_rst is process (d, clk, rst) if clk = '1' then if rst = 1 then q <= 0 ; else q <= d; end if; end if; end process; end behav;
34 Sequential statements: q doesn t change architecture behav of D_FF_Asynch_rst_clkEnable is PROCESS (clk, rst) BEGIN If rst = 0 then q <= 1 ; Else IF rising_edge (clk) THEN if en = 1 then q <= d; end if; END IF; End if; END PROCESS; END behav; q is high impedance architecture behav of D_FF_Asynch_rst_clkEnable is PROCESS (clk, rst) BEGIN If rst = 0 then q <= 1 ; Else IF rising_edge (clk) THEN if en = 1 then q <= d; else q <= Z ; end if; END IF; End if; END PROCESS; END behav;
35 Sequential statements: ARCHITECTURE behav OF D_FF_gated_Clk IS BEGIN PROCESS (en, clk, rst) BEGIN If rst = 0 then q <= 1 ; Else if en = 1 then IF rising_edge (clk) then q <= d; end if; END IF; End if; END PROCESS; END behav;
36 Concurrent vs. Sequential Statements Concurrent Sequential entity XNOR2 is port (A, B: in std_logic; Z: out std_logic); end XNOR2; architecture concurrent of XNOR2 is -- signal declaration (of internal signals X, Y) signal X, Y: std_logic; X <= A and B; Y <= (not A) and (not B); Z <= X or Y; End concurrent; entity XNOR2 is port (A, B: in std_logic; Z: out std_logic); end XNOR2; architecture sequential of XNOR2 is XNOR2 : Process (A,B) if ((A = 0 and B = 0 ) (A = 1 and B = 1 )) then Z <= 1 ; else Z <= 0 ; end if; end process XNOR2; end sequential;
37 Skills check Out1? architecture... process ( ) OUT1 <= A ; OUT1 <= B ;... end process ; end architecture ; The last assignment takes effect architecture... OUT1 <= A ; OUT1 <= B ;... end architecture ; Some form of resolution is required for the output signal OUT1
38 Don t forget Concurrent statements (Default) Executed in parallel With select When else Process statements Generate statements Sequential statements (within Process) Executed in sequence If statement Case statement loop statement Wait statement Note : Sequential statements must be used within process
39 Assignment Write VHDL code for 3X8 Decoder? Write VHDL code for 3X8 Encoder? What is the difference between std_logic and std_ulogic data types? Prepare yourself for a quick test?
40 Q&A
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 informationMulti-valued Logic. Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized
Multi-valued Logic Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized X, unknown 0, logic 0 1, logic 1 Z, high impedance W, unknown L, logic 0 weak H, logic 1 weak - ); don t care Standard
More informationLattice 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 informationECE 545 Lecture 5. Data Flow Modeling in VHDL. George Mason University
ECE 545 Lecture 5 Data Flow Modeling in VHDL George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 4, Concurrent Signal Assignment Statements of VHDL 2 Types of VHDL Description
More informationDigital 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 informationCSCI 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 informationIntroduction to VHDL
Introduction to VHDL Agenda Introduce VHDL Basic VHDL constructs Implementing circuit functions Logic, Muxes Clocked Circuits Counters, Shifters State Machines FPGA design and implementation issues FPGA
More informationIntroduction 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 informationHardware Modeling. VHDL Basics. ECS Group, TU Wien
Hardware Modeling VHDL Basics ECS Group, TU Wien VHDL Basics 2 Parts of a Design Unit Entity Architecture Configuration Package Package Package Body Library How to create a Design Unit? Interface to environment
More informationVHDL And Synthesis Review
VHDL And Synthesis Review VHDL In Detail Things that we will look at: Port and Types Arithmetic Operators Design styles for Synthesis VHDL Ports Four Different Types of Ports in: signal values are read-only
More informationVHDL. 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 informationDigital Systems Design
IAY 0600 Example: HalfAdder Behavior Structure Digital Systems Design a b Sum Carry 0 0 0 0 0 1 1 0 a b HalfAdder Sum Carry 1 0 1 0 VHDL discussion Dataflow Style Combinational Design 1 1 0 1 a Sum Sum
More information1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013
MARIE CURIE IAPP: FAST TRACKER FOR HADRON COLLIDER EXPERIMENTS 1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013 Introduction to VHDL Calliope-Louisa Sotiropoulou PhD Candidate/Researcher Aristotle University
More informationHardware Description Language VHDL (1) Introduction
Hardware Description Language VHDL (1) Introduction Digital Radiation Measurement and Spectroscopy NE/RHP 537 Introduction Hardware description language (HDL) Intended to describe circuits textually, for
More informationLecture 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 informationVHDL Part 2. What is on the agenda? Basic VHDL Constructs. Examples. Data types Objects Packages and libraries Attributes Predefined operators
VHDL Part 2 Some of the slides are taken from http://www.ece.uah.edu/~milenka/cpe428-02s/ What is on the agenda? Basic VHDL Constructs Data types Objects Packages and libraries Attributes Predefined operators
More informationAdvanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis. 26 October - 20 November, 2009
2065-15 Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis 26 October - 20 November, 2009 FPGA Architectures & VHDL Introduction to Synthesis Nizar Abdallah ACTEL Corp.2061
More informationMenu. Introduction to VHDL EEL3701 EEL3701. Intro to VHDL
3-Jul-1 4:34 PM VHDL VHDL: The Entity VHL: IEEE 1076 TYPE VHDL: IEEE 1164 TYPE VHDL: The Architecture Mixed-Logic in VHDL VHDL MUX examples See also example file on web: Creating graphical components (Component_Creation.pdf)
More informationAbi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University
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.
More information310/ ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006
310/1780-10 ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006 VHDL & FPGA - Session 2 Nizar ABDALLH ACTEL Corp. 2061 Stierlin Court
More informationHardware Description Languages. Modeling Complex Systems
Hardware Description Languages Modeling Complex Systems 1 Outline (Raising the Abstraction Level) The Process Statement if-then, if-then-else, if-then-elsif, case, while, for Sensitivity list Signals vs.
More informationEECE-4740/5740 Advanced VHDL and FPGA Design. Lecture 3 Concurrent and sequential statements
EECE-4740/5740 Advanced VHDL and FPGA Design Lecture 3 Concurrent and sequential statements Cristinel Ababei Marquette University Department of Electrical and Computer Engineering Overview Components hierarchy
More informationECE 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!"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"
!"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"!!"#$%&'#()#*+"+#,-."/0110#230#4."50",+"+#)6# 6+-+#(.6+-0#)4475.8)60#0/#.65-0#230#9+**+"+# 2.48).-0#(.6+-0#! 2+"*5."5*:#,."/0110#;)**0! *),".6*:#-.99-0*0"5."+#2+660,.40"5)#;)*)2)#
More informationSubprograms, Packages, and Libraries
Subprograms, Packages, and Libraries Sudhakar Yalamanchili, Georgia Institute of Technology ECE 4170 (1) function rising_edge (signal clock: std_logic) return boolean is declarative region: declare variables
More informationModeling Complex Behavior
Modeling Complex Behavior Sudhakar Yalamanchili, Georgia Institute of Technology, 2006 (1) Outline Abstraction and the Process Statement Concurrent processes and CSAs Process event behavior and signals
More informationLecture 4. VHDL Fundamentals. Required reading. Example: NAND Gate. Design Entity. Example VHDL Code. Design Entity
Required reading Lecture 4 VHDL Fundamentals P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL George Mason University 2 Example: NAND Gate Design Entity a b z a b z 0
More informationReview 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 informationBuilding Blocks. Entity Declaration. Entity Declaration with Generics. Architecture Body. entity entity_name is. entity register8 is
Building Blocks Entity Declaration entity entity_name is [signal] identifier {, identifier}: [mode] signal_type {; [signal] identifier {, identifier}: [mode] signal_type}); end [entity ] [entity_name];
More informationCS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory
CS211 Digital Systems/Lab Introduction to VHDL Hyotaek Shim, Computer Architecture Laboratory Programmable Logic Device (PLD) 2/32 An electronic component used to build reconfigurable digital circuits
More informationComputer-Aided Digital System Design VHDL
بس م اهلل الر حم ن الر حی م Iran University of Science and Technology Department of Computer Engineering Computer-Aided Digital System Design VHDL Ramin Rajaei ramin_rajaei@ee.sharif.edu Modeling Styles
More informationDigital Systems Design
IAY 0600 Digital Systems Design VHDL discussion Dataflow Style Combinational Design Tallinn University of Technology Combinational systems Combinational systems have no memory. A combinational system's
More informationMridula Allani Fall Fall
Mridula Allani Fall 2010 Fall 2010 1 Model and document digital systems Hierarchical models System, RTL (Register Transfer Level), gates Different levels of abstraction Behavior, structure Verify circuit/system
More informationCombinational Logic COMB. LOGIC BLOCK. A Combinational Logic Block is one where the outputs depend only on the current inputs
Combinational Logic A Combinational Logic Block is one where the outputs depend only on the current inputs COMB. LOGIC BLOCK A combinational logic block can be implemented using simple gates or lookup
More informationEEL 4783: Hardware/Software Co-design with FPGAs
EEL 4783: Hardware/Software Co-design with FPGAs Lecture 9: Short Introduction to VHDL* Prof. Mingjie Lin * Beased on notes of Turfts lecture 1 What does HDL stand for? HDL is short for Hardware Description
More informationECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 3, RT-level
More informationLecture 10 Subprograms & Overloading
CPE 487: Digital System Design Spring 2018 Lecture 10 Subprograms & Overloading Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Subprograms
More informationDesign units can NOT be split across different files
Skeleton of a Basic VHDL Program This slide set covers the components to a basic VHDL program, including lexical elements, program format, data types and operators A VHDL program consists of a collection
More informationVery 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 informationConcurrent 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 informationIntroduction 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 informationVHDL 2 Combinational Logic Circuits. Reference: Roth/John Text: Chapter 2
VHDL 2 Combinational Logic Circuits Reference: Roth/John Text: Chapter 2 Combinational logic -- Behavior can be specified as concurrent signal assignments -- These model concurrent operation of hardware
More informationLecture 12 VHDL Synthesis
CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?
More informationVHDL Examples Mohamed Zaky
VHDL Examples By Mohamed Zaky (mz_rasmy@yahoo.co.uk) 1 Half Adder The Half Adder simply adds 2 input bits, to produce a sum & carry output. Here we want to add A + B to produce Sum (S) and carry (C). A
More informationVHDL: Code Structure. 1
VHDL: Code Structure talarico@gonzaga.edu 1 Mo:va:on for HDL- based design Standard Technology/vendor independent Portable and Reusable talarico@gonzaga.edu 2 Altera s Design Flow (RTL) RTL Generic Boolean
More informationECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 3, RT-level
More informationLecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)
Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits Hardware Description Language) 1 Standard ICs PLD: Programmable Logic Device CPLD: Complex PLD FPGA: Field Programmable
More informationLecture 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 informationIn 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 information1. Defining and capturing the design of a system. 2. Cost Limitations (low profit margin must sell millions)
What is an Embedded System? A type of computer system ECEN 4856: Embedded System Design Lecture 2: Embedded System Standards Traditional Definitions Limited in hardware and software vs the PC Designed
More informationChapter 6 Combinational-Circuit Building Blocks
Chapter 6 Combinational-Circuit Building Blocks Commonly used combinational building blocks in design of large circuits: Multiplexers Decoders Encoders Comparators Arithmetic circuits Multiplexers A multiplexer
More informationENGIN 241 Digital Systems with Lab
ENGIN 241 Digital Systems with Lab (4) Dr. Honggang Zhang Engineering Department University of Massachusetts Boston 1 Introduction Hardware description language (HDL): Specifies logic function only Computer-aided
More informationContents. Appendix D VHDL Summary Page 1 of 23
Appendix D VHDL Summary Page 1 of 23 Contents Appendix D VHDL Summary...2 D.1 Basic Language Elements...2 D.1.1 Comments...2 D.1.2 Identifiers...2 D.1.3 Data Objects...2 D.1.4 Data Types...2 D.1.5 Data
More informationFPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 9 & 10 : Combinational and Sequential Logic
FPGA BASED SYSTEM DESIGN Dr. Tayab Din Memon tayabuddin.memon@faculty.muet.edu.pk Lecture 9 & 10 : Combinational and Sequential Logic Combinational vs Sequential Logic Combinational logic output depends
More informationVHDL in 1h. Martin Schöberl
VHDL in 1h Martin Schöberl VHDL /= C, Java, Think in hardware All constructs run concurrent Different from software programming Forget the simulation explanation VHDL is complex We use only a small subset
More informationUNIT 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 informationVHDL for Complex Designs
ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 VHDL for Complex Designs This lecture covers VHDL features that are useful when designing complex logic circuits. After
More informationSynthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden
Synthesis from VHDL Krzysztof Kuchcinski Krzysztof.Kuchcinski@cs.lth.se Department of Computer Science Lund Institute of Technology Sweden March 23, 2006 Kris Kuchcinski (LTH) Synthesis from VHDL March
More informationLogic 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 informationEE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 4 Introduction to VHDL
EE 459/500 HDL Based Digital Design with Programmable Logic Lecture 4 Introduction to VHDL Read before class: Chapter 2 from textbook (first part) Outline VHDL Overview VHDL Characteristics and Concepts
More informationInthis 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 informationReview. 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 informationCDA 4253 FPGA System Design Introduction to VHDL. Hao Zheng Dept of Comp Sci & Eng USF
CDA 4253 FPGA System Design Introduction to VHDL Hao Zheng Dept of Comp Sci & Eng USF Reading P. Chu, FPGA Prototyping by VHDL Examples Chapter 1, Gate-level combinational circuits Two purposes of using
More informationVHDL Synthesis Reference
VHDL Synthesis Reference Old Content - visit altium.com/documentation Mod ifi ed by on 6- Nov -20 13 The following content has been imported from Legacy Help systems and is in the process of being checked
More informationLecture 4: Modeling in VHDL (Continued ) EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 4: Modeling in VHDL (Continued ) Sequential Statements Use Process process (sensitivity list) variable/constant declarations Sequential Statements end process; 2 Sequential
More informationLecture 3: Modeling in VHDL. EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware
More informationSEQUENTIAL STATEMENTS
SEQUENTIAL STATEMENTS Sequential Statements Allow to describe the behavior of a circuit as a sequence of related events Can be used to model, simulate and synthesize: Combinational logic circuits Sequential
More informationLecture 3. VHDL Design Units and Methods. Entity, Architecture, and Components Examples of Combinational Logic Hands-on in the Laboratory
Lecture 3 Entity, Architecture, and Components Examples of Combinational Logic Hands-on in the Laboratory BTF4220 - Digital Electronics 2 Mar. 06, 2015 Bern University of Applied Sciences Agenda Rev. ec317bd
More informationEEL 4712 Digital Design Test 1 Spring Semester 2008
IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read it with a reasonable effort, it is assumed wrong. Also, as always, the best answer gets the most points. COVER SHEET: Problem:
More informationIntroduction to VHDL #3
ECE 322 Digital Design with VHDL Introduction to VHDL #3 Lecture 7 & 8 VHDL Modeling Styles VHDL Modeling Styles Dataflow Concurrent statements Structural Components and interconnects Behavioral (sequential)
More informationBASIC VHDL LANGUAGE ELEMENTS AND SEMANTICS. Lecture 7 & 8 Dr. Tayab Din Memon
BASIC VHDL LANGUAGE ELEMENTS AND SEMANTICS Lecture 7 & 8 Dr. Tayab Din Memon Outline Data Objects Data Types Operators Attributes VHDL Data Types VHDL Data Objects Signal Constant Variable File VHDL Data
More informationSequential Statement
Sequential Statement Sequential Logic Output depends not only on current input values but also on previous input values. Are building blocks of; Counters Shift registers Memories Flip flops are basic sequential
More informationEE 595. Part II Design Units in VHDL. EE 595 EDA / ASIC Design Lab
EE 595 Part II Design Units in VHDL Design Units There are five type of design units in VHDL: Entities Architectures Packages Package Bodies Configurations Entities and architectures are the only two design
More informationAssignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture
Assignment Last time Project 4: Using synthesis tools Synplify Pro and Webpack Due 11/11 ning of class Generics Used to parameterize models E.g., Delay, bit width Configurations Configuration specification
More informationVHDL: A Crash Course
VHDL: A Crash Course Dr. Manuel Jiménez With contributions by: Irvin Ortiz Flores Electrical and Computer Engineering Department University of Puerto Rico - Mayaguez Outline Background Program Structure
More informationBasic Language Constructs of VHDL
Basic Language Constructs of VHDL Chapter 3 1 Outline 1. Basic VHDL program 2. Lexical elements and program format 3. Objects 4. Data type and operators Chapter 3 2 1. Basic VHDL program Chapter 3 3 Design
More informationECE4401 / CSE3350 ECE280 / CSE280 Digital Design Laboratory
ECE4401 / CSE3350 ECE280 / CSE280 Digital Design Laboratory Instructor John Chandy Office: ITEB 437 Office Hours: W10-12 Tel: (860) 486-5047 Email: john.chandy@uconn chandy@uconn.edu Class home page: HuskyCT
More informationJUNE, JULY 2013 Fundamentals of HDL (10EC45) PART A
JUNE, JULY 2013 Fundamentals of HDL (10EC45) Time: 3hrs Max Marks:100 Note: Answer FIVE full questions, selecting at least TWO questions from each part. PART A Q1.a. Describe VHDL scalar data types with
More informationPROGRAMMABLE LOGIC DESIGN WITH VHDL
PROGRAMMABLE LOGIC DESIGN WITH VHDL 1 Quick Time-to-Market Why Use VHDL? Allows designers to quickly develop designs requiring tens of thousands of logic gates Provides powerful high-level constructs for
More informationECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University
ECE 545 Lecture 8 Data Flow Description of Combinational-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 7, Combinational Circuit Design:
More informationEmbedded Systems CS - ES
Embedded Systems - 1 - REVIEW Hardware/System description languages VDHL VHDL-AMS SystemC TLM - 2 - VHDL REVIEW Main goal was modeling of digital circuits Modelling at various levels of abstraction Technology-independent
More informationC-Based Hardware Design
LECTURE 6 In this lecture we will introduce: The VHDL Language and its benefits. The VHDL entity Concurrent and Sequential constructs Structural design. Hierarchy Packages Various architectures Examples
More informationVHDL Basics. Mehdi Modarressi. Department of Electrical and Computer Engineering, University of Tehran. ECE381(CAD), Lecture 4:
ECE381(CAD), Lecture 4: VHDL Basics Mehdi Modarressi Department of Electrical and Computer Engineering, University of Tehran Some slides are taken (with modifications) from ECE-448 of GMU Outline An introduction
More informationLecture 3. VHDL Design Units and Methods. Notes. Notes. Notes
Lecture Entity, Architecture, and Components Examples of Combinational Logic Hands-on in the Laboratory BTF4220 - Digital Electronics 2 Mar. 06, 2015 Bern University of Applied Sciences Agenda Rev. ec17bd.2
More informationVHDL Packages for Synthesis Base Types Standard bit types may be used Typically IEEE 1164 Std. types are used. CPE 528: Session #9
CPE 528: Session #9 Department of Electrical and Computer Engineering University of Alabama in Huntsville VHDL Packages for Synthesis Base Types Standard bit types may be used Typically IEEE 1164 Std.
More informationIntroduction to VHDL. Copyright 2005 Altera Corporation
Introduction to VHDL Objectives Theory: Understand Basic Constructs of VHDL Understand Modeling Structures of VHDL Lab: Obtain an overview of Altera FPGA technology Create a New Quartus II Project Compile
More informationVHDL. 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 informationA bird s eye view on VHDL!
Advanced Topics on Heterogeneous System Architectures A bird s eye view on VHDL Politecnico di Milano Conference Room, Bld 20 19 November, 2015 Antonio R. Miele Marco D. Santambrogio Politecnico di Milano
More informationDepartment of Electronics & Communication Engineering Lab Manual E-CAD Lab
Department of Electronics & Communication Engineering Lab Manual E-CAD Lab Prasad V. Potluri Siddhartha Institute of Technology (Sponsored by: Siddhartha Academy of General & Technical Education) Affiliated
More informationLecture 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 informationCprE 583 Reconfigurable Computing
Recap Moore FSM Example CprE / ComS 583 Reconfigurable Computing Moore FSM that recognizes sequence 10 0 1 0 1 S0 / 0 S1 / 0 1 S2 / 1 Prof. Joseph Zambreno Department of Electrical and Computer Engineering
More informationVHDL is a hardware description language. The code describes the behavior or structure of an electronic circuit.
VHDL is a hardware description language. The code describes the behavior or structure of an electronic circuit. Its main applications include synthesis of digital circuits onto CPLD/FPGA (Complex Programmable
More informationDIGITAL LOGIC WITH VHDL (Fall 2013) Unit 3
DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 3 BEHAVIORAL DESCRIPTION Asynchronous processes (decoder, mux, encoder, etc): if-else, case, for-loop. BEHAVIORAL DESCRIPTION (OR SEQUENTIAL) In this design style,
More informationVHDL VS VERILOG.
1 VHDL VS VERILOG http://www.cse.cuhk.edu.hk/~mcyang/teaching.html 2 VHDL & Verilog They are both hardware description languages for modeling hardware. They are each a notation to describe the behavioral
More informationDIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 3
DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 3 BEHAVIORAL DESCRIPTION Asynchronous processes (decoder, mux, encoder, etc): if-else, case, for-loop. Arithmetic expressions inside asynchronous processes.
More informationTutorial 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 informationACS College of Engineering. Department of Biomedical Engineering. Logic Design Lab pre lab questions ( ) Cycle-1
ACS College of Engineering Department of Biomedical Engineering Logic Design Lab pre lab questions (2015-2016) Cycle-1 1. What is a combinational circuit? 2. What are the various methods of simplifying
More informationWhat Is VHDL? VHSIC (Very High Speed Integrated Circuit) Hardware Description Language IEEE 1076 standard (1987, 1993)
What Is VHDL? VHSIC (Very High Speed Integrated Circuit) Hardware Description Language IEEE 1076 standard (1987, 1993) Only possible to synthesize logic from a subset of VHDL Subset varies according to
More informationSequential Logic - Module 5
Sequential Logic Module 5 Jim Duckworth, WPI 1 Latches and Flip-Flops Implemented by using signals in IF statements that are not completely specified Necessary latches or registers are inferred by the
More informationIE1204 Digital Design L7: Combinational circuits, Introduction to VHDL
IE24 Digital Design L7: Combinational circuits, Introduction to VHDL Elena Dubrova KTH / ICT / ES dubrova@kth.se This lecture BV 38-339, 6-65, 28-29,34-365 IE24 Digital Design, HT 24 2 The multiplexer
More information