ECE-C662 [Knapp, “Behavioral Synthesis” Prentice-Hall 1996] HDL Descriptions –Behavioral Processes Behavioral Compiler (BC) schedules processes but not.

Slides:



Advertisements
Similar presentations
EDA Lab. Dept. of Computer Engineering C. N. U. 1 SYNTHESIS Issues in synthesizable VHDL descriptions (from VHDL Answers to FAQ by Ben Cohen)
Advertisements

VHDL Lecture 1 Megan Peck EECS 443 Spring 08.
Synchronous Sequential Logic
Combinational Logic.
© 1998, Peter J. AshendenVHDL Quick Start1 Basic VHDL Concepts Interfaces Behavior Structure Test Benches Analysis, elaboration, simulation Synthesis.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
High Level Languages: A Comparison By Joel Best. 2 Sources The Challenges of Synthesizing Hardware from C-Like Languages  by Stephen A. Edwards High-Level.
Lecture 12 Latches Section , Block Diagram of Sequential Circuit gates New output is dependent on the inputs and the preceding values.
L18 – VHDL for other counters and controllers. Other counters  More examples Gray Code counter Controlled counters  Up down counter  Ref: text Unit.
Digital System Design by Verilog University of Maryland ENEE408C.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 3 Microcomputer Systems Design (Embedded Systems)
ELEN 468 Lecture 161 ELEN 468 Advanced Logic Design Lecture 16 Synthesis of Language Construct II.
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
VHDL Coding Exercise 4: FIR Filter. Where to start? AlgorithmArchitecture RTL- Block diagram VHDL-Code Designspace Exploration Feedback Optimization.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi Some of the slides were taken from K Gaj’s lecture slides from GMU’s.
VHDL And Synthesis Review. VHDL In Detail Things that we will look at: –Port and Types –Arithmetic Operators –Design styles for Synthesis.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi Some of the slides were taken from K Gaj’s lecture slides from GMU’s.
Today’s Lecture Process model –initial & always statements Assignments –Continuous & procedural assignments Timing Control System tasks.
ECE 551 Digital System Design & Synthesis Lecture 11 Verilog Design for Synthesis.
Introduction to VHDL (part 2)
Advanced FPGA Based System Design Lecture-9 & 10 VHDL Sequential Code By: Dr Imtiaz Hussain 1.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Finite State Machines VHDL ET062G & ET063G Lecture 6 Najeem Lawal 2012.
VHDL Introduction. V- VHSIC Very High Speed Integrated Circuit H- Hardware D- Description L- Language.
ELEC / Computer Architecture and Design Fall 2009 ELEC / Computer Architecture and Design Fall 2009 Modeling for Synthesis.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Basic Concepts in VHDL Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Chap. 8 Sequencing and Control A Simple Computer Architecture A Simple Computer Architecture Single-Cycle Hardwired Control Single-Cycle Hardwired Control.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
3/4/20031 ECE 551: Digital System Design * & Synthesis Lecture Set 3 3.1: Verilog - User-Defined Primitives (UDPs) (In separate file) 3.2: Verilog – Operators,
ECE-C662 Lecture 2 Prawat Nagvajara
Behavioral Modelling - 1. Verilog Behavioral Modelling Behavioral Models represent functionality of the digital hardware. It describes how the circuit.
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
15-Dec-15EE5141 Chapter 4 Sequential Statements ä Variable assignment statement ä Signal assignment statement ä If statement ä Case statement ä Loop statement.
M.Mohajjel. Structured Procedures Two basic structured procedure statements always initial All behavioral statements appear only inside these blocks Each.
A Mini Stereo Digital Audio Processor Design DINESH GUNDU VIGNESH SABARINATH.
1 Part III: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Verilog hdl – II.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
CDA 4253 FPGA System Design RTL Design Methodology 1 Hao Zheng Comp Sci & Eng USF.
55:032 - Intro. to Digital DesignPage 1 VHDL and Processes Defining Sequential Circuit Behavior.
George Mason University Behavioral Modeling of Sequential-Circuit Building Blocks ECE 545 Lecture 8.
Case Study: Xilinx Synthesis Tool (XST). Arrays & Records 2.
Joal 2006 HT:1 Em3 Digital Electronics Design 1 Lecture 3-4 Sequential VHDLChap 4.
Lecture #12 Page 1 ECE 4110– Digital Logic Design Lecture #12 Agenda 1.VHDL : Behavioral Design (Processes) Announcements 1.n/a.
ECE 4110–5110 Digital System Design
16.317: Microprocessor System Design I
RTL Design Methodology Transition from Pseudocode & Interface
B e h a v i o r a l to R T L Coding
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
‘if-else’ & ‘case’ Statements
Custom Designed Integrated Circuits
VHDL 5 FINITE STATE MACHINES (FSM)
RTL Style در RTL مدار ترتيبي به دو بخش (تركيبي و عناصر حافظه) تقسيم مي شود. مي توان براي هر بخش يك پروسس نوشت يا براي هر دو فقط يك پروسس نوشت. مرتضي صاحب.
RTL Design Methodology
Non-synthesizable VHDL Poor Design Practices
Sequntial-Circuit Building Blocks
Data Flow Description of Combinational-Circuit Building Blocks
Data Flow Description of Combinational-Circuit Building Blocks
RTL Design Methodology
RTL Design Methodology Transition from Pseudocode & Interface
ECE 551: Digital System Design & Synthesis
RTL Design Methodology Transition from Pseudocode & Interface
Sequntial-Circuit Building Blocks
(Sequential-Circuit Building Blocks)
Advanced Computer Architecture Lecture 3
Presentation transcript:

ECE-C662 [Knapp, “Behavioral Synthesis” Prentice-Hall 1996] HDL Descriptions –Behavioral Processes Behavioral Compiler (BC) schedules processes but not concurrent statement Use wait statements inside the process Reset: insert a loop exit statement after each clock edge Asynchronous resets Wait until (ck’event and ck=‘1’) or (reset’event and reset=‘1’); if reset=‘1’ then exit reset_loop; end if;

main : process variable i: integer; variable uk: signed(7 downto 0); begin reset_loop: loop uk1 := (others => '0'); uk2 := (others => '0'); wait until clk'event and clk='1'; if (reset = '1') then exit reset_loop; end if; a1 := params; wait until clk'event and clk='1'; if (reset = '1') then exit reset_loop; end if; a2 := params; wait until clk'event and clk='1'; if (reset = '1') then exit reset_loop; end if;

ready <= '1'; wait until clk'event and clk='1'; if (reset = '1') then exit reset_loop; end if; outer: loop while (start /= '1') loop wait until clk'event and clk='1'; if (reset = '1') then exit reset_loop; end if; end loop; wait until clk'event and clk='1'; if (reset = '1') then exit reset_loop; end if; uk := din; ready <= '0'; yo1 := mult_2s(yk1, a1, clk);

for i in 0 to 1 loop -- latency wait until clk'event and clk = '1' ; if (reset = '1') then exit reset_loop; end if; end loop; dout <= yk(26 downto 19); wait until clk'event and clk = '1' ; if (reset = '1') then exit reset_loop; end if; while (start /= '0' ) loop wait until clk'event and clk='1'; if (reset = '1') then exit reset_loop; end if; end loop;

wait until clk'event and clk='1'; if (reset = '1') then exit reset_loop; end if; ready <= '1'; end loop outer; wait until clk'event and clk='1'; if (reset = '1') then exit reset_loop; end if; end loop reset_loop; end process main;

I/O modes –Cycle-fixed Mode HDL specified I/O timing BC does not schedule timing Latency of straightline code –No single-cycle operation drives a multiple-cycle (e.g., memory access is multiple cycles) –Multiple-cycle can only drive output write Loops While (not ready) loop wait unitl ck’event and ck=‘1’; end loop; -- Illegal no wait dataout <= data;

While (not done) loop wait unitl ck’event and ck=‘1’; end loop; -- Illegal no wait While (not ready) loop wait unitl ck’event and ck=‘1’; end loop; Superstate-fixed mode –Order of I/O operations omitting the number of clock cycles between operations –Rule 1. Any I/O write in a superstate goes in the last cycle –Rule 2. Any I/O read in a superstate can take place in any cycle in the superstate

While (not ready) loop tmp := inport; -- I/O read wait until ck’event and ck=‘1’; wait until ck’event and ck=‘1’; outport <= data; --illegal end loop; –In the above Rule 1 is violated –Rule 3: Thisport <= something; -- illegal no wait loop thatport <= anything; wait until ck’event and ck=‘1’; end loop;

–Rule 4: No I/O write between exit and the last clock edge before the exit Busy: While (strobe) loop wait unitl ck’event and ck=‘1’; thisport <= something; -- illegal If interrupt then exit busy end if; end loop; Storage := thatport;

IIR Filter synthesis reports and design optimization –Test bench –Reports Timing Summary: 10 cycles of latency Operation schedule FSM –8-cycle sample cycle –Reduce the latency in the for loop resulted in 5-cycle sample cycle –Decrease the clock period From delay report the multiplication is the bottleneck Use pipeline multiplier –35 ns sample cycle and 5 cycle latency