Hardware Description Languages

Slides:



Advertisements
Similar presentations
History TTL-logic PAL (Programmable Array Logic)
Advertisements

Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
ECE C03 Lecture 141 Lecture 14 VHDL Modeling of Sequential Machines Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
مرتضي صاحب الزماني  The registers are master-slave flip-flops (a.k.a. edge-triggered) –At the beginning of each cycle, propagate values from primary inputs.
(1) Modeling Digital Systems © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
1 H ardware D escription L anguages Modeling Digital Systems.
VHDL Introduction. V- VHSIC Very High Speed Integrated Circuit H- Hardware D- Description L- Language.
1/8/ L20 Project Step 8 - Data Path Copyright Joanne DeGroat, ECE, OSU1 State Machine Design with an HDL A methodology that works for documenting.
Copyright © 1997 Altera Corporation & 提供 What is VHDL Very high speed integrated Hardware Description Language (VHDL) –is.
RTL Hardware Design by P. Chu Chapter Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit 4.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
VHDL Discussion Finite State Machines
VHDL Discussion Finite State Machines IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Introduction to ASIC flow and Verilog HDL
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
IAY 0600 Digital Systems Design Event-Driven Simulation VHDL Discussion Alexander Sudnitson Tallinn University of Technology.
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.
Algorithmic State Machine (ASM) Charts: VHDL Code & Timing Diagrams
State Machine Design with an HDL
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 61 Lecture 6 Logic Simulation n What is simulation? n Design verification n Circuit modeling n True-value.
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Digital System Design An Introduction to Verilog® HDL
IAY 0600 Digitaalsüsteemide disain
HDL simulation and Synthesis (Marks16)
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
VLSI Testing Lecture 5: Logic Simulation
B e h a v i o r a l to R T L Coding
VLSI Testing Lecture 5: Logic Simulation
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
‘if-else’ & ‘case’ Statements
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Vishwani D. Agrawal Department of ECE, Auburn University
IAY 0600 Digital Systems Design
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
VHDL VHSIC Hardware Description Language VHSIC
RTL Style در RTL مدار ترتيبي به دو بخش (تركيبي و عناصر حافظه) تقسيم مي شود. مي توان براي هر بخش يك پروسس نوشت يا براي هر دو فقط يك پروسس نوشت. مرتضي صاحب.
IAY 0800 Digitaalsüsteemide disain
Synthesis مرتضي صاحب الزماني.
332:437 Lecture 8 Verilog and Finite State Machines
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
State Machine Design with an HDL
VHDL Introduction.
Behavioral Modeling of Sequential-Circuit Building Blocks
Figure 8.1. The general form of a sequential circuit.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Design Methodology & HDL
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
332:437 Lecture 8 Verilog and Finite State Machines
Digital Designs – What does it take
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Sequntial-Circuit Building Blocks
(Sequential-Circuit Building Blocks)
Presentation transcript:

Hardware Description Languages Basic Concepts مرتضي صاحب الزماني

Application of HDLs VHDL به عنوان زبان مستندسازي (توصيف فرمال و بدون ابهام). سنتز: تبديل (اتوماتيك يا دستي) يك توصيف به توصيفي با جزئيات بيشتر مرتضي صاحب الزماني

A digital system design process Synthesis Place & Route مرتضي صاحب الزماني

Simulation Synthesis Place & Route مرتضي صاحب الزماني

VHDL - Overview Very High Speed Integrated Circuit Hardware Description Language Modeling of digital systems Concurrent and sequential statements Design lifetime > Designer lifetime Man- and machine-readable documentation International Standards IEEE Std 1076-1987 IEEE Std 1076-1993, 2000, 2002, … مرتضي صاحب الزماني

VHDL - History 2003: VHDL-200X by VASG (VHDL Analysis and Standardization Group) Responsible for maintaining and extending the VHDL standard (IEEE 1076). 2005: Accellera VHDL TSC took over. 2006: Accellera VHDL-2006-D3.0 approved DATE 2007: date_vhdl_tutorial.pdf Pure definition of language in the LRM (Language Reference Manual) No standards for application or methodology مرتضي صاحب الزماني

VHDL Standards علاوه بر استانداردهاي خالص, تلاشهايي براي استاندارد كردن عوامل مربوط به VHDL انجام گرفته است: پكيج هاي Std_logic_1164 Numeric_bit Numeric_std زيرمجموعة قابل سنتز: استاندارد 1076.6 VHDL-AMS 1076.1 مرتضي صاحب الزماني

VHDL - Overview در حال حاضر براي VHDL-AMS فقط شبيه سازي امكان پذير است چون سنتز آنالوگ بسيار پيچيده است. شبيه سازي Mixed Signal هم مسايل همگام سازي شبيه سازهاي ديجيتال و آنالوگ و الگوريتمهاي حل معادلات ديفرانسيل غيرخطي را دارد. مرتضي صاحب الزماني

VHDL-Application Field Hardware design ASIC: technology mapping توصيف به gate-level netlist تبديل مي شود و اجزا از كتابخانة ASIC انتخاب مي شوند. FPGA, CPLD: LUT/PAL mapping SPLD: smaller structures, hardly any use of VHDL مرتضي صاحب الزماني

Concepts of VHDL Execution of Statements: Sequential Concurrent Methodologies: Abstraction Modularity Hierarchy مرتضي صاحب الزماني

Concepts of VHDL Abstraction: طرح را مي توان در سطوح مختلفي از جزئيات توصيف كرد: براي مدلسازي، سطوح بالا كافي است. براي سنتز، ممكن است جزئيات بيشتري لازم باشد. مرتضي صاحب الزماني

Concepts of VHDL Modularity: مي توان بلوك بزرگ پيچيده را به بلوكهاي كوچكتر تقسيم كرد و براي هر بخش يك مدل نوشت. Hierarchy: تشكيل يك درخت سلسله مراتبي هر كدام از نودها ممكن است در سطح متفاوتي از abstraction توصيف شده باشد. مرتضي صاحب الزماني

Abstraction Levels in IC Design VHDL براي سطح layoutمناسب نيست. مرتضي صاحب الزماني

Behavioral Description in VHDL در VHDL رفتار عملياتي با process مدل مي شود. مرتضي صاحب الزماني

Behavioral Description collect : PROCESS BEGIN WAIT UNTIL serial = '0'; WAIT FOR half_bit; FOR count IN 0 TO 7 LOOP WAIT FOR full_bit; buff (count) := serial; END LOOP; IF serial = '0' THEN frame_error <= '1'; WAIT UNTIL serial = '1'; ELSE frame_error <= '0'; dataready <= '1'; parallel_out <= buff; WAIT UNTIL received = '1'; WAIT UNTIL received = '0'; dataready <= '0'; END IF; END PROCESS collect; constant half_bit : time := 50 ns; constant full_bit : time := 100 ns; مرتضي صاحب الزماني

Dataflow (RTL) Description مرتضي صاحب الزماني

Dataflow (RTL) Description architecture RTL of MOORE_TEST is     signal STATE,NEXTSTATE : STATE_TYPE ; begin     REG: process (CLK, RESET) begin         if RESET='1' then    STATE <= START ;         elsif CLK'event and CLK='1' then             STATE <= NEXTSTATE ;         end if ;     end process REG ; OUTPUT_REG: process(CLK)   begin         if CLK'event and CLK='1' then          Y <= S1 + S2;          Z <= Z_I ;         end if ;  end process OUTPUT_REG ; end RTL ; مرتضي صاحب الزماني

Abstraction Levels and VHDL مرتضي صاحب الزماني

Structural Description اجزا ممكن است گيت پيچيده باشند. مرتضي صاحب الزماني

ASIC Development CMOS 45 nm Post-layout simulation بعد از شبيه سازي post-synthesis مي توان ماكزيمم فركانس كلاك را تخمين زد (بر اساس مسير بحراني موجود) بعد از شبيه سازي post-layout مي توان ماكزيمم فركانس كلاك را به دست آورد مرتضي صاحب الزماني

Information Content in Abstraction Levels مرتضي صاحب الزماني

Modularity and Hierarchy Partitioning in several partial designs Restrict complexity Enable teamwork Study of alternative implementations گاهي اوقات simulation model هايي از اجزا يا تراشه هاي استاندارد وجود دارند كه مي توان به طرح خود متصل كرد و نتايج شبيه سازي را در محيط واقعي مشاهده كرد. مرتضي صاحب الزماني

Design Tools Simulation

Tool Set Synthesis Place & Route Simulation Tools Timing Analysis Power Analysis Verification

Simulation Tools Simulation Tools Oblivious simulation Event-driven logic simulation Mixed-language simulation Cycle-based simulation Post-layout simulation

Simulation Tools Types of Logic Simulators: Oblivious: Event driven: Simple but inefficient Event driven: See the world as a series of discrete events Cycle-based Rough simulation for synchronous sequential designs

Simulation Concept

Oblivious Simualtor Starts by a table and initial values Evaluates periodically (even when no change in inputs) Repeats until nothing is changed in a pass.

Event-Driven Simulator Simulates when an event (change) at input(s) of a component Only part of the design is evaluated

Event-Driven Simulator When a gate input changes, it places a transaction (value, delay) on the driver of the delayed signal (e.g. gate output) It will expire after delay  Changes its value Repeats for other gates with changed inputs Concurrency is handled. Mostly used in industry

Cycle-based Simulation RTL: At the beginning of each cycle, propagate values from primary inputs and from register outputs into combinational blocks (CBs). Compute the stable outputs of CBs, and store them in register inputs (they’ll move to outputs in the next cycle). CB RTL model مرتضي صاحب الزماني

Zero-delay cycle-based simulation Functionality and timing can be verified separately Assumption: Within each cycle, all signal changes occur in zero-delay Only evaluate on the clock edge First: evaluate all combinational logic Next: latch values into state registers Repeat on next clock edge 1 Cycle 1 Cycle 2 Cycle 3 t Steady state Assume ‘zero-delay’ (don’t care about the transient delays) مرتضي صاحب الزماني

Levelizing the gates A levelized CB Within each Combinational Block, gates can be levelized (sorted in topological order) for evaluation. Going by level number, every gate will be evaluated after its inputs have been computed. So: we order the gates by the flow of data, and we don’t care about the real delays  assume “0 delay”. Combinational Feedbacks? مرتضي صاحب الزماني A levelized CB

Event vs. Cycle-Based Simulation مرتضي صاحب الزماني

Cycle-Based vs. Event-Driven Each internal node Need scheduling and functions may be evaluated multiple times Cycle-based: Only boundary nodes No delay information Cycle-based does not detect glitches and setup/hold time violations, while event-driven does مرتضي صاحب الزماني

Simulation: Performance vs. Abstraction Cycle-based Simulator Event-driven Simulator Abstraction SPICE .001x 1x 10x مرتضي صاحب الزماني Performance and Capacity

Why is it faster? Node a has 5 transitions and b has 3 transitions. Event-driven simulator reevaluates when inputs change  Gate A simulates 5 times, Gate B: 9 times, Gate C: 6 times Total 20 times. But for only these 3 gates FF Z a b c d A B C Conclusion: Event-driven is faster if few transitions (typically less than 5% active nodes). In practice, experiments confirm that a cycle-based simulator is almost always 5-10 times faster (and uses less memory) Cycle-based simulator simulates the entire circuit only once (at the end of current cycle)  All Gates in the circuit are simulated regardless whether their inputs have been changed. مرتضي صاحب الزماني