Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth.

Slides:



Advertisements
Similar presentations
10/14/2005Caltech1 Reliable State Machines Dr. Gary R Burke California Institute of Technology Jet Propulsion Laboratory.
Advertisements

Give qualifications of instructors: DAP
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
1 Lecture 13 VHDL 3/16/09. 2 VHDL VHDL is a hardware description language. The behavior of a digital system can be described (specified) by writing a.
L18 – VHDL for other counters and controllers. Other counters  More examples Gray Code counter Controlled counters  Up down counter  Ref: text Unit.
ECE 353 Computer Systems Lab II VHDL AND LABORATORY TOOLS TUTORIAL Professors Maciej Ciesielski & T. Baird Soules.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Introduction to VHDL (Lecture #5) ECE 331 – Digital System Design The slides included herein were taken from the materials accompanying Fundamentals of.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
ECE 353 Computer Systems Lab I Verilog Hardware Description Language.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
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.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi.
CSE241 R1 Verilog.1Kahng & Cichy, UCSD ©2003 CSE241 VLSI Digital Circuits Winter 2003 Recitation 1: Verilog Introduction.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
CSCI 660 CSCI-660 Introduction to VLSI Design Khurram Kazi.
Introduction to VHDL (part 2)
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
ECE 2372 Modern Digital System Design
Introduction to VHDL Arab Academy for Science, Technology & Maritime Transport Computer Engineering Department Magdy Saeb, Ph.D.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #17 – Introduction.
A VHDL Tutorial ENG2410. ENG241/VHDL Tutorial2 Goals Introduce the students to the following: –VHDL as Hardware description language. –How to describe.
Tutorial 1 Combinational Logic Synthesis. Introduction to VHDL VHDL = Very high speed Hardware Description Language VHDL and Verilog are the industry.
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.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
L26 – Datapath ALU implementation
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi* Lecture 9 Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth *(lecture.
EE3A1 Computer Hardware and Digital Design Lecture 2 Introduction to VHDL.
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.
Lecture 7 Chap 9: Registers Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Lecture 8 Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth.
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.
ECOM 4311—Digital System Design with VHDL
George Mason University ECE 448 – FPGA and ASIC Design with VHDL VHDL Coding for Synthesis ECE 448 Lecture 12.
1 ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 2: Introduction to VHDL February 1, 2006.
George Mason University Behavioral Modeling of Sequential-Circuit Building Blocks ECE 545 Lecture 8.
Case Study: Xilinx Synthesis Tool (XST). Arrays & Records 2.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
ASIC Design Methodology
B e h a v i o r a l to R T L Coding
Part II A workshop by Dr. Junaid Ahmed Zubairi
Custom Designed Integrated Circuits
RTL Style در RTL مدار ترتيبي به دو بخش (تركيبي و عناصر حافظه) تقسيم مي شود. مي توان براي هر بخش يك پروسس نوشت يا براي هر دو فقط يك پروسس نوشت. مرتضي صاحب.
IAS 0600 Digital Systems Design
VHDL (VHSIC Hardware Description Language)
VHDL Discussion Subprograms
VHDL Introduction.
Introduction to Digital System and Microprocessor Design
VHDL Discussion Subprograms
IAS 0600 Digital Systems Design
Figure 8.1. The general form of a sequential circuit.
ECE 551: Digital System Design & Synthesis
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
CprE / ComS 583 Reconfigurable Computing
Sequntial-Circuit Building Blocks
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth

Kazi ECE Course Outline Overview of ASIC design flow Writing VHDL for Synthesis Behavioral Modeling (Test Bench Development in VHDL) How to Constrain and Optimize the Design in Synthesis Introduction to Specman ‘e’; Language for verification Self Checking Design Verification Concepts Overview of Verilog (another HDL) with Synthesis in mind Gate Level Verification Formal Checking Static Timing Analysis.

Kazi ECE Grading Policy Homework20% 2 Midterms40% Final Project40% Homework and Final Projects can be customized to your field of specialization, may it be in Data Networking, Cryptography, Specialized Arithmetic Operations, Video Compression etc.

Kazi ECE Do’s and Don’ts for the Final Project Any off the shelf general purpose microprocessor or any other circuit taken from the publicly available information base. Come up with your own functional idea and Implement it. Be creative! Have a system’s perspective and see how your ASIC fits in the system.

Kazi ECE How much collaboration is acceptable Since time will be short, I would encourage you to help out your fellow students with the “Usage of the Tools” and not the Design. Informing me of the help received is strongly encouraged. Helping with Tools and class participation will be rewarded in the final grade.

Kazi ECE Overview of Some of the steps in an ASIC flow

Kazi ECE RTL Block Synthesis* *Simplified design flow

Kazi ECE Insert Test Structure (Internal Scan and JTAG)* *Simplified design flow

Kazi ECE Insert Test Structure (Internal Scan and JTAG)* *Simplified design flow

Kazi ECE Insert I/O Pads* *Simplified design flow

Kazi ECE ASIC Floorplan* *Simplified design flow

Kazi ECE Getting ASIC Ready for Handoff* *Simplified design flow

Kazi ECE Where to Start in the ASIC Process! Begin with ASIC Specification (most likely by the time you are done the Final Spec. will be quite different) Based on performance requirements define operating frequencies, I/O pad types, operating conditions, verification and test requirements to ensure error free design and manufacturability

Kazi ECE Overview of Synthesizable VHDL Library and Library Declarations Entity Declaration Architecture Configuration

Kazi ECE Overview of Synthesizable VHDL Package contains commonly used declarations –Constants maybe defined here –Enumerated data types (SFD, SA, DA) –Combinatorial functions (performing a decode function; returns single value) –Procedures (can return multiple values) –Component declarations

Kazi ECE Overview of Synthesizable VHDL Entity –Defines the component name, its inputs and outputs (I/Os) and related declarations. –Can use same Entity for different architecture to study various design trade offs. Use std_logic and std_logic_vector(n downto 0): they are synthesis friendly. Avoid enumerated type of I/Os. Avoid using port type buffer or bidir (unless have to)

Kazi ECE Overview of Synthesizable VHDL Architecture –Defines the functionality of the design –Normally consists of processes and concurrent signal assignments Synchronous and/or combinatorial logic can be inferred from the way functionality is defined in the Processes. Avoid nested loops Avoid generate statements with large indices Always think hardware when developing code!

Kazi ECE Some useful starting practices Organize Your Design Workspace Define naming convention (especially if multiple designers are on the project Completely Specify Sensitivity Lists Try to separate combinatorial logic from sequential logic

Kazi ECE Separation of Combinatorial and Sequential Logic

Kazi ECE Synthesis of “if – then – elsif” statement

Kazi ECE Case statement Synthesis Case statement Synthesis

Kazi ECE What is synthesized from this Code? Process (A, B) begin if (A = ‘1’) then Q <= B; end if; end process; // there are 2 outputs, Q and Z Process (c) begin case C is when ‘0’ => Q <= ‘1’; Z <= ‘0’; when others => Q <= ‘0’; end case; end process; Missing else Otherwise a latch is inferred Missing Z output Otherwise a latch is inferred

Kazi ECE for loop synthesis Process (a,b) begin for i in 0 to 5 loop example (i) <= a(i) and b(5-i); end loop; end process; Example(0) <= a(0) and b(5); Example(1) <= a(1) and b(4); Example(2) <= a(2) and b(3); Example(3) <= a(3) and b(2); Example(4) <= a(4) and b(1); Example(5) <= a(5) and b(0); for loops are “unrolled” and then synthesized.

Kazi ECE Example of SONET Framing block in a framer ASIC A1A …………..……….90 th byte A1 = hexF6, A2 = hex28; is the framing pattern used in SONET networks; Order or transmission is F6 ( ) msb transmitted first.

Kazi ECE Frame Acquisition in SONET (STS-1) Each frame consists of 810 bytes. The first 2 bytes are A1 and A2. These two bytes have same fixed patter. Hence used for acquiring framing, i.e. byte boundary is defined. It takes 2 frames to go in sync. Once in frame, framer keeps monitoring A1A2 bytes. If 2 contiguous wrong patterns are detected for A1A2 -> errored frame is implied 4 contiguous A1A2 wrong patterns -> severely errored frame 24 contiguous A1A2 wrong patterns -> out frame state is declared. Respective alarms are generated.

Kazi ECE What will it take to design a SONET framer (simple version) Shift in the data in a 16 bit long shift register and match the F628 pattern. Once that pattern is detected, load an octet (byte) counter with a value of 2 (corresponds to the 3 rd byte in the SONET frame) Every time counter is 0 and 1, compare the bytes with F628 pattern to ensure framing is maintained.

Kazi ECE Assignment 1 Design a SONET framer. Based on A1 and A2 pattern, design a counter that counts bytes. There should be a bit counter that maintains the byte boundary. The bit counter is set to a value of 0 the next cycle the A2 byte pattern is detected. From then on, the bit counter is modulo 8 counter and the byte counter is a modulo 810. Every time bit counter counts to 7, the next cycle the byte counter gets incremented. In the design define states (header0, payload0, header1, payload1, header3, payload3 … header8, payload8). Header0 corresponds to when the byte counter is counting between 0-2, payload0 ->3-89, header1 ->90-92, payload1 -> and so on till the counter wraps around. Hints: Start your designs by writing code for 16 shift register. Every cycle do a check for the F628 pattern. The decode of that pattern should be used to preload your bit and byte counters. Need to generate a test bench that generate SONET frame data. It can be a sequence of up counter with only two bytes to have the F628 pattern in the data stream. Make sure the rest of the bytes of the 810 byte frame do not have that pattern. Do not start the first two bytes of your test bench pattern generator with F628 pattern.