ECEU530. Homework 4 due Wednesday Oct 25. ECE U530 Digital Hardware Synthesis. VHDL for Synthesis with Xilinx. Schedule
|
|
- Edwina Rich
- 6 years ago
- Views:
Transcription
1 EEU530 EE U530 igital Hardware Synthesis Lecture 11: Prof. Miriam Leeser October 18, 2005 Sequential Logic in VHL Finite State Machines in VHL Project proposals due now HW 4 due Wednesday, October 25 Use the discussion board to post questions Homework 4 due Wednesday Oct 25 Write a testbench for the ALU from Homework 3 Write the MUX function from lecture 10 Write code that calls the MUX function EE U530 F06 2 Schedule Homework 4 due Wednesday, October 25 Review in class on Monday, October 30 Midterm in class on Wednesday, November 1 Homework 5: based on EEU323 Lab 4 ue Wednesday November 8 VHL for Synthesis with Xilinx ocumentation available from Xilinx: link on course web page (External Links) From the PF collection, we are interested in: Synthesis and Verification esign Guide XST Users Guide Some material in this lecture is from: XST Users Guide hapter 6 VHL language support: Sequential ircuits 3 4
2 EEU530 Sequential HW in VHL We will describe synchronous, sequential hardware in VHL Synchronous, sequential hardware is clocked flip-flops registers and shift registers counters state machines I can describe sequential hardware with sequential VHL statements concurrent VHL statements signal assignments same as combinational hardware ombinational Hardware in VHL Process has no wait statements or clock signals All signals on RHS of assignments appear in process sensitivity list Example of a good combinational HW description: A B process(a, B, ) variable : Std_Logic; if A='1' then := B; else := B or ; F <= ; F 5 6 Good ombinational Techniques All signals that effect result go in process sensity list Any signal assigned in one branch is assigned in all branches: of a case statement of if-then-else clause Use case statements (NOT nested if-then-else statements) to avoid inferring priority encoder Use don t cares to assign to outputs Never use don t cares in a comparison statement Sequential Logic when you don t want it You can write combinational VHL that synthesizes to sequential hardware that you did not intend No clock signal, no wait signal latches are synthesized If you use the VHL term unaffected Why? If you use the VHL term null Why? If you do NOT put the same assignment on every branch of your if--then--else or ASE statements Why? 7 8
3 EEU530 GOO If statement example signal A, B,, P1, P2, Y, Z: std_logic; process ( A, B,, P1, P2 ) Y <= 0 ; Z <= 1 ; if (P1 = 1 ) then Y <= A; elsif (P2 = 0 ) then Y <= B; else Z <= ; Null and Unaffected case opcode is when add => Acc1 <= Acc + operand; when subtract => Acc1 <= Acc - operand; when nop => null; end case; with sel select Z <= A when 0, Z <= B when 1, Z <= unaffected when others; 9 10 Sequential Logic when you want it Process statement with lock on sensitivity list or wait statement Wait statement or sensitivity list, never both locked, sequential hardware with sensitivity list o NOT put all signals on Right hand side on sensitivity list o put on sensitivity list clock plus any asynchronous inputs: lock, or lock and reset, or lock and set, or lock and reset and set 11 wait statements wait can be used to suspend a process for a specified time period Example: Using wait in a testbench: -- ********************************* -- process for simulating the clock process clk <= not(clk); wait for 20 ns; -- ********************************* an also wait on a signal or on an event wait until clk event wait until clk event and clk = 1 wait until clk event and clk = 0
4 EEU530 Process Simulation Process can have wait statement or sensitivity list, but not both If process has sensitivity list, process is executed once at simulation start up, and after that when a signal on the sensitivity list changes If process has has a wait statement, process is executed at simulation start up, until wait statement is executed, then it suspends Process wakes up when wait condition is met Sequential vs. ombinational HW ombinational ircuits Output depends on current values of inputs only No feedback No memory Sequential Hardware Feedback Output depends on current inputs and current state ircuit has memory elements Sequential Hardware = ombinational Hardware plus memory elements: latches, flipflops, memories Sequential Hardware in VHL Synchronous Only lock May or may not have a reset signal Sequential Hardware is defined with a particular style VHL synthesis tool looks for hardware described using that style, and translates it to flip-flops and combinational logic lock signal is special. Usually called LK 15 Latch in VHL -- _LATH.VH library IEEE; use IEEE.std_logic_1164.all; entity d_latch is port ( EN, ATA: in ST_LOGI; Q: out ST_LOGI); end d_latch; architecture BEHAV of d_latch is LATH: process (EN, ATA) if (EN = '1') then Q <= ATA; end BEHAV; 16
5 EEU530 -Flipflop library IEEE; use IEEE.std_logic_1164.all; entity d_ff is port ( LK, ATA: in ST_LOGI; Q: out ST_LOGI ); end d_ff; architecture BEHAV of d_ff is process (LK) if (LK'event and LK='1') then Q <= ATA; end BEHAV; -Flipflop with wait statement library IEEE; use IEEE.std_logic_1164.all; entity d_ff is port ( LK, ATA: in ST_LOGI; Q: out ST_LOGI ); end d_ff; architecture with_wait of d_ff is process wait until rising_edge(lk); Q <= ATA; end BEHAV; Edge etection Functions FUNTION rising_edge (SIGNAL s : std_logic) RETURN BOOLEAN IS BEGIN RETURN (s EVENT AN (s = 1 )); EN; FUNTION falling_edge (SIGNAL s : std_logic) RETURN BOOLEAN IS BEGIN RETURN (s'event AN s = 0 )); EN; IMPORTANT: Use these only with the clk signal -FF with Reset process (LK, RST) if RST = '1' then Q <= 0 ; elsif LK'EVENT and LK = '1' then Q <= ata; Asynchronous Set is similar 19 20
6 EEU530 -FF with lock Enable Not supported: wait until LOK'event and LOK = '0' and ENABLE = '1' ; Supported: wait until LOK'event and LOK = '0' ; if ENABLE = '1' then... process() if 'event and ='1' then -- or rising_edge() if ENABLE = '1' then Q <= ATA; -FF with Asynchronous Reset and Synchronous Enable process(rst, ) if Rst = '0' then Q <= '0'; elsif rising_edge() then if EN = 1 then Q <= ; locked Flip-flop Active Low Reset on a FF Q Q Q Q process() if rising_edge() then Q <= ; -- or -- process wait until rising_edge(lk); Q <= ; end process Rst R process(rst, ) if Rst = '0' then Q <= '0'; elsif rising_edge() then Q <= ; Active low 23 24
7 EEU530 (7 downto 0) Q(7 downto 0) Register (Eight-bit) (7) (6) (5) (4) (3) (2) (1) (0) process() if rising_edge() then Q <= ; This register has no reset 25 Q(7) Q(6) Q(5) Q(4) Q(3) Q(2) Q(1) Q(0) 8 bit register entity EXAMPLE is port (I : in ST_LOGI_VETOR (7 downto 0); LK : in ST_LOGI; O : out ST_LOGI_VETOR (7 downto 0)); end EXAMPLE; architecture ARH1 of EXAMPLE is process (LK) if LK'EVENT and LK = '1' then O <= I ; end ARH1; architecture ARH2 of EXAMPLE is process wait until LK'EVENT and LK = '1'; O <= I; end ARH2; 26 8 bit register with reset entity EXAMPLE is port ( I : in ST_LOGI_VETOR (7 downto 0); LK : in ST_LOGI; RST : in ST_LOGI; O : out ST_LOGI_VETOR (7 downto 0) ); end EXAMPLE; architecture ARHI of EXAMPLE is process (LK, RST) if RST = '1' then O <= " "; elsif LK'EVENT and LK = '1' then O <= I ; end ARHI; Shift Register (Eight-bit) Ser_In Q(7 downto 0) process() if rising_edge() then Q <= Q(6 downto 0) & Ser_In; 27 28
8 EEU530 Parallel-In/Serial-Out Shift Register (Eight-bit) signal :Std_Logic_Vector(7 downto 0); ount Binary ounter (Eight-bit) Q(7 downto 0) Ser_Out <= Q(7); process() if rising_edge() then if Load = '0' then Q <= ; else Q <= Q(6 downto 0) & '0'; Load Ser_Out " " + Q(7 downto 0) process() ount if rising_edge() then if ount = '1' then Q <= Q + 1; Note: The VHL shown must have a function "+" defined to be complete ounter with Asynchronous Reset What hardware gets inferred? entity EXAMPLE is port (LK : in ST_LOGI; RST : in ST_LOGI; O : out ST_LOGI_VETOR (7 downto 0) ); end EXAMPLE; architecture ARHI of EXAMPLE is process (LK, RST) variable OUNT : ST_LOGI_VETOR (7 downto 0); if RST = '1' then OUNT := " "; elsif LK'EVENT and LK = '1' then OUNT := OUNT + " "; O <= OUNT; end ARHI; <= A and B; <= not ; process() if rising_edge() then Q_r <= ; A B Q Q_r 31 32
9 EEU530 What hardware gets inferred? process() if rising_edge() then <= A and B; <= not ; Q_r <= ; A B 33 Q clk Q clk Q clk Q_r A B Q A B SAs with Processes (one flip-flop) 0 ns 10 ns 20 ns 30 ns 40 ns 50 ns 60 ns Q Q_r <= A and B after 5 ns; <= not after 10 ns; process() if rising_edge() then Q_r <= ; 34 SAs with Processes (multiple flip-flops) A B A_r Q B_r 0 ns 10 ns 20 ns 30 ns 40 ns 50 ns 60 ns B A Q Q A_r B_r Q Q_r <= A_r and B_r after 5 ns; <= not after 10 ns; process() if rising_edge() then Q_r <= ; A_r <= A; B_r <= B; 35 36
10 EEU Latches Flip-Flops Registers Shift registers ounters Sequential Hardware Finite state machines 39 40
11 EEU530 Sequential Hardware Model Finite State Machine Input Present State Variables omb kt Memory Feedback Outputs Next State Variables Inputs Next state logic State register This is a Moore machine Outputs depend on current state only Output Logic Outputs Finite State Machine State Machine iagram State Name Inputs Next state logic State register Output Logic Outputs State0 Out1<= 0 Out2<= 1 Moore Machine Outputs Moore machine: outputs depend on current state only Mealy machine: outputs depend on current state and inputs Asynch reset will be shown once In1= 0 and In2= 1 Reset ondition to transition between states 43 44
12 EEU530 Example: Stop Watch 1 State iagram Inputs: Start_stop, Reset Outputs: ount enable: advance time lear: reset time START_STOP E RESET STOPWATH LEAR ounter and isplay To escribe an FSM in VHL Next state function Output function State register to store current state Each can be its own process Which processes are combinational? Which processes are sequential? FSM escription in VHL architecture FSM of EMO is type STATE_TYPE is ( ); signal URRENT_STATE, NEXT_STATE : STATE_TYPE; STATE_REG: process(lk, RESET)... NEXT_STATE_LOGI: process(urrent_state, <inputs>)... OUTPUT_LOGI: process(urrent_state)... end FSM; 47 48
13 EEU530 Stopwatch FSM Entity library IEEE; use IEEE.std_logic_1164.all; entity STOPWATH is port( LK, RESET, START_STOP: in std_logic; E, LEAR: out std_logic); end STOPWATH; START_STOP E efining States architecture FSM of STOPWATH is type STATE_TYPE is (ZERO, START, OUNT, STOP, STOPPE); end FSM; RESET STOPWATH LEAR ounter and isplay State Register is only Sequential Part architecture FSM of STOPWATH_TRL is type STATE_TYPE is (ZERO, START, OUNT, STOP, STOPPE); signal URRENT_STATE, NEXT_STATE : STATE_TYPE; STATE_REG: process(lk, RESET) if (RESET = '0') then URRENT_STATE <= ZERO; elsif (rising_edge(lk)) then URRENT_STATE <= NEXT_STATE;... end FSM; Next State Logic NS_LOGI: process (URRENT_STATE, START_STOP) case URRENT_STATE is when ZERO => if(start_stop = '1')then NEXT_STATE <= START; else NEXT_STATE <= ZERO; when START => if(start_stop = '1')then NEXT_STATE <= START; else NEXT_STATE <= OUNT; when OUNT => if(start_stop = '1')then NEXT_STATE <= STOP; else NEXT_STATE <= OUNT; 51 52
14 EEU530 Next State Logic (cont d) when STOP => if(start_stop = '1')then NEXT_STATE <= STOP; else NEXT_STATE <= STOPPE; when STOPPE => if(start_stop = '1')then NEXT_STATE <= START; else NEXT_STATE <= STOPPE; when others => NEXT_STATE <= ZERO; end case; Output Logic OUTPUT_LOGI: process(urrent_state) case URRENT_STATE is when ZERO => E <= '0'; LEAR <= '1'; when START => E <= '1'; LEAR <= '0'; when OUNT => E <= '1'; LEAR <= '0'; when STOP => E <= '0'; LEAR <= '0'; when STOPPE => E <= '0'; LEAR <= '0'; when others => E <= '0'; LEAR <= '1'; end case; To escribe FSM in VHL reate an enumerated type for states Three processes for behavior of FSM 1. clocked process for state register 2. combinational process for next state logic sensitivity list : inputs and current state 3. combination process for outputs Moore Machine: sensitivity list: current state Mealy Machine: sensitivity list: current state and inputs Where does reset go? 55 56
EE 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 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 informationSchedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 8, 2006 Midterm Average: 70 Lecture 16: Midterm Solutions Homework 6: Calculator Handshaking HW 6: Due Wednesday, November
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 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 informationECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 6, 2006 Classes November 6 and 8 are in 429 Dana! Lecture 15: Homework 5: Datapath How to write a testbench for synchronous
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 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 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 informationCHAPTER Pearson Education, Inc. S_n. R_n. Q_n. 0 ps 20 ns 40 ns 60 ns 80 ns. C S R Q Q_n. 0 ps 50 ns 100 ns 150 ns 200 ns
HAPTER 5 28 Pearson Education, Inc. 5-. S_n R_n Q Q_n 5-2. S R Q Q_n ps 2 ns 4 ns 6 ns 8 ns ps 5 ns ns 5 ns 2 ns 5-3. Q Q_n ps 5 ns ns 5 ns 5-4. 63 5-5. Unknown 5-6. A Y A B Z B Present state Inputs Next
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 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 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 Circuit Design: Principle
Sequential Circuit Design: Principle Chapter 8 1 Outline 1. Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing async circuit 4. Inference of basic memory elements 5. Simple
More informationThe process. Sensitivity lists
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;
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 informationConcurrent & Sequential Stmts. (Review)
VHDL Introduction, Part II Figures in this lecture are from: Rapid Prototyping of Digital Systems, Second Edition James O. Hamblen & Michael D. Furman, Kluwer Academic Publishers, 2001, ISBN 0-7923-7439-
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 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 information[VARIABLE declaration] BEGIN. sequential statements
PROCESS statement (contains sequential statements) Simple signal assignment statement
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 informationCprE 583 Reconfigurable Computing
Recap 4:1 Multiplexer CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #18 VHDL for Synthesis I LIBRARY ieee
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 informationDIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6
DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6 FINITE STATE MACHINES (FSMs) Moore Machines Mealy Machines FINITE STATE MACHINES (FSMs) Classification: Moore Machine: Outputs depend only on the current state
More 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 informationVerilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)
Verilog Sequential Logic Verilog for Synthesis Rev C (module 3 and 4) Jim Duckworth, WPI 1 Sequential Logic Module 3 Latches and Flip-Flops Implemented by using signals in always statements with edge-triggered
More informationDigital Design: An Embedded Systems Approach Using VHDL
igital esign: An Embedded Systems Approach Using Chapter 4 Sequential Basics Portions of this work are from the book, igital esign: An Embedded Systems Approach Using, by Peter J. Ashenden, published by
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 informationDIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6
DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6 FINITE STATE MACHINES (FSMs) Moore Machines Mealy Machines Algorithmic State Machine (ASM) charts FINITE STATE MACHINES (FSMs) Classification: Moore Machine:
More 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 informationVHDL 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 informationECE Digital Design Laboratory. Lecture 3 Finite State Machines!
ECE 4401 - Digital Design Laboratory Lecture 3 Finite State Machines! 1!!!! Synchronous Sequential Circuits!!! Synchronous sequential logic circuits are realized using combinational logic and storage elements
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 informationCSE 260 Introduction to Digital Logic and Computer Design. Exam 1 Solutions
CSE 6 Introduction to igital Logic and Computer esign Exam Solutions Jonathan Turner /3/4. ( points) raw a logic diagram that implements the expression (B+C)(C +)(B+ ) directly (do not simplify first),
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 informationVHDL for FPGA Design. by : Mohamed Samy
VHDL for FPGA Design by : Mohamed Samy 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
More informationFinite State Machines (FSM) Description in VHDL. Review and Synthesis
Finite State Machines (FSM) Description in VHDL Review and Synthesis FSM Review A sequential circuit that is implemented in a fixed number of possible states is called a Finite State Machine (FSM). Finite
More informationMidterm Exam Thursday, October 24, :00--2:15PM (75 minutes)
Last (family) name: Answer Key First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Midterm
More 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 informationOutline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?
Outline EECS 5 - Components and Design Techniques for Digital Systems Lec Putting it all together -5-4 David Culler Electrical Engineering and Computer Sciences University of California Berkeley Top-to-bottom
More informationThe University of Alabama in Huntsville ECE Department CPE Midterm Exam Solution Spring 2016
The University of Alabama in Huntsville ECE Department CPE 526 01 Midterm Exam Solution Spring 2016 1. (15 points) Write a VHDL function that accepts a std_logic_vector of arbitrary length and an integer
More 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 informationIT T35 Digital system desigm y - ii /s - iii
UNIT - V Introduction to Verilog Hardware Description Language Introduction HDL for combinational circuits Sequential circuits Registers and counters HDL description for binary multiplier. 5.1 INTRODUCTION
More informationThe University of Alabama in Huntsville ECE Department CPE Midterm Exam Solution March 2, 2006
The University of Alabama in Huntsville ECE Department CPE 526 01 Midterm Exam Solution March 2, 2006 1. (15 points) A barrel shifter is a shift register in which the data can be shifted either by one
More information3 Designing Digital Systems with Algorithmic State Machine Charts
3 Designing with Algorithmic State Machine Charts An ASM chart is a method of describing the sequential operations of a digital system which has to implement an algorithm. An algorithm is a well defined
More informationSequential Circuit Design: Principle
Sequential Circuit Design: Principle Chapter 8 1 Outline 1. Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit 4. Inference of basic memory elements
More informationECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control
ECE 4514 Digital Design II Lecture 15: FSM-based Control A Design Lecture Overview Finite State Machines Verilog Mapping: one, two, three always blocks State Encoding User-defined or tool-defined State
More informationQuick Introduction to SystemVerilog: Sequental Logic
! Quick Introduction to SystemVerilog: Sequental Logic Lecture L3 8-545 Advanced Digital Design ECE Department Many elements Don Thomas, 24, used with permission with credit to G. Larson Today Quick synopsis
More informationCS/EE Homework 7 Solutions
CS/EE 260 - Homework 7 Solutions 4/2/2001 1. (20 points) A 4 bit twisted ring counter is a sequential circuit which produces the following sequence of output values: 0000, 1000, 1100, 1110, 1111, 0111,
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 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 informationDigital Design with SystemVerilog
Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?
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 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 informationThe University of Alabama in Huntsville Electrical and Computer Engineering CPE/EE 422/522 Spring 2005 Homework #6 Solution
5.3(a)(2), 5.6(c)(2), 5.2(2), 8.2(2), 8.8(2) The University of Alabama in Huntsville Electrical and Computer Engineering CPE/EE 422/522 Spring 25 Homework #6 Solution 5.3 (a) For the following SM chart:
More informationCOVER SHEET: Total: Regrade Info: 5 (14 points) 7 (15 points) Midterm 1 Spring 2012 VERSION 1 UFID:
EEL 4712 Midterm 1 Spring 2012 VERSION 1 Name: UFID: IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read it with a reasonable effort, it is assumed wrong. As always, the best answer
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 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 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 informationAbstraction of State Elements. Sequential Logic Implementation. Forms of Sequential Logic. Finite State Machine Representations
Sequential ogic Implementation! Models for representing sequential circuits " Finite-state machines (Moore and Mealy) " epresentation of memory (states) " hanges in state (transitions)! Design procedure
More informationCounters. Counter Types. Variations. Modulo Gray Code BCD (Decimal) Decade Ring Johnson (twisted ring) LFSR
CE 1911 Counters Counter Types Modulo Gray Code BC (ecimal) ecade Ring Johnson (twisted ring) LFSR Variations Asynchronous / Synchronous Up/own Loadable 2 tj Modulo-n (n = a power of 2) Asynchronous Count
More informationEE178 Lecture Verilog FSM Examples. Eric Crabill SJSU / Xilinx Fall 2007
EE178 Lecture Verilog FSM Examples Eric Crabill SJSU / Xilinx Fall 2007 In Real-time Object-oriented Modeling, Bran Selic and Garth Gullekson view a state machine as: A set of input events A set of output
More informationHDL. Hardware Description Languages extensively used for:
HDL Hardware Description Languages extensively used for: Describing (digital) hardware (formal documentation) Simulating it Verifying it Synthesizing it (first step of modern design flow) 2 main options:
More informationFinite State Machines
Lab Workbook Introduction (FSM) are sequential circuit used in many digital systems to control the behavior of systems and dataflow paths. Examples of FSM include control units and sequencers. This lab
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 informationCSE 260 Introduction to Digital Logic and Computer Design. Exam 1. Your name 2/13/2014
CSE 260 Introduction to Digital Logic and Computer Design Jonathan Turner Exam 1 Your name 2/13/2014 1. (10 points) Draw a logic diagram that implements the expression A(B+C)(C +D)(B+D ) directly (do not
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 informationSign here to give permission for your test to be returned in class, where others might see your score:
EEL 4712 Midterm 2 Spring 216 VERSION 1 Name: UFID: Sign here to give permission for your test to be returned in class, where others might see your score: IMPORTANT: Please be neat and write (or draw)
More informationVHDL for Logic Synthesis
VHDL for Logic Synthesis Overview Design Flow for Hardware Design VHDL coding for synthesis General guidelines for hardware designers This lecture includes the content from: Nitin Yogi, Modelling for Synthesis
More informationState Machine Descriptions
State Machine Descriptions Can be modelled using many different coding styles Style guidelines available for Moore or Mealy type machines Several encoding schemes for state variables used in FSM descriptions
More informationECEU530. Project Presentations. ECE U530 Digital Hardware Synthesis. Rest of Semester. Memory Structures
ECEU53 ECE U53 igital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 5, 26 Lecture 8: Student project presentations Memories and FPGAs Tri-state buffers and busses Student project presentations:
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 informationLaboratory Exercise 3 Davide Rossi DEI University of Bologna AA
Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA 2017-2018 Objectives Summary of finite state machines (Mealy, Moore) Description of FSMs in System Verilog Design of control blocks based
More informationNanosistemų programavimo kalbos 5 paskaita. Sekvencinių schemų projektavimas
Nanosistemų programavimo kalbos 5 paskaita Sekvencinių schemų projektavimas Terminai Combinational circuit kombinacinė schema (be atminties elementų) Sequential circuit nuosekli (trigerinė, sekvencinė)
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 informationInferring Storage Elements
Inferring Storage Elements In our designs, we usually use flip-flops as our storage elements. Sometimes we use latches, but not often. Latches are smaller in size, but create special, often difficult situations
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 informationMealy and Moore examples
CSE 37 Spring 26 Introduction to igital esign ecture 2: uential ogic Technologies ast ecture Moore and Mealy Machines Today uential logic technologies Ving machine: Moore to synch. Mealy OPEN = creates
More informationVerilog for Synthesis Ing. Pullini Antonio
Verilog for Synthesis Ing. Pullini Antonio antonio.pullini@epfl.ch Outline Introduction to Verilog HDL Describing combinational logic Inference of basic combinational blocks Describing sequential circuits
More informationLecture 08 Finite State Machine Design Using VHDL
Lecture 08 Finite State Machine Design Using VHDL 10/1/2006 ECE 358: Introduction to VHDL Lecture 8-1 Today Sequential digital logic system design state diagram/state graph 10/1/2006 ECE 358: Introduction
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 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 informationControl and Datapath 8
Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system
More informationBlocking(=) vs Nonblocking (<=) Assignment. Lecture 3: Modeling Sequential Logic in Verilog HDL. Procedural assignments
Blocking(=) vs Nonblocking (
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 informationAnnouncements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project
- Fall 2002 Lecture 20 Synthesis Sequential Logic Announcements Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project» Teams
More informationEsempio FSM Description : library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity esempiofsm is port ( clk: in STD_LOGIC; p: in STD_LOGIC; reset:
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 informationEECS150 - Digital Design Lecture 20 - Finite State Machines Revisited
EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited April 2, 2009 John Wawrzynek Spring 2009 EECS150 - Lec20-fsm Page 1 Finite State Machines (FSMs) FSM circuits are a type of sequential
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 informationVHDL for Logic Synthesis
VHDL for Logic Synthesis Overview Design Flow for Hardware Design VHDL coding for synthesis General guidelines for hardware designers This lecture includes the content from: Nitin Yogi, Modelling for Synthesis
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 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 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 informationSequential Logic Design
Sequential Logic Design Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted
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 informationECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines
ECE 2300 Digital Logic & Computer Organization Spring 2018 More Verilog Finite Machines Lecture 8: 1 Prelim 1, Thursday 3/1, 1:25pm, 75 mins Arrive early by 1:20pm Review sessions Announcements Monday
More informationFINITE STATE MACHINES (FSM) DESCRIPTION IN VHDL. Cristian Sisterna UNSJ
FINITE STATE MACHINES (FSM) DESCRIPTION IN VHDL UNSJ FSM Review 2 A sequential circuit that is implemented in a fixed number of possible states is called a Finite State Machine (FSM). Finite state machines
More informationHomework deadline extended to next friday
Norm Midterm Grading Finished Stats on course homepage Pickup after this lab lec. Regrade requests within 1wk of posted solution Homework deadline extended to next friday Description Design Conception
More informationECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers
ECE 545 Lecture 12 Design of Controllers Finite State Machines and Algorithmic State Machine (ASM) Charts Required reading P. Chu, using VHDL Chapter 1, Finite State Machine: Principle & Practice Chapter
More information