ASIC Development. ASIC Classes. What s an ASIC, Anyhow? ASIC Methodology. Abstract Representations 2/16/2018
|
|
- Emory Garrett
- 6 years ago
- Views:
Transcription
1 ASIC Development ECE 527: Application Specific Integrated Circuit Development Logic Synthesis and Analysis Objective is to produce a physical design. ASIC development is considered done when a layout file (GDSII* format, or maybe OASIS**) is produced. Fabrication (foundry work) remains to be done, not covered here. 1 *Graphic Data Systems II **Open Artwork System Interchange Standard 2 What s an ASIC, Anyhow? Application Specific Integrated Circuit Processors are generally NOT considered ASIC though design methodology is essentially identical. Processors (including DSP s) are multi-purpose devices. Pretty much all integrated circuits are developed using ASIC methodology. Many times more ASIC s are designed every year than GP Processors. ASIC Classes Custom Mask FPGA Full Custom Standard Cell Gate Array Structured Unstructured 3 4 ASIC Methodology Abstract Representations Whatever the target technology, the methodology is pretty much the same. Mostly it means pointing the synthesizer to the right library. Designer still must be cognizant of target technology performance parameters. No amount of synthesis tricks will make a 50 MHz design run at 200. Design Specification HDL code Schematic/netlist Floor plan Placed & Routed design Silicon More abstract Not abstract at all 5 6 1
2 Where Synthesis Fits In Idea Back of envelope sketch Functional Graphical or textual description Behavioral HDL and simulation language Register Transfer Architectural HDL Synthesis Gate-Level Netlist Physical Device HDL to Gates Circuit descriptions are written in HDL programming type constructs. Eventually we need a silicon circuit. Gate level is an intermediate format. Logic synthesizers transform HDL to a gate level netlist. This course uses Synopsys Design Compiler. Silicon 7 8 HDL Design Flow Design Specification HDL Coding Logic Synthesis Simulation Vectors HDL Simulation RTL Code Constraints Component Library Simulation Passed? No Design Compiler Yes Logic Synthesis 9 Netlist Reports 10 Logic Synthesis Design Flow Logic synthesis is 1. translation of HDL to internal data base format 2. logic optimization (redundancies, De Morgan, etc.) 3. gate mapping (technology specific)
3 Concept & Market Research Static Timing Analysis Detailed Routing Back to Salt Mine Passed? Design Specification No Timing OK? Post-layout STA Yes Tapeout RTL Coding & Simulation Logic Synthesis Scan Insertion Yes Floorplanning, CT Insertion, Global P&R Static Timing Analysis Go to P&R 13 Back to Salt Mine Timing OK? Yes Design Rule Check Collect Bonus, Vacation 14 Design Compiler Flow Write RTL code and simulate Create start-up file Create constraints file Select appropriate compile flow Load designs and libraries Apply design constraints Synthesize the design Constraints Circuits usually have performance goals Area Speed Power Synthesizer produces different circuits depending on the constraints Write out design data Area vs. Operating Frequency Synopsys Propaganda Curve One HDL encoding can produce many designs through logic synthesis. Image John Cooley The Great ESDA Shootout
4 More Realistic Curve Combinational Logic Optimization Sequential Cell Optimization Synthesis The synthesizer can take advantage of complex flipflops to reduce glue logic. The optimization moves are technologydependent. The synthesizer can only use cells that are in the target library. 21 Depending on the size and complexity of the RTL, logic synthesis may be a quick procedure on a single file or an iterative process with many files. Synthesis is multi-level logic optimization (think K-maps, De Morgan, etc. but way more sophisticated) and technology mapping (picking the right components). 22 What s Wrong? One Unsigned, All Unsigned module incrementer_with_overflow( input logic CLK, RST, input logic signed [7:0] IN, output logic signed [8:0] OUT); CLK or negedge RST) if (!RST) OUT <= 0; else OUT <= IN + 1 b1; endmodule 23 All the variables were correctly declared as signed. But the increment value was not. 1 b1 is an unsigned number. So the result is unsigned. Simulation proof: if IN = -5, result is stored as 2 s compliment, which is 251 unsigned
5 Weirder Still So make the increment value 1 sb1. Looks good, explicitly declared a one bit signed value. Unfortunately, it does not work right either. Now the culprit is operand size coercion. Increment value will be sign extended to match other variable. So it becomes , or -1. Incrementer becomes a decrementer. 25 What Does Work Skip all explicit sizing. module incrementer_with_overflow( input logic CLK, RST, input logic signed [7:0] IN, output logic signed [8:0] OUT); CLK or negedge RST) if (!RST) OUT <= 0; else OUT <= IN + 1; endmodule A number without a specific base, such as "1", defaults to a signed decimal expression. 26 Synthesis Output Logic synthesizer produces a netlist: similar data to a schematic. It also produces reports. Analysis of reports tells if design constraints have been met. Meeting constraints may be a long and iterative process. It may be totally impossible, too. Synthesis Source Code module counter(clk, RST, COUNT); input CLK, RST; output [3:0] COUNT; reg [3:0] COUNT; CLK or negedge RST) begin if (!RST) COUNT <= 0; else COUNT <= COUNT + 1; end endmodule Always Verify Before Synthesis Mentor Graphics Modelsim output: use only VCS in class. module tb_counter(); wire [3:0] COUNT; reg CLK, RST; counter C1(CLK, RST, COUNT); initial begin CLK = 1'b0; forever #10 CLK <= ~CLK; end initial begin RST <= 1'b1; #15 RST <= 1'b0; #40 RST <= 1'b1; end endmodule
6 module counter ( CLK, RST, COUNT ); output [3:0] COUNT; input CLK, RST; wire N2, N3, N4, n5, n9, n10; Hierarchical Design FD2 \COUNT_reg[3] (.D(N3),.CP(CLK),.CD(RST),.Q(COUNT[3]) ); FD2 \COUNT_reg[1] (.D(N2),.CP(CLK),.CD(RST),.Q(COUNT[1]) ); FD2 \COUNT_reg[2] (.D(N4),.CP(CLK),.CD(RST),.Q(COUNT[2]),.QN(n5) ); FT2 \COUNT_reg[0] (.CP(CLK),.CD(RST),.Q(COUNT[0]) ); EO U3 (.A(n9),.B(n5),.Z(N4) ); EO U4 (.A(COUNT[3]),.B(n10),.Z(N3) ); NR2 U5 (.A(n9),.B(n5),.Z(n10) ); ND2 U6 (.A(COUNT[1]),.B(COUNT[0]),.Z(n9) ); EO U7 (.A(COUNT[1]),.B(COUNT[0]),.Z(N2) ); endmodule Design A Instance 1 Top Level Design Design B Design A Instance 2 Design C Handling Hierarchy Top-down logic design start at the system level, work down to leaf cells. Turn it into gates Read the whole hierarchy at once into the synthesizer? Start with the top level? Work from the bottom up? Other? A combination? Either? Top-Down Synthesis Works if entire design can fit into memory. Read in the whole design hierarchy. Apply system-level constraints at the top. Let tools handle it from there Synthesize Bottom Up Design Example Proper strategy depends on design size. Synthesis block size grows all the time. Usually synthesis, unlike design, goes from the bottom up: synthesize and optimize leaf designs, then build up hierarchy. Flattening the whole design can produce better results, if the tools can handle it. 35 tap_controller.v tap_bypass.v tap_instruction.v tap_state.v Constraints 30 MHz clock Need 10 ns setup time for all inputs 10 ns output delay on all outputs 36 6
7 Synopsys Setup File TCL Syntax Setup file has hard and soft variables. Variables set in curly braces { } do not use variable substitutions. Strings must match. Variables set in quotes * $target_library do substitute variable values for names. $ is used for variable references TCL Variable Examples Stringing Variables Together Command Result set b set a b b set a $b 66 set a $b+$b+$b set a $b set a ${b}4 664 Curly braces are hard quotes in tcl. Non-variable character. delineates the variable, result is concatenation. 39 Synopsys setup files frequently reference multiple values set link_library * $target_library Means use all values (*) already part of the link_library list and add the value of variable target_library, too. So many different libraries may be searched if the tool is so instructed. 40 Synopsys Design Compiler Flow 41 Invoking Synopsys Design Compiler Design Compiler may be invoked with a graphical user interface (GUI). > design_vision No professionals use graphical mode. All professionals use text interface: dc_shell-xg-t XG mode uses new memory-management techniques, recommended for all new designs. DB is now obsolete. 42 7
8 New Version: XG is Implicit With current tools, xg mode is the default. Will not see xg-t at the prompt anymore. Do not need to explicitly ask for it when starting up. dc_shell, not dc_shell-xg-t Design Compiler Commands Synopsys Design Compiler has two user command languages. Traditional Synopsys scripting language TCL One or the other is selected upon invoking the tool. The default is now tcl mode. Must use tcl when using xg mode Command Details Not every nuance of every command will be elaborated in class. All details are available from on-line manual. To read all about a command, from the prompt (within the tool) type man <command_name> This will also return related commands: SEE ALSO Command a Command b 45 Scripting Virtually all synthesis operations are done with scripting: a command file is executed. Same concept as f files used in ECE526 Operating manually from the command line is not easily repeatable: won t be sure what you ve done. No audit trail. Makefiles are often used to call synthesis scripts. 46 Make Managing Projects with GNU Make, Andrew Oram & Steve Talbott O Reilly & Associates, Inc., $ More on Make when we deal with hierarchical compilation. Synthesis Scripts Commanding the synthesizer is another art. Many variations, many commands. Synthesis scripts have conditional clauses, loops, etc. Synopsys proprietary dcsh format is being phased out. New projects should all tcl
9 Synthesis Read in the design. Check it. Set operating conditions, constraints. Compile. Save Read in Design Start with Verilog/SV file(s). Simple files can be read in with a read command. Any parameterized designs need to be done in two steps analyze elaborate Reading a design with parameters will result in only the default values being used, no parameter over ride. Read Source code is usually best read in with analyze/elaborate. Net lists (previously compiled designs) must be read in with the read command. Using design compiler tcl mode (the new way, becoming the only way) reading in a file uses read_file. Simple read is reserved for channel input (UNIX system) acs_read_hdl New design compiler has an automatic hierarchical hdl read command that will search directories in path for Verilog and VHDL files. Unexpected/unwanted results are likely. Will not be discussed further in class
10 Read In a Netlist Read_file Netlist (binary file format, Verilog or VHDL) is the output of a previouslycompiled design. Why read one in to the synthesizer? Commonly done in hierarchical design: break synthesis into manageable chunks. Also may get IP from an outside source as a netlist. 55 Reading in a netlist: read_file f sverilog../syn/tap_controller.v Alternate version: read_sverilog../syn/tap_controller.v Designs not containing any new SystemVerilog constructs can use read_verilog read_file f verilog 56 Fab Article Key Points Technology shrinks leads to More masks More difficult mask fab Higher costs Lower yields 90 nm (our 2 nd library) is about the oldest still in common use, but also the highest yield and least expensive. 57 TAT (turn around time) is longer due to write times, inspection times and verification times, said Naoya Hayashi, a research fellow at Dai Nippon Printing (DNP). 58 Analyze & Elaborate HDL designs are normally read in to Design Compiler with two sequential commands Analyze to read in HDL source code Elaborate to further process Verilog module or VHDL entity Note that analyze operates on a file name and elaborate on a module name. Analyze Once the design environment is set, a file can be analyzed. Analysis includes syntax checking dc_shell-xg-t> analyze format sverilog \ tap_state.v If that step works, on to elaborate. If not, fix syntax and try again
11 Analyze This module counter(cnt, RST, COUNT); input CLK, RST; output [3:0] COUNT; reg [4:0] COUNT; CLK or negedge RST) begin if (!RST) COUNT <= 4 b0; else COUNT <= COUNT + 1; end Analyze Error Running PRESTO HDLC Searching for./counter.v Compiling source file./counter.v Error:./counter.v:4: Vector or memory size mismatch on port COUNT using last declaration. (VER-152) *** Presto compilation terminated with 1 errors. *** Loading db file '/usr/synopsys/y /libraries/syn/lsi_10k.db' 0 endmodule Simulation/Synthesis Error Checking Previous example had a size mismatch: internal register vector size differed from port size. Design Compiler caught the error and quit. How would it simulate in Verilog? Would it even compile? Verilog Doesn t Care Compiling source file "counter.v" Highest level modules: counter 0 simulation events (use +profile or +listcounts option to count) CPU time: 0.0 secs to compile secs to link secs in simulation End of Tool: VERILOG-XL p Sep 5, :26: Simulation/Synthesis Dichotomy Why doesn t the Verilog simulator care about the mismatch that causes synthesis to fail? The simulator has no concept of hardware. It does not infer flipflops. Thus it does not care if it would take four or five flipflops to implement. It isn t going to implement anything. Anaylze OK Running PRESTO HDLC Searching for./counter.v Compiling source file./counter.v Presto compilation completed successfully. Loading db file '/usr/synopsys/y /libraries/syn/lsi_10k.db'
12 Elaborate Elaborate Translates the design to a technology-independent generic logic format. Sets parameter values. Links design units (resolves hierarchical references). May replace operators with Synopsys DesignWare components. VHDL: selects architecture. No Verilog significance. 67 #Module name, not file name, is elaborated. #Synopsys comments follow #, not Verilog style dc_shell-xg-t> elaborate tap_state 68 Loading db file '/usr/synopsys/y /libraries/syn/gtech.db' Loading db file '/usr/synopsys/y /libraries/syn/standard.sldb' Loading link library 'lsi_10k' Loading link library 'gtech' Running PRESTO HDLC Memory Type Cell Type: Flipflop Width: 4 Bus: Yes Inferred memory devices in process in routine counter line 6 in file './counter.v'. Multibit Attribute: No ========================================================== multibit are cells (hard macros) that are more than one bit. Will never have ===================== them when elaborating HDL behavioral source code Register Name Type Width Bus MB AR AS SR SS ST ========================================================== ===================== Asynchronous Reset: Yes COUNT_reg Flip-flop 4 Y N Y N N N N ========================================================== Asynchronous Set: No ===================== Presto compilation completed successfully. Synchronous Reset: No Elaborated 1 design. Current design is now 'counter'. Synchronous Set: No Synchronous Toggle: No 12
Getting a Quick Start 2
2 Getting a Quick Start 2 This chapter walks you through the basic synthesis design flow (shown in Figure 2-1). You use the same basic flow for both design exploration and design implementation. The following
More informationEECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis
EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State
More informationSpiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.
1-4.1 1-4.2 Spiral 1 / Unit 4 Verilog HDL Mark Redekopp OVERVIEW 1-4.3 1-4.4 Digital Circuit Design Steps Digital Circuit Design Description Design and computer-entry of circuit Verification Input Stimulus
More informationGraphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis
Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Universität Dortmund RTL Synthesis Purpose of HDLs Purpose of Hardware Description Languages: Capture design in Register Transfer Language form i.e. All
More informationECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis
ECE 4514 Digital Design II A Tools/Methods Lecture Second half of Digital Design II 9 10-Mar-08 L13 (T) Logic Synthesis PJ2 13-Mar-08 L14 (D) FPGA Technology 10 18-Mar-08 No Class (Instructor on Conference)
More informationIntroduction to Verilog HDL
Introduction to Verilog HDL Ben Abdallah Abderazek National University of Electro-communications, Tokyo, Graduate School of information Systems May 2004 04/09/08 1 What you will understand after having
More informationVerilog for Synthesis Ing. Pullini Antonio
Verilog for Synthesis Ing. Pullini Antonio antonio.pullini@epfl.ch Outline Introduction to Verilog HDL Describing combinational logic Inference of basic combinational blocks Describing sequential circuits
More informationFPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1
FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital
More informationHDL Compiler Directives 7
7 HDL Compiler Directives 7 Directives are a special case of regular comments and are ignored by the Verilog HDL simulator HDL Compiler directives begin, like all other Verilog comments, with the characters
More informationLecture 11 Logic Synthesis, Part 2
Lecture 11 Logic Synthesis, Part 2 Xuan Silvia Zhang Washington University in St. Louis http://classes.engineering.wustl.edu/ese461/ Write Synthesizable Code Use meaningful names for signals and variables
More informationHardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University
Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis
More informationSynthesis of Combinational and Sequential Circuits with Verilog
Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two
More informationHardware Verification Group. Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada. CAD Tool Tutorial.
Digital Logic Synthesis and Equivalence Checking Tools Hardware Verification Group Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada CAD Tool Tutorial May, 2010
More information1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center
1 Design Process VHDL Compiler, a member of the Synopsys HDL Compiler family, translates and optimizes a VHDL description to an internal gate-level equivalent. This representation is then compiled with
More informationTutorial 2.(b) : Synthesizing your design using the Synopsys Design Compiler ( For DFT Flow)
Tutorial 2.(b) : Synthesizing your design using the Synopsys Design Compiler ( For DFT Flow) Objectives: In this tutorial you will learrn to use Synopsys Design Compiler (DC) to perform hardware synthesis
More informationVerilog for High Performance
Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes
More informationIntroduction. Purpose. Intended Audience. Conventions. Close
Introduction Introduction Verilog-XL is a simulator that allows you to test the logic of a design. The process of logic simulation in Verilog-XL is as follows: 1. Describe the design to Verilog-XL. 2.
More informationSetup file.synopsys_dc.setup
Setup file.synopsys_dc.setup The.synopsys_dc.setup file is the setup file for Synopsys' Design Compiler. Setup file is used for initializing design parameters and variables, declare design libraries, and
More informationRIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM. SYNTHESIS OF COMBINATIONAL LOGIC (Chapter 8)
RIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM SYNTHESIS OF COMBINATIONAL LOGIC (Chapter 8) HDL-BASED SYNTHESIS Modern ASIC design use HDL together with synthesis tool to create
More informationLecture #2: Verilog HDL
Lecture #2: Verilog HDL Paul Hartke Phartke@stanford.edu Stanford EE183 April 8, 2002 EE183 Design Process Understand problem and generate block diagram of solution Code block diagram in verilog HDL Synthesize
More informationLaboratory 5. - Using Design Compiler for Synthesis. By Mulong Li, 2013
CME 342 (VLSI Circuit Design) Laboratory 5 - Using Design Compiler for Synthesis By Mulong Li, 2013 Reference: http://www.tkt.cs.tut.fi/tools/public/tutorials/synopsys/design_compiler/gsdc.html Background
More informationLecture 3: Modeling in VHDL. EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware
More informationTOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis
TOPIC : Verilog Synthesis examples Module 4.3 : Verilog synthesis Example : 4-bit magnitude comptarator Discuss synthesis of a 4-bit magnitude comparator to understand each step in the synthesis flow.
More informationQuick Introduction to SystemVerilog: Sequental Logic
! Quick Introduction to SystemVerilog: Sequental Logic Lecture L3 8-545 Advanced Digital Design ECE Department Many elements Don Thomas, 24, used with permission with credit to G. Larson Today Quick synopsis
More informationWriting Circuit Descriptions 8
8 Writing Circuit Descriptions 8 You can write many logically equivalent descriptions in Verilog to describe a circuit design. However, some descriptions are more efficient than others in terms of the
More information101-1 Under-Graduate Project Digital IC Design Flow
101-1 Under-Graduate Project Digital IC Design Flow Speaker: Ming-Chun Hsiao Adviser: Prof. An-Yeu Wu Date: 2012/9/25 ACCESS IC LAB Outline Introduction to Integrated Circuit IC Design Flow Verilog HDL
More informationLecture 12 VHDL Synthesis
CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?
More informationLab 7 (All Sections) Prelab: Introduction to Verilog
Lab 7 (All Sections) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The
More informationEECS 470: Computer Architecture. Discussion #2 Friday, September 14, 2007
EECS 470: Computer Architecture Discussion #2 Friday, September 14, 2007 Administrative Homework 1 due right now Project 1 due tonight Make sure its synthesizable Homework 2 due week from Wednesday Project
More informationSpeaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23
98-1 Under-Graduate Project Synthesis of Combinational Logic Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23 What is synthesis? Outline Behavior Description for Synthesis Write Efficient HDL
More informationEE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification
EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification PURPOSE: To use Formality and its formal techniques to prove or disprove the functional equivalence of two designs. Formality can be used
More informationECE331: Hardware Organization and Design
ECE331: Hardware Organization and Design Lecture 19: Verilog and Processor Performance Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Verilog Basics Hardware description language
More informationDate Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits
Name: Instructor: Engr. Date Performed: Marks Obtained: /10 Group Members (ID):. Checked By: Date: Experiment # 11 Introduction to Verilog II Sequential Circuits OBJECTIVES: To understand the concepts
More informationECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control
ECE 4514 Digital Design II Lecture 15: FSM-based Control A Design Lecture Overview Finite State Machines Verilog Mapping: one, two, three always blocks State Encoding User-defined or tool-defined State
More informationECE 4514 Digital Design II. Spring Lecture 2: Hierarchical Design
ECE 4514 Digital Design II Spring 2007 Abstraction in Hardware Design Remember from last lecture that HDLs offer a textual description of a netlist. Through abstraction in the HDL, we can capture more
More informationA Verilog Primer. An Overview of Verilog for Digital Design and Simulation
A Verilog Primer An Overview of Verilog for Digital Design and Simulation John Wright Vighnesh Iyer Department of Electrical Engineering and Computer Sciences College of Engineering, University of California,
More informationIntroduction to Design Vision. Instructor: Prof. Shantanu Dutt. TA: Soumya Banerjee
Introduction to Design Vision Instructor: Prof. Shantanu Dutt TA: Soumya Banerjee We use Synopsys Design Vision for synthesizing the VHDL descriptions. If you are aware in the show schematic option in
More informationCSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0
Lab 0: Tutorial on Xilinx Project Navigator & ALDEC s Active-HDL Simulator CSE 591: Advanced Hardware Design and Verification Assigned: 01/05/2011 Due: 01/19/2011 Table of Contents 1 Overview... 2 1.1
More informationRecommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto
Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain
More informationECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog
ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7
More informationTwo HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design
Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial
More informationWhat is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements
What is Verilog HDL? Lecture 1: Verilog HDL Introduction Verilog Hardware Description Language(HDL)? A high-level computer language can model, represent and simulate digital design Hardware concurrency
More informationRegister Transfer Level in Verilog: Part I
Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National
More informationSynthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1
Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis Spring 2007 Lec #8 -- HW Synthesis 1 Logic Synthesis Verilog and VHDL started out
More informationA. Setting Up the Environment a. ~/ece394 % mkdir synopsys b.
ECE 394 ASIC & FPGA Design Synopsys Design Compiler and Design Analyzer Tutorial A. Setting Up the Environment a. Create a new folder (i.e. synopsys) under your ece394 directory ~/ece394 % mkdir synopsys
More informationASIC Design Flow. P.Radhakrishnan, Senior ASIC-Core Development Engineer, Toshiba, 1060, Rincon Circle, San Jose, CA (USA) Jan 2000 (Issue-3)
By P.Radhakrishnan, Senior ASIC-Core Development Engineer, Toshiba, 1060, Rincon Circle, San Jose, CA 95132 (USA) Jan 2000 (Issue-3) Contents Introduction... 3 Application Specific Integrated Circuits
More informationCAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran
CAD for VLSI Design - I Lecture 21 V. Kamakoti and Shankar Balachandran Overview of this Lecture Understanding the process of Logic synthesis Logic Synthesis of HDL constructs Logic Synthesis What is this?
More informationEECS150 - Digital Design Lecture 10 Logic Synthesis
EECS150 - Digital Design Lecture 10 Logic Synthesis September 26, 2002 John Wawrzynek Fall 2002 EECS150 Lec10-synthesis Page 1 Logic Synthesis Verilog and VHDL stated out as simulation languages, but quickly
More informationEECS150 - Digital Design Lecture 10 Logic Synthesis
EECS150 - Digital Design Lecture 10 Logic Synthesis February 13, 2003 John Wawrzynek Spring 2003 EECS150 Lec8-synthesis Page 1 Logic Synthesis Verilog and VHDL started out as simulation languages, but
More informationGraduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date:
Synthesizable Coding of Verilog Lecturer: Date: 2009.03.18 ACCESS IC LAB Outline Basic concepts of logic synthesis Synthesizable Verilog coding subset Verilog coding practices Coding for readability Coding
More informationEE4415 Integrated Digital Design Project Report. Name: Phang Swee King Matric Number: U066584J
EE4415 Integrated Digital Design Project Report Name: Phang Swee King Matric Number: U066584J April 10, 2010 Contents 1 Lab Unit 1 2 2 Lab Unit 2 3 3 Lab Unit 3 6 4 Lab Unit 4 8 5 Lab Unit 5 9 6 Lab Unit
More informationEEL 4783: HDL in Digital System Design
EEL 4783: HDL in Digital System Design Lecture 15: Logic Synthesis with Verilog Prof. Mingjie Lin 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for
More informationDon t expect to be able to write and debug your code during the lab session.
EECS150 Spring 2002 Lab 4 Verilog Simulation Mapping UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping
More informationEECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline
EECS150 - Digital Design Lecture 4 - Verilog Introduction Feb 3, 2009 John Wawrzynek Spring 2009 EECS150 - Lec05-Verilog Page 1 Outline Background and History of Hardware Description Brief Introduction
More informationVHDL for Synthesis. Course Description. Course Duration. Goals
VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes
More informationstructure syntax different levels of abstraction
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationHere 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
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationA Brief Introduction to Verilog Hardware Definition Language (HDL)
www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital
More informationIntroduction to Verilog/System Verilog
NTUEE DCLAB Feb. 27, 2018 Introduction to Verilog/System Verilog Presenter: Yao-Pin Wang 王耀斌 Advisor: Prof. Chia-Hsiang Yang 楊家驤 Dept. of Electrical Engineering, NTU National Taiwan University What is
More informationLeonardoSpectrum & Quartus II Design Methodology
LeonardoSpectrum & Quartus II Design Methodology September 2002, ver. 1.2 Application Note 225 Introduction As programmable logic device (PLD) designs become more complex and require increased performance,
More informationCS/EE 6710 Digital VLSI Design Tutorial on Cadence to Synopsys Interface (CSI)
CS/EE 6710 Digital VLSI Design Tutorial on Cadence to Synopsys Interface (CSI) This tutorial walks you through the Cadence to Synopsys Interface (CSI). This interface lets you take a schematic from composer
More informationPartitioning for Better Synthesis Results
3 Partitioning for Better Synthesis Results Learning Objectives After completing this lab, you should be able to: Use the group and ungroup commands to repartition a design within Design Analyzer Analyze
More informationVerilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering VERILOG FUNDAMENTALS HDLs HISTORY HOW FPGA & VERILOG ARE RELATED CODING IN VERILOG HDLs HISTORY HDL HARDWARE DESCRIPTION LANGUAGE
More informationECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation
ECE 4514 Digital Design II Lecture 20: Timing Analysis and Timed Simulation A Tools/Methods Lecture Topics Static and Dynamic Timing Analysis Static Timing Analysis Delay Model Path Delay False Paths Timing
More informationLab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog
Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work
More informationDigital Design with FPGAs. By Neeraj Kulkarni
Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic
More informationSynthesizable Verilog
Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL
More informationLogic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis
Logic Synthesis Verilog and VHDL started out as simulation languages, but quickly people wrote programs to automatically convert Verilog code into low-level circuit descriptions (netlists). EECS150 - Digital
More informationNikhil Gupta. FPGA Challenge Takneek 2012
Nikhil Gupta FPGA Challenge Takneek 2012 RECAP FPGA Field Programmable Gate Array Matrix of logic gates Can be configured in any way by the user Codes for FPGA are executed in parallel Configured using
More informationAssignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture
Assignment Last time Project 4: Using synthesis tools Synplify Pro and Webpack Due 11/11 ning of class Generics Used to parameterize models E.g., Delay, bit width Configurations Configuration specification
More informationDigital System Design Lecture 2: Design. Amir Masoud Gharehbaghi
Digital System Design Lecture 2: Design Amir Masoud Gharehbaghi amgh@mehr.sharif.edu Table of Contents Design Methodologies Overview of IC Design Flow Hardware Description Languages Brief History of HDLs
More information18. Synopsys Formality Support
18. Synopsys Formality Support QII53015-7.2.0 Introduction Formal verification of FPGA designs is gaining momentum as multi-million System-on-a-Chip (SoC) designs are targeted at FPGAs. Use the Formality
More informationModule 4. Design of Embedded Processors. Version 2 EE IIT, Kharagpur 1
Module 4 Design of Embedded Processors Version 2 EE IIT, Kharagpur 1 Lesson 23 Introduction to Hardware Description Languages-III Version 2 EE IIT, Kharagpur 2 Instructional Objectives At the end of the
More informationDESIGN STRATEGIES & TOOLS UTILIZED
CHAPTER 7 DESIGN STRATEGIES & TOOLS UTILIZED 7-1. Field Programmable Gate Array The internal architecture of an FPGA consist of several uncommitted logic blocks in which the design is to be encoded. The
More informationCS232 VHDL Lecture. Types
CS232 VHDL Lecture VHSIC Hardware Description Language [VHDL] is a language used to define and describe the behavior of digital circuits. Unlike most other programming languages, VHDL is explicitly parallel.
More informationDigital Design with SystemVerilog
Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?
More informationEE595. Part VII VHDL Synthesis Techniques and Recommendations. EE 595 EDA / ASIC Design Lab
EE595 Part VII VHDL Synthesis Techniques and Recommendations Introduction Synthesis is the translation process from an abstract description of a hardware device into an optimized technology specific gate
More informationCSE140L: Components and Design Techniques for Digital Systems Lab
CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Announcements & Outline Lab 4 due; demo signup times listed on the cse140l site Check
More informationVerilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design
Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is
More informationVerilog Module 1 Introduction and Combinational Logic
Verilog Module 1 Introduction and Combinational Logic Jim Duckworth ECE Department, WPI 1 Module 1 Verilog background 1983: Gateway Design Automation released Verilog HDL Verilog and simulator 1985: Verilog
More informationECE 551: Digital System *
ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 Explicit
More informationOverview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions
Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,
More informationDesign Compiler Interface 8
8 Design Compiler Interface 8 HDL Compiler translates a Verilog circuit description into a GTECH netlist that Design Compiler uses to create an optimized netlist mapped to a specific technology. This chapter
More information271/471 Verilog Tutorial
271/471 Verilog Tutorial Prof. Scott Hauck, last revised 9/15/14 Introduction The following tutorial is inted to get you going quickly in circuit design in Verilog. It isn t a comprehensive guide to System
More information14:332:231 DIGITAL LOGIC DESIGN. Hardware Description Languages
14:332:231 DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering Fall 2013 Lecture #22: Introduction to Verilog Hardware Description Languages Basic idea: Language constructs
More informationHardware Verification Group
Digital Logic Synthesis and Equivalence Checking Tools Tutorial Hardware Verification Group Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada {n ab, h aridh}@encs.concordia.ca
More informationVerilog Overview. Verilog Overview. Simple Example. Simple Example. Simple Example. Simple Example
Verilog Overview Prof. MacDonald Verilog Overview C-Like Language used to describe hardware VHDL is main competitor VHDL is more rigorous and typed VHDL takes longer to write VHDL is used by 5% of USA
More informationCSE140L: Components and Design
CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Grade distribution: 70% Labs 35% Lab 4 30% Lab 3 20% Lab 2 15% Lab 1 30% Final exam
More informationVerilog introduction. Embedded and Ambient Systems Lab
Verilog introduction Embedded and Ambient Systems Lab Purpose of HDL languages Modeling hardware behavior Large part of these languages can only be used for simulation, not for hardware generation (synthesis)
More informationCOE 561 Digital System Design & Synthesis Introduction
1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design
More informationPrimeTime: Introduction to Static Timing Analysis Workshop
i-1 PrimeTime: Introduction to Static Timing Analysis Workshop Synopsys Customer Education Services 2002 Synopsys, Inc. All Rights Reserved PrimeTime: Introduction to Static 34000-000-S16 Timing Analysis
More informationIntroduction to Verilog HDL. Verilog 1
Introduction to HDL Hardware Description Language (HDL) High-Level Programming Language Special constructs to model microelectronic circuits Describe the operation of a circuit at various levels of abstraction
More informationEECS 270 Verilog Reference: Sequential Logic
1 Introduction EECS 270 Verilog Reference: Sequential Logic In the first few EECS 270 labs, your designs were based solely on combinational logic, which is logic that deps only on its current inputs. However,
More informationENGR 3410: Lab #1 MIPS 32-bit Register File
ENGR 3410: Lab #1 MIPS 32-bit Register File Due: October 12, 2005, beginning of class 1 Introduction The purpose of this lab is to create the first large component of our MIPS-style microprocessor the
More informationN-input EX-NOR gate. N-output inverter. N-input NOR gate
Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It
More informationENGR 3410: MP #1 MIPS 32-bit Register File
ENGR 3410: MP #1 MIPS 32-bit Register File Due: October 12, 2007, 5pm 1 Introduction The purpose of this machine problem is to create the first large component of our MIPS-style microprocessor the register
More informationSunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.
World Class SystemVerilog & UVM Training Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. Cliff Cummings
More informationLSN 1 Digital Design Flow for PLDs
LSN 1 Digital Design Flow for PLDs ECT357 Microprocessors I Department of Engineering Technology LSN 1 Programmable Logic Devices Functionless devices in base form Require programming to operate The logic
More informationAdvanced FPGA Design. Jan Pospíšil, CERN BE-BI-BP ISOTDAQ 2018, Vienna
Advanced FPGA Design Jan Pospíšil, CERN BE-BI-BP j.pospisil@cern.ch ISOTDAQ 2018, Vienna Acknowledgement Manoel Barros Marin (CERN) lecturer of ISOTDAQ-17 Markus Joos (CERN) & other organisers of ISOTDAQ-18
More informationC A R L E T O N U N I V E R S I T Y. FINAL EXAMINATION April Duration: 3 Hours No. of Students: 108
C A R L E T O N U N I V E R S I T Y FINAL EXAMINATION April 2011 Duration: 3 Hours No. of Students: 108 Department Name & Course Number: ELEC 3500 Digital Electronics Course Instructor(s): Ralph Mason
More information