The process. Sensitivity lists
|
|
- Theodora Barnett
- 5 years ago
- Views:
Transcription
1 The process process itself is a concurrent statement but the code inside the process is executed sequentially Process label (optional) Process declarative region Process body entity Test is, : in bit; X, : out bit); end Test; architecture Proc of Test is P1: process (, ) -- signal declarations not allowed if = 1 and = 0 then X <= ; <= 1 ; X <= ; <= 0 ; end Proc; Sensitivity list Process is activated whenever an event occurs on signal or Statements in the process body are executed sequentially! 0 1 X Sensitivity lists For a process that models combinational logic, the sensitivity list must be complete! ll signals that are read ( inputs to the process) must be in the sensitivity list. What does this process model? process() <= or or or ; Our synthesis tool Synplify will assume that the sensitivity list is complete. The function of the synthesized logic will not match the function of the VHL model you simulated. Process execution and suspension process is executed with its initial conditions until it reaches a wait statement. In the wait statement the process suspends and updates signals that has been assigned new values. In the code below, the process resumes whenever there is an event on either or P1 : process 1 <= or ; 2 <= and ; wait on, ; This form of process is so common that there exist a shorthand notation P1 : process(, ) We We always always use use 1 <= or ; the the shorthand shorthand 2 <= and ; notation! notation! Multiple processes interact concurrently entity Test is port (, : in bit; X, : out bit); end Test; architecture Proc of Test is signal Internal : bit; P1 : process (, ) if = '1' and = then X <= ; Internal <= ; X <= ; Internal <= '1'; P2 : process (,, Internal) if Internal = '1' then <= ; <= ; end process P2; end Proc; Process 1 Process 2 Each process execute its statements sequentially. Each process execute when there is an event on one of the signals on its sensitivity list. This may cause an event on another signal that triggers another process and another X
2 The process itself is a concurrent statement architecture RTL of Nisse is P1 : process (, ) S <= xor ; end RTL; Two equivalent descriptions architecture RTL of Nisse is P1 : S <= xor ; end RTL; ou may (should) label processes, Ss (concurrent signal assignments) etc. Useful for debugging and understanding tool outputs. oncurrent vs. sequential execution architecture oncurrent of Test is <= or ; <= and ; end oncurrent;? Resolution function Synplify will report errors! Multiple non-tristate drivers for net architecture Sequential of Test is process (,,, ) <= or ; <= and ; end process ; end Sequential; signal that is assigned to within a process is not updated until the process is suspended. The two architectures are not equivalent. The signal is updated with the last value assigned to it Signals Signal attributes Holds a list of values, which include the current value, past value and a set of possible scheduled values that are to appear on the signal. Future values can be assigned to the signal using the signal assignment operator. signal shiftreg : std_logic_vector(7 downto 0); shiftreg <= shiftreg(6 downto 0) & Input; May be assigned initial values when declared: signal ount : std_logic_vector(3 downto 0) := 0101 ; ut this is not meaningful for synthesis! Signals can represent wires and memory holders (flip-flops, latches). S delayed(t) S stable(t) S quiet(t) S transaction S event S active S last_event S last_active S last_value signal that takes the same value as S but is delayed by time T oolean signal that is true if there has been no event on S in the time interval T up to current time, otherwise false oolean signal that is true if there has been no transaction on S in the time interval T up to current time, otherwise false signal of type bit that changes value from 0 to 1 or vice versa if there is an transaction on S True if there is an event on signal S in the current simulation cycle otherwise false True if there is a transaction on signal S in the current simulation cycle otherwise false The time interval since the last event on S The time interval since the last transaction on S The value of S just before the last event on S
3 Signal declaration Internal signals Internal signals can be declared in the declarative region of the architecture entity Test is, : in bit; X, : out bit); end Test; architecture Internal of Test is signal Int : bit; Int <= xor ; X <= not Int ; <= Int and ; end Internal; Internal signal can be read and be assigned new values. X and is not readable! Int X Variables variable is locally declared in a process or subprograms and can only be used locally. Variables are more abstract compared to signals. Variable assignments are immediately and not scheduled. variable ShiftReg : std_logic_vector(7 downto 0); Shiftreg := shiftreg(6 downto 0) & Input; Use variable whenever possible since a variable uses less simulation resources than a signal. Variables do not have histories. Variable declaration Variables in processes variable is declared inside the process and is not visible outside the process. variable is updated immediately. Retains its value through the simulation architecture Var of Test is process(,,, ) variable Temp : std_logic; temp := ; temp := temp xor ; temp := temp xor ; temp := temp xor ; temp := temp xor ; <= temp; end Var; Some common concurrent and sequential statements Sequential oncurrent If-then- Process statement ase When- Variable declaration With-select Variable assignment Signal declaration Loop lock statement Null omponent instantiation Wait Return oth Sequential and oncurrent Signal assignment eclaration of types and constants Function and procedure calls ssert statement fter Signal attributes
4 If-then- SE if = then if = then S <= 1; elsif = then S <= 2; S <= 3; The if statement corresponds to the concurrent statement when- signal Nisse : std_logic_vector(1 downto 0);... process(nisse) case Nisse is when => O <= 1; when => O <= S1; when others => O <= X ; end case; The others clause is needed as all possible representations of Nisse must be covered SE Four different ways of modeling a 4-1 Mux type States is (Idle, S0, S1); signal PresentState, NextState : States;... process(presentstate) case PresentState is when Idle => NextState <= S0; when S0 => NextState <= S1; when S1 => NextState <= Idle; end case; No others clause is needed as all possible representations of PresentState is covered M1 : process(,,,, Sel) if Sel = "00" then 1 <= ; elsif Sel = "01" then 1 <= ; elsif Sel = "10" then 1 <= ; elsif Sel = "11" then 1 <= ; 1 <= 'X'; -- oncurrent M2 : 2 <= when Sel = "00" when Sel = "01" when Sel = "10" when Sel = "11" 'X'; M3 : process(,,,, Sel) case Sel is when "00" => 3 <= ; when "01" => 3 <= ; when "10" => 3 <= ; when "11" => 3 <= ; when others => 3 <= 'X'; end case; -- oncurrent M4 : with Sel select 4 <= when "00", when "01", when "10", when "11", 'X' when others;
5 WIT process may be suspended by means of a sensitivity list. sensitivity list is an implicit wait statement. When a process have a sensitivity list it always suspends after executing the last sequential statement and then the signals that have been assign new values are updated. The wait statement provides an alternative form for suspending a process. Examples wait until a = 1; -- a = 1 and a event wait on a, b; -- a event or b event wait for 10 ns; Three kinds of loop statements Loops [ label: ] loop sequence-of-statements -- use exit statement to get out end loop [ label ] ; [ label: ] for variable in range loop sequence-of-statements end loop [ label ] ; [ label: ] while condition loop sequence-of-statements end loop [ label ] ; Exit statement may be used in a loop to immediately exit the loop [ label: ] exit [ label2 ] [ when condition ] ; Next statement may be used in a loop to cause next iteration [ label: ] next [ label2 ] [ when condition ] ; entity Ex is : in bit_vector(7 downto 0); O1 : out bit; O2 : out bit ); end Ex; architecture Loppa of Ex is process () variable temp : bit; temp := ; L1 : for i in 'range loop temp := temp xor (i); end loop; O1 <= temp; temp := ; L2 : for i in 'range loop next L2 when i = 2; temp := temp xor (i); end loop; O2 <= temp; [7:0] [7:0] end Loppa; [7] [6] [5] [4] LUT4_6996 G_9_5 Loops While loops are not supported for synthesis and the range in for loops needs to be statically defined - known at compile time. We need to generate a fixed amount of hardware. [3] [1] [0] LUT4_6996 G_9 [2] LUT2_6 O1_0_and2 O1 O2 Modeling combinational logic Multiplexers Encoders Priority encoders ecoders
6 library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity Encoder is : in unsigned(7 downto 0); : out unsigned(2 downto 0)); end Encoder; architecture Logic1 of Encoder is with select <= "000" when 1, "001" when 2, "010" when 4, "011" when 8, "100" when 16, "101" when 32, "110" when 64, "111" when 128, "XXX" when others; end Logic1; 8-3 binary encoder Note Note the the use use of of numeric_std numeric_stdand and unsigned unsigned architecture Logic of Encoder is P1: process() if = " " then <= "000"; elsif = " " then <= "001"; elsif = " " then <= "010"; elsif = " " then <= "011"; elsif = " " then <= "100"; elsif = " then <= "101"; elsif = " " then <= "110"; elsif = " " then <= "111"; <= "XXX"; end Logic; library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; 8-3 binary encoder entity Encoder is : in unsigned(7 downto 0); : out unsigned(2 downto 0)); end Encoder; architecture Logic2 of Encoder is P1 : process() <= "XXX"; L1: for i in 0 to 7 loop if = 2**i then <= to_unsigned(i, 3); end loop L1; end Logic2; More More compact code. code. Must Must have have default default assignment <= <= "XXX"; or or latches latches will will be be inferred. Priority encoder architecture L2 of PriEncoder is P1: process() variable Temp : integer; Valid <= '1'; Temp := to_integer(); case Temp is when 8 to 15 => <= "11"; when 4 to 7 => <= "10"; when 2 to 3 => <= "01"; when 1 => <= "00"; when others => Valid <= ; <= "XXX"; end case; end L2; library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity PriEncoder is : in unsigned(3 downto 0); : out unsigned(1 downto 0); Valid : out std_logic); end PriEncoder; architecture L1 of PriEncoder is architecture L3 of PriEncoder is P1: process() P1 : process() Valid <= '1'; <= "XXX"; if (3) = '1' then Valid <= ; <= "11"; for i in 'range loop elsif (2) = '1' then if (i) = '1' then <= "10"; <= to_unsigned(i, 2); elsif (1) = '1' then Valid <= '1'; <= "01"; exit; elsif (0) = '1' then <= "00"; end loop; Valid <= ; end L3; <= "XXX"; end L1; Inefficient Inefficient for for synthesis synthesis infers infers comparators comparators VHL simulation In order to write VHL code that simulate and synthesize well we must understand how VHL code is executed How does the tools in the lab actually work? good book on VHL is esigners Guide to VHL by Peter shenden. The next few following slides are adapted from VHL Quick Start Guide by shenden
7 nalysis (ncvhdl) heck for syntax and semantic errors» syntax: grammar of the language» semantics: the meaning of the model nalyze each design unit separately» entity declaration» architecture body» etc» best if each design unit is in a separate file nalyzed design units are placed in a library» current library is called work Elaboration (ncelab) Flattening the design hierarchy» create ports» create signals and processes within architecture body» for each component instance, copy instantiated entity and architecture body» repeat recursively bottom out at purely behavioral architecture bodies (no component instantiations) Final result of elaboration» flat collection of signal nets and processes Simulation (ncsim) Execution of the processes in the elaborated model iscrete event simulation» time advances in discrete steps» when signal values change events processes is sensitive to events on input signals» specified in wait statements» a process sensitivity list is an implicit wait statement» resumes and schedules new values on output signals schedules transactions (transaction, an input change that may lead to an event) event on a signal if new value different from old value Initialization phase Simulation algorithm» each signal is given its initial value (start value from declaration or first value from type definition type left)» simulation time set to 0» for each process (a concurrent signal assignment is in fact a process) activate execute until a wait statement, then suspend since a sensitivity list is an implicit wait statement a process with a wait statement suspends at the end of the process execution usually involves scheduling transactions on signals for later times
8 Simulation cycle Simulation algorithm» advance simulation time to time of next transaction» for each transaction at this time update signal value event if new value is different from old value» for each process sensitive to any of these events, or whose wait for time-out has expired resume execute until a wait statement, then suspend Simulation finishes when there are no further scheduled transactions elta delays delta delay can be thought of as an infinitesimal unit of time orthogonal to simulation time Zero delays are modeled as delta delays, so that any events generated with zero delay are scheduled to occur one delta delay later. elta delays are used to order events elta Time Simulation - an example ombinational feedback loops architecture sim of Test is signal,,, : std_logic := 0 ; signal S1, S2, : std_logic; <= 0 after 5 ns, 1 after 10 ns; <= 1 after 5 ns; <= 0 after 5 ns, 1 after 10 ns; <= 1 after 5 ns; S1 <= xor ; S2 <= xor ; <= S1 and S2; end Sim; S1 S2 '1' 10ns '1' 10ns '1' '1' 5ns 5ns 5ns 5ns In a synchronous design combinational feedback loops must be avoided. (There are some rare exceptions though.) ssume S = 0 and = 1. What will happen in simulation? S <= S xor ; t (ns) S1 S U U U U Simulation will never advance in time! S
9 When should we simulate? VHL RTL description RTL simulation VHL testbench Emacs - design entry adence N VHL Synthesis library RTL synthesis Structural VHL Structural simulation Synplify Pro Simulation library EIF netlist Xilinx lliance Place and route. ack annotation SF timing information. Structural VHL Simulation library Timing simulation adence N VHL onfiguration data Netlist with delay information Static timing analysis Xilinx lliance
VHDL simulation and synthesis
VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis
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 informationPart 4: VHDL for sequential circuits. Introduction to Modeling and Verification of Digital Systems. Memory elements. Sequential circuits
M1 Informatique / MOSIG Introduction to Modeling and erification of Digital Systems Part 4: HDL for sequential circuits Laurence PIERRE http://users-tima.imag.fr/amfors/lpierre/m1arc 2017/2018 81 Sequential
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 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: RTL Synthesis Basics. 1 of 59
VHDL: RTL Synthesis Basics 1 of 59 Goals To learn the basics of RTL synthesis. To be able to synthesize a digital system, given its VHDL model. To be able to relate VHDL code to its synthesized output.
More informationVHDL. Chapter 7. Behavioral Modeling. Outline. Behavioral Modeling. Process Statement
Chapter 7 VHDL VHDL - Flaxer Eli Ch 7-1 Process Statement Outline Signal Assignment Statement Variable Assignment Statement Wait Statement If-Then-Else Statement Case Statement Null Statement Loop Statement
More informationECEU530. Homework 4 due Wednesday Oct 25. ECE U530 Digital Hardware Synthesis. VHDL for Synthesis with Xilinx. Schedule
EEU530 EE U530 igital Hardware Synthesis Lecture 11: Prof. Miriam Leeser mel@coe.neu.edu October 18, 2005 Sequential Logic in VHL Finite State Machines in VHL Project proposals due now HW 4 due Wednesday,
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 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 informationOutline. 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 informationVHDL Modeling Behavior from Synthesis Perspective -Part B - EL 310 Erkay Savaş Sabancı University
VHDL Modeling Behavior from Synthesis Perspective -Part B - EL 310 Erkay Savaş Sabancı University 1 The Wait Statement Syntax wait until condition; Different forms wait until(clk event and clk = 1 ); wait
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 informationSequential VHDL. Katarzyna Radecka. DSD COEN 313
Sequential VHDL Katarzyna Radecka DSD COEN 313 kasiar@ece.concordia.ca Overview Process Sensitivity List Wait Statements If Statements Case Statements Loop Statements Three Styles of VHDL Behavioral Structural
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 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 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 informationTwo 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 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 informationIntroduction to VHDL. Main language concepts
Introduction to VHDL VHSI (Very High Speed Integrated ircuit) Hardware Description Language urrent standard is IEEE 1076-1993 (VHDL-93). Some tools still only support VHDL-87. Tools used in the lab support
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 informationVHDL. 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 informationVHDL for Synthesis. Course Description. Course Duration. Goals
VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes
More informationECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. Behavioral Design Style: Registers & Counters.
ECE 55 Lecture 6 Behavioral Modeling of Sequential-Circuit Building Blocks Required reading P. Chu, RTL Hardware esign using VHL Chapter 5.1, VHL Process Chapter 8, Sequential Circuit esign: Principle
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 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 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 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 informationEE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 6 Combinational and sequential circuits
EE 459/5 HL Based igital esign with Programmable Logic Lecture 6 ombinational and sequential circuits Read before class: hapter 2 from textbook Overview ombinational circuits Multiplexer, decoders, encoders,
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 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 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 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 informationECE 545 Lecture 7. VHDL Description of Basic Combinational & Sequential Circuit Building Blocks. Required reading. Fixed Shifters & Rotators
EE 55 Lecture 7 VHL escription o Basic ombinational & Sequential ircuit Building Blocks Required reading P. hu, RTL Hardare esign using VHL hapter 7, ombinational ircuit esign: Practice hapter 5., VHL
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 informationEECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis
EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State
More informationDESCRIPTION OF DIGITAL CIRCUITS USING VHDL
DESCRIPTION OF DIGITAL CIRCUITS USING VHDL Combinatinal circuits Sequential circuits Design organization. Generic design Iterative operations Authors: Luis Entrena Arrontes, Celia López, Mario García,
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 information[VARIABLE declaration] BEGIN. sequential statements
PROCESS statement (contains sequential statements) Simple signal assignment statement
More informationSummary of FPGA & VHDL
FYS4220/9220 Summary of FPGA & VHDL Lecture #6 Jan Kenneth Bekkeng, University of Oslo - Department of Physics 16.11.2011 Curriculum (VHDL & FPGA part) Curriculum (Syllabus) defined by: Lectures Lecture6:
More informationLecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN
Lecture 9 VHDL, part IV Hierarchical and parameterized design Section 1 HIERARCHICAL DESIGN 2 1 Dealing with Large Digital System Design 1. Apply hierarchy to the design At the highest level use larger
More informationFSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques
FSM Components XST features: Specific inference capabilities for synchronous Finite State Machine (FSM) components. Built-in FSM encoding strategies to accommodate your optimization goals. You may also
More informationECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University
ECE 545 Lecture 6 Behavioral Modeling of Sequential-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 5.1, VHDL Process Chapter 8, Sequential
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 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 informationTiming in synchronous systems
BO 1 esign of sequential logic Outline Timing in synchronous networks Synchronous processes in VHL VHL-code that introduces latches andf flip-flops Initialization of registers Mealy- and Moore machines
More information8 Register, Multiplexer and
8 Register, Multiplexer and Three-State Inference HDL Compiler can infer Registers (latches and flip flops) Multiplexers Three state gates This chapter discusses methods of inferring different types of
More informationECE 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 informationEITF35: Introduction to Structured VLSI Design
EITF35: Introduction to Structured VLSI Design Part 1.2.2: VHDL-1 Liang Liu liang.liu@eit.lth.se 1 Outline VHDL Background Basic VHDL Component An example FSM Design with VHDL Simulation & TestBench 2
More informationThe 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 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 informationECE 448 Lecture 4. Sequential-Circuit Building Blocks. Mixing Description Styles
ECE 448 Lecture 4 Sequential-Circuit Building Blocks Mixing Description Styles George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 4, Regular Sequential Circuit Recommended
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 informationDigitaalsü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 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 informationLogic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis
Logic Synthesis Verilog and VHDL started out as simulation languages, but quickly people wrote programs to automatically convert Verilog code into low-level circuit descriptions (netlists). EECS150 - Digital
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 informationCSE140L: Components and Design
CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Grade distribution: 70% Labs 35% Lab 4 30% Lab 3 20% Lab 2 15% Lab 1 30% Final exam
More informationCMSC 611: Advanced Computer Architecture
CMSC 611: Advanced Computer Architecture Design Languages Practically everything adapted from slides by Peter J. Ashenden, VHDL Quick Start Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr
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 informationSynthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1
Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis Spring 2007 Lec #8 -- HW Synthesis 1 Logic Synthesis Verilog and VHDL started out
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 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 informationVHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses
VHDL Sample Slides from the 2-day and 4-day VHDL Training Courses Rev. 4.7 VHDL 2011 TM Associates, Inc. 1-1 These sample slides are taken from the 4-day basic VHDL training course. They are from a variety
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 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 informationVHDL 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 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 informationThe University of Alabama in Huntsville ECE Department CPE Midterm Exam February 26, 2003
The University of Alabama in Huntsville ECE Department CPE 526 01 Midterm Exam February 26, 2003 1. (20 points) Describe the following logic expression (A B D) + (A B C) + (B C ) with a structural VHDL
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 informationProgrammable Logic Design Grzegorz Budzyń Lecture. 4: Introduction to VHDL
Programmable Logic Design Grzegorz Budzyń Lecture 4: Introduction to VHDL Plan History Main features Building blocks: Entity Architecture body Package Configuration declaration History Some history The
More informationEECS150 - Digital Design Lecture 10 Logic Synthesis
EECS150 - Digital Design Lecture 10 Logic Synthesis September 26, 2002 John Wawrzynek Fall 2002 EECS150 Lec10-synthesis Page 1 Logic Synthesis Verilog and VHDL stated out as simulation languages, but quickly
More informationEEL 4783: HDL in Digital System Design
EEL 4783: HDL in Digital System Design Lecture 15: Logic Synthesis with Verilog Prof. Mingjie Lin 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for
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 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 informationOutline 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 informationCSE140L: Components and Design Techniques for Digital Systems Lab
CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Announcements & Outline Lab 4 due; demo signup times listed on the cse140l site Check
More informationVHDL: skaitmeninių įtaisų projektavimo kalba. 2 paskaita Pradmenys
VHDL: skaitmeninių įtaisų projektavimo kalba 2 paskaita Pradmenys Skeleton of a Basic VHDL Program This slide set covers the components to a basic VHDL program, including lexical elements, program format,
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 informationCCE 3202 Advanced Digital System Design
CCE 3202 Advanced Digital System Design Lab Exercise #2 Introduction You will use Xilinx Webpack v9.1 to allow the synthesis and creation of VHDLbased designs. This lab will outline the steps necessary
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 informationECE U530 Digital Hardware Synthesis. Programming Assignments
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu Sept 11, 2006 Lecture 2: CAD TOOLS: Xilinx and Modelsim Levels of Design VHDL Introduction ECE U530 F06 Programming Assignments All
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 informationLuleå University of Technology Kurskod SMD152 Datum Skrivtid
Luleå University of Technology Kurskod SMD152 Datum 2003-10-24 Skrivtid 9.00 13.00 1 Manual synthesis (10 p, 2 p each) Here you are given five different VHDL models. Your task is to draw the schematics
More informationUsing ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0
Using ModelSim to Simulate Logic Circuits in VHDL Designs For Quartus II 13.0 1 Introduction This tutorial is a basic introduction to ModelSim, a Mentor Graphics simulation tool for logic circuits. We
More informationSynthesizable Verilog
Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL
More informationקורס VHDL for High Performance. VHDL
קורס VHDL for High Performance תיאור הקורס קורסזהמספקאתכלהידע התיאורטיוהמעשילכתיבתקודHDL. VHDL לסינתזה בעזרת שפת הסטנדרט הקורסמעמיקמאודומלמדאת הדרךהיעילהלכתיבתקודVHDL בכדילקבלאתמימושתכןהלוגי המדויק. הקורסמשלב
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 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 information14:332:331. Computer Architecture and Assembly Language Spring Week 6
14:332:331 Computer Architecture and Assembly Language Spring 2005 Week 6 [Adapted from Dave Patterson s UCB CS152 slides and Mary Jane Irwin s PSU CSE331 slides] Week 6.1 Spring 2005 Review: Entity-Architecture
More informationDigital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification Part II
Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification Part II Ahmed Abu-Hajar, Ph.D. abuhajar@digitavid.net Digitavid, Inc San Jose, CA VHDL Lexical Description Code
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 informationEECS150 - Digital Design Lecture 10 Logic Synthesis
EECS150 - Digital Design Lecture 10 Logic Synthesis February 13, 2003 John Wawrzynek Spring 2003 EECS150 Lec8-synthesis Page 1 Logic Synthesis Verilog and VHDL started out as simulation languages, but
More informationRTL Implementation. Introduction to Structured VLSI Design. Concurrent Statements and Processes. Combinational and Sequential Logic.
RTL Implementation 32 Introduction to Structured VLSI Design Recap on Processes, Signals, and Variables A Y Y=A*B+C B C 48 Joachim Rodrigues We have complete control (active chioice) over the registers:
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 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 informationThe Virtex FPGA and Introduction to design techniques
The Virtex FPGA and Introduction to design techniques SM098 Computation Structures Lecture 6 Simple Programmable Logic evices Programmable Array Logic (PAL) AN-OR arrays are common blocks in SPL and CPL
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 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 information