Introductory Comments Regarding Hardware Description Languages.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

ENEL111 Digital Electronics
A Digital Circuit Toolbox
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
FPGA chips and DSP Algorithms By Emily Fabes. 2 Agenda FPGA Background Reasons to use FPGA’s Advantages and disadvantages of using FPGA’s Sample VHDL.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
An Introduction to VHDL Using Altera’s Quartus II IDE Dr. William M. Jones Coastal Carolina University Numbers and Bytes Meeting 20 OCT 2008.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 2: Intro. to Logic Circuits Chapter 2.
VHDL Project Specification Naser Mohammadzadeh. Schedule  due date: Tir 18 th 2.
COE 405 Design and Modeling of Digital Systems
Chapter 0 deSiGn conCepTs EKT 221 / 4 DIGITAL ELECTRONICS II.
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
M.Mohajjel. Digital Systems Advantages Ease of design Reproducibility of results Noise immunity Ease of Integration Disadvantages The real world is analog.
George Mason University Data Flow Modeling in VHDL ECE 545 Lecture 7.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
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)
5-1 Logic System Design I VHDL Design Principles ECGR2181 Reading: Chapter 5.0, 5.1, 5.3 port ( I: in STD_LOGIC_VECTOR (1 to 9); EVEN, ODD: out STD_LOGIC.
EE121 John Wakerly Lecture #17
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Data Flow Modeling in VHDL
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
ENG241 Digital Design Week #7 Sequential Circuits (Part B)
IAY 0600 Digital Systems Design Event-Driven Simulation VHDL Discussion Alexander Sudnitson Tallinn University of Technology.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
5-2-3 Analogue to Digital Converters (ADC). Analogue to Digital Conversion The process is now the opposite of that studied in Topic Now we wish.
IAY 0600 Digital Systems Design VHDL discussion Structural style Modular design and hierarchy Part 1 Alexander Sudnitson Tallinn University of Technology.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Structural style Modular design and hierarchy Part 1
Combinational Logic Design
Week #7 Sequential Circuits (Part B)
IAY 0600 Digitaalsüsteemide disain
HDL simulation and Synthesis (Marks16)
Behavioral Style Combinational Design with VHDL
Topics Modeling with hardware description languages (HDLs).
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Structural style Modular design and hierarchy Part 1
Behavioral Style Combinational Design with VHDL
IAY 0600 Digital Systems Design
Topics Modeling with hardware description languages (HDLs).
ECE 434 Advanced Digital System L08
Unit# 9: Computer Program Development
RTL Style در RTL مدار ترتيبي به دو بخش (تركيبي و عناصر حافظه) تقسيم مي شود. مي توان براي هر بخش يك پروسس نوشت يا براي هر دو فقط يك پروسس نوشت. مرتضي صاحب.
IAS 0600 Digital Systems Design
Structural style Modular design and hierarchy Part 1
Data Flow Modeling of Combinational Logic
VHDL Discussion Subprograms
VHDL Introduction.
VHDL Discussion Subprograms
IAS 0600 Digital Systems Design
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
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.
Digital Designs – What does it take
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Chapter 10 Introduction to VHDL
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

Introductory Comments Regarding Hardware Description Languages

Contents Introductory Comments Comments Regarding Synthesis Programming Styles: –Structural Style –Dataflow Style –Behavioral Style A Comparison Between Styles

General Design Steps when Using VHDL (Wakerly, p. 266) Front End Step 1:Hierarchy/block diagram Step 2:Coding Step 3:Compilation Step 4:Simulation & Verification Back End Step 5. Synthesis Step 6. Fitting/place & Route Step 7. Timing Verification

Introductory Comments Regarding HDLs In general, the idea of describing hardware using a programming language presents many difficulties. As a simple demonstration of the difficulties involved, note that digital circuits process their inputs in parallel and in continuous-time, while programming languages process the code in discrete-time, which is almost always equivalent to a a serial execution model.

A Parallel Model We again notes in digital circuits, we have continuous and parallel Processing of the input signals. We thus recognize that the architecture of a digital circuit is one of a “live network” (similar to the graph data structure), where we can have concurrent changes happening at all connections. We can think of digital circuits as traffic network, where all the lights are green, and nearly all the roads are one-way. The signals move freely from the inputs to the outputs.

Basic Synthesis Problems with VHDL The biggest problem in using VHDL is that the code can lead to very bad hardware realizations. This problem arises because VHDL was originally intended for simulation. Digital synthesis functions were added afterwards. In this course, we focus on problems that we could synthesize by ourselves, without VHDL, and we can thus inspect (by viewing the RTL circuits) and determine whether the synthesis is efficient or not. We also want to maintain compatibility with FPGAs and CPLDs.

Different Design Method Paradigms Hierarchical Design Top-down Design Bottom-up Design

Comments Regarding Efficient Synthesis

Observations for Better Synthesis (observations are based on Wakerly, 3 rd ed, page 297) Not everything leads to synthesis! 1. Avoid using serial-contol. 2. Make sure to define outputs for all possible inputs. 3. LOOPS get translated into serial code (loop unrolling) The use of if-elseif-elseif-else can prohibit parallel hardware implementations. Instead, we prefer to use case or select, with mutually exclusive conditions. Use IEEE libraries!

Structural Style

Structural Style: Advantages and Disadvantages In structural style, we provide an idealized description of the hardware components. We give the gates, etc. In VHDL, we use component commands. Advantages: We provide an efficient implementation of the circuit that can lead to simulations of specific inputs and outputs, at specific gates, etc. Disadvantages: It reduces the flexibility and portability of the implementation, since we have to re-do the work for efficient implementations on different platforms.

Observations and Basic Rules for Structural Style 1.Since we focus on basic architectures, if needed, we should be able to provide the structural code for any circuit. In practice, avoid structural code unless you have to use it. 2.In hierarchical design, we want to provide efficient designs based on efficient components. In general though, efficient components cannot guarantee efficient, overall designs. We will need to examine the entire design. 3.For reconfigurable logic, we use lookup tables, multiplexers, D flip- flops, built-in multipliers, etc. For the built-in multipliers, we will need to look up VHDL synthesis information from the manufacturer to utilize such components effectively!

Dataflow Style

Dataflow Hardware description based on functions on the inputs Description of changes to the inputs without reference to the underlying hardware Basic example of a parallel assignment: signal-name <= expression; signal-name <= expression1 when boolean-expression-1 else expression2 when boolean-expression-2 else : expressionN-1 when boolean-expression-N-1 else expression-N;

Behavioral Style

Advantages of Using Behavioral Style In behavioral style, we are only interested in defining how the circuit works, without providing implementation details. Implementation is handled by the design tool, which attempts to provide optimal solutions for a specified target architecture. Advantages: quick prototyping easy to understand the I/O portable designs for different architectures as the design tools get better, we expect implementations to improve

Behavioral Style - Disadvantages The big disadvantage of behavioral style is that the circuit implementations may end up being very inefficient. The problem is that synthesis tools based on behavioral style descriptions have not matured to the point of providing good implementations. This is a problem for every style, but perhaps more so for behavioral style. To avoid problems, use the IEEE libraries. We will have much more on this later. In VHDL, we usually use process instructions for behavioral style descriptions. However, this is not a requirement.

A Comparison Between the Different Styles Notes: 1.In terms of portability, the only thing that matters is the RTL description that we produce from the code. The RTL description is what is used by the synthesis tools. 2.In the final code, in the case in which we have the same hardware components defined using different styles, we expect the structural designs to be the most efficient, targeted for specific architectures. 3.In the final code, we can have multiple implementations, where it is expected that descriptions in the structural style will lead to the most efficient implementations in a limited number of architectures. 4.In hierarchical design, we could have behavioral code at the top level using dataflow, which in turn could use structural, but not the opposite (usually!). 5.For implementations on different architectures, after verification, we can expect to have to re-write code written in structural style, but not for the other two.

Possible Steps for Top-Down Design for Efficient and Portable Design 1. You may want to attempt a behavioral style design first. 2. If your design is not efficient, then decide which hardware components to optimize, (the most inefficient?), and attempt a dataflow style design to improve performance. 3. If the performance of the dataflow design is still unsatisfactory, then use structural style design. NB: Always check the RTL representation in your simulation to verify that you have efficient designs.