Fundamental Design Concepts. Fundamental Concepts. Modeling Domains. Basic Definitions. New terminology and overloaded use of common words

Similar documents
In this chapter we present basic definitions that relate to

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

Control and Datapath 8

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1. Your name 2/13/2014

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Computer-Aided Digital System Design VHDL

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Lecture 3 Introduction to VHDL

Department of Technical Education DIPLOMA COURSE IN ELECTRONICS AND COMMUNICATION ENGINEERING. Fifth Semester. Subject: VHDL Programming

Introduction to VHDL #3

EITF35: Introduction to Structured VLSI Design

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

VHDL VS VERILOG.

Hardware Description Language VHDL (1) Introduction

IE1204 Digital Design L7: Combinational circuits, Introduction to VHDL

VHDL simulation and synthesis

Part 4: VHDL for sequential circuits. Introduction to Modeling and Verification of Digital Systems. Memory elements. Sequential circuits

COE 561 Digital System Design & Synthesis Introduction

Field Programmable Gate Array

Design Progression With VHDL Helps Accelerate The Digital System Designs

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture

Multi-valued Logic. Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

IT T35 Digital system desigm y - ii /s - iii

CS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

ECE 459/559 Secure & Trustworthy Computer Hardware Design

VHDL. Chapter 1 Introduction to VHDL. Course Objectives Affected. Outline

Hardware Description Languages (HDLs) Verilog

Tutorial on VHDL and Verilog Applications

OUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 4 Introduction to VHDL

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1 Solutions

FSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques

structure syntax different levels of abstraction

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

Designing with VHDL and FPGA

EEL 4783: Hardware/Software Co-design with FPGAs

The block diagram representation is given below: The output equation of a 2x1 multiplexer is given below:

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

CMSC 611: Advanced Computer Architecture

CCE 3202 Advanced Digital System Design

ASIC Products Application Note

Evolution of CAD Tools & Verilog HDL Definition

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013

More Course Information

VHDL And Synthesis Review

VHDL for Synthesis. Course Description. Course Duration. Goals

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

The Optimization of a Design Using VHDL Concepts

EE434 ASIC & Digital Systems

UNIT I Introduction to VHDL VHDL: - V -VHSIC, H - Hardware, D - Description, L Language Fundamental section of a basic VHDL code Library :

Inferring Storage Elements

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

ECE 3220 Digital Design with VHDL. Course Information. Lecture 1

Combinational hazards

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

Midterm Exam Thursday, October 24, :00--2:15PM (75 minutes)

Digital Systems Design

CMPT 250: Computer Architecture. Using LogicWorks 5. Tutorial Part 1. Somsubhra Sharangi

C-Based Hardware Design

101-1 Under-Graduate Project Digital IC Design Flow

Altera s Avalon Communication Fabric

VHDL HIERARCHICAL MODELING

Concurrent Signal Assignment Statements (CSAs)

VHDL Introduction and Overview

Synthesizable Verilog

JUNE, JULY 2013 Fundamentals of HDL (10EC45) PART A

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

EEL 4783: Hardware/Software Co-design with FPGAs

Lecture 12 VHDL Synthesis

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

Advanced Synthesis Techniques

Lecture 4. VHDL Fundamentals. Required reading. Example: NAND Gate. Design Entity. Example VHDL Code. Design Entity

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University

VHDL for Complex Designs

ECE 545 Lecture 5. Data Flow Modeling in VHDL. George Mason University

What is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

SRI SUKHMANI INSTITUTE OF ENGINEERING AND TECHNOLOGY, DERA BASSI (MOHALI)

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic

5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) -

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic

Constructing VHDL Models with CSA

Introduction to Verilog. Garrison W. Greenwood, Ph.D, P.E.

Lecture 5: State Machines, Arrays, Loops. EE 3610 Digital Systems

RTL Coding General Concepts

In our case Dr. Johnson is setting the best practices

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

Lecture 4. VHDL Fundamentals. George Mason University

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Lecture 8: Synthesis, Implementation Constraints and High-Level Planning

Introduction to VHDL. Yvonne Avilés Colaboration: Irvin Ortiz Flores Rapid System Prototyping Laboratory (RASP) University of Puerto Rico at Mayaguez

FPGAs in a Nutshell - Introduction to Embedded Systems-

Introduction to VHDL. Module #5 Digilent Inc. Course

2/14/2016. Hardware Synthesis. Midia Reshadi. CE Department. Entities, Architectures, and Coding.

Sequential Statement

Transcription:

Fundamental Design Concepts Fundamental Concepts Basic Definitions study now revisit later New terminology and overloaded use of common words Modeling Domains Structural Domain a domain in which a component is described in terms of an interconnection of more primitive components. Behavioral Domain a domain in which a component is described in terms of its I/O response. 1

Structural description Behavioral Description entity TWO_CONSECUTIVE is port(clk,r,x: in BIT;Z: out BIT); end TWO_CONSECUTIVE; architecture DATAFLOW of TWO_CONSECUTIVE is signal Y1,Y0: BIT; STATE: block((clk = 1 and not CLK STABLE) or R = 0 ) Y1 <= guarded 0 when R = 0 else X; Y0 <= guarded 0 when R = 0 else 1 ; end block STATE; Z <= Y0 and ((not Y1 and not X) or (Y1 and X)); end DATAFLOW; entity MULT_B0 is port ( IN0 : in STD_LOGIC_VECTOR(7 downto 0) ; DSP OUTPUT : out STD_LOGIC_VECTOR(7 downto 0) ) ; Multiplier end 1 MULT_B0 ; 1 architecture behavior of MULT_B0 is constant 2 RoundProdWidth_M_M1_1_1: INTEGER := 8 ; 2 main: process(in0) variable Input2_M_M1_1_1: SIGNED(7 DOWNTO 0) ; 3 variable RoundProd_M_M1_1_1: SIGNED(RoundProdWidth_M_M1_1_1-1 DOWNTO 0); 3 Input2_M_M1_1_1 := const2fxp(0, 12, 1, 8); RoundProd_M_M1_1_1 := fxp_round(signed(in0) * Input2_M_M1_1_1, 0, RoundProdWidth_M_M1_1_1); OUTPUT <= STD_LOGIC_VECTOR(fxp_saturate(RoundProd_M_M1_1_1, 1, 8)); 4 end process main; 4 end behavior ; Synthesized DSP Multiplier 2

Abstraction Hierarchy Abstraction Hierarchy a set of interrelated representation levels that allow a system to represented in varying amounts of detail Helps designer maintain perspective SILICON LEVEL Structural: Behavioral: None Vi Structural: G G S CIRCUIT LEVEL S D D V+ P N Vout Behavioral: Differential Eq. Spice HDL-AMS Inverter 3

S Structural: Q Behavioral: Boolean Eq. R Q S Q GATE LEVEL R Q REGISTER LEVEL Structural: REG Select CLK A MUX CLK B REG INC Behavioral: Data Flow HDL Structural: Microprocessor CHIP LEVEL 8 RAM Parallel Port USART 8 8 Interrupt Controller Behavioral: Algorithmic HDL 4

SYSTEM LEVEL Structural: IMU A/B Computer RADAR C/D Behavioral: Abstract HDL, Performances Specs Hardware Description Language Hardware Description Language a high level programming language with special constructs for modeling hardware. Special constructs for modeling: Delay Concurrency Interconnection Interaction Behavioral Descriptions Procedural code Non-structural Models cannot be decomposed Source language type for current VHDL and Verilog synthesis tools Two classes of behavioral modeling: Algorithmic Data Flow 5

Algorithmic Descriptions A behavioral description in which the procedure definition the I/O response is not meant to imply any particular physical implementation Used to verify an algorithm or architecture Abstract, thus retargetable Timed (gross) or untimed Some people call algorithmic descriptions behavioral Language Characteristics of Algorithmic Descriptions Abstract representation of states and signals, e.g. enumerative types and integers Use conventional programming control constructs, e.g. if, case, and loop Data flow not explicitly represented architecture ALGORITHMIC of EE TWO_CONSECUTIVE 4514 is type STATE is (S0,S1,S2); signal Q: STATE := S0; 1 1 2 process(r,x,clk,q) if (R EVENT and R = 0 ) then --reset event Q <= S0; elsif (CLK EVENT and CLK = 1 ) then --clock event if X = 0 then 2 Q <= S1; else Algorithmic Description 3 Q <= S2; end if; end if; 3 4 if Q EVENT or X EVENT then --output function if (Q=S1 and X= 0 ) or (Q=S2 and X= 1 ) then Z <= 1 ; else Z <= 0 ; end if; end if; 4 end process; end ALGORITHMIC; 6

Data Flow Description A behavioral description in which the data dependencies in the description match those in a real implementation Descriptions represent the result of state machine and K map design Data paths explicitly represented Language Characteristics of Data Flow Descriptions Low level representation of states and interconnect (BIT, STD_LOGIC) Uses signal assignment statements representing combinational logic and registering Some people call data flow RTL entity TWO_CONSECUTIVE is port(clk,r,x: in BIT;Z: out BIT); end 1 TWO_CONSECUTIVE; 1 architecture DATAFLOW of TWO_CONSECUTIVE is 2 signal Y1,Y0: BIT; 2 STATE: block((clk = 1 and not CLK STABLE) or R = 0 ) Y1 <= guarded 0 when R = 0 else X; Y0 <= guarded 0 when R = 0 else 1 ; 3 end block STATE; 3 Z <= Y0 and ((not Y1 and not X) or (Y1 and X)); end 4 DATAFLOW; 4 Data Flow Description 7

Synthesis Dictionary: to put something together Digital CAD:Synthesis the process of transforming one representation in the design hierarchy to another Level I is used as a guide for level I+1 Synthesis Transformations Industrial Synthesis Behavioral (Algorihmic): Algorithmic behavioral to gate structural being developed Logic Synthesis: Data flow(rtl) to gate structural established practice Layout Synthesis: Gate structural to layout established practice 8

Design A series of transformations from one representation of a system to another, until a representation exists that can be fabricated. A series of synthesis steps Design productivity must grow faster than chip complexity Automation of these steps is the goal of digital CAD Design Decomposition Complexity manager Divide and conquer Component problems are easier to solve Allows for concurrent activity HDL must support decomposition Full Tree Design 9

Partial Tree Design Structural Modeling Top Down Design Begin at the top. Partition according to some objective criterion. No appriori" knowledge of available lower level components. Advantage: optimized partition. Disadvantage: unique level components. Bottom Up Design Begin at the top. Partition to take advantage of available lower level components. Lower level components were designed first. Advantage: use available components. Disadvantage: partitioning is non-optimal. 10

Design Window: a range of levels of abstraction over which a designer works. Two Important Windows: VLSI Chip Designer s: chip register gate silicon(?) System Designer s: system chip register(?) gate(?) Design Windows Design Space There exists no algorithm for the design of complicated systems The designer moves around in a space The co-ordinates of the space are optimization criterion: speed, chip area, cost, power, pinout etc. Motion in the space involves tradeoffs A Three Dimensional Design Space a design 11

Workstation Cost/Speed Trade-off Cost ($) (C2,S2) C1 S1 $ 5K 50 MIPS (C3,S3) C2 S2 C3 $ 30K 500 MIPS $ 10K (C1,S1) S3 280 MIPS Speed (MIPS) Speed/Area Tradeoff 12