Standard Cell Based Design Flow Using Modelsim, Buildgates, and Silicon Ensemble
|
|
- Laureen Day
- 5 years ago
- Views:
Transcription
1 Arifur Rahman, Spring 2004, Polytechnic University, NY Standard Cell Based Design Flow Using Modelsim, Buildgates, and Silicon Ensemble Mapped Netlist Back Annotation using SDF File and mapped netlist RTL Based Design (Verilog/VHDL) Verification in Modelsim Synthesis in Buildgates Required Library Files: Alf file (IBM_CU11_SC.adb and IBM_CU11_IO.adb) Lef file (ibm_6ml_sc.lef) for physical synthesis. IBM_CU11_SC.sym file in user s home directory Timing Verification. Area, power, and performance optimization. Generation of DEF file for (placement and) routing in SE or PKS_Shell. Generation of mapped netlist for post-synthesis verification. Generation of SDF file for back annotation Placement and Routing in Silicon Ensemble or PKS_Shell Required Library Files: *lef file, *def file, etc. Timing constraint file for timing driven P&R, mapped HDL file for P&R from HDL GDSII
2 Documentation on Buildgates and Silicon Ensemble [The purpose of this document is to help you get started with logic synthesis using standard cells and perform post synthesis verification, timing verification, placement, and routing. It is assumed that you are familiar with RTL-level verification using Modelsim] Some example files for standard cell based synthesis are provided in /opt/cadence/local/el644/ibm_library/ directory. p_adder.v contains RTL-level description of the adder we would like to synthesize. ibm_5lm_sc.lef is the 5-metal layer physical design library associated with the standard cells, and *tcl is the script file for synthesis in pks_shell. For logic synthesis, we can use either physically-driven (pks_shell) or non physically-driven (bgx_shell) synthesis. Some of the commands used in the *tcl file (such as read_lef,,, etc.) are suitable for pks_shell only and should be commented out for bgx_shell based synthesis. Generally, before you try to synthesize your RTL code (vhdl/verilog) in Buildgates (pks_shell or bgx_shell), it is assumed that your design has been verified in Modelsim. Let's assume we have verified our design, p_adder.v, and we would like to synthesize it. First, we perform synthesis using Buildgate Extreme, bgx_shell, without providing any information about the design's physical placement. During synthesis, we will generate a mapped netlist using do_optimize command (included in the *tcl file). The mapped netlist will consist of specific logic cells that are available in the library, IBM_CU11, which has been specified in the *tcl file. This mapped netlist needs to be verified in Modelsim for correct functionality. Conventional approach to pre- and post-synthesis verification can be summarized in the following block diagram: Input Test Vectors Pre-Synthesis RTL Code Post-Synthesis RTL Code Comparison of Expected Output Different Outputs. Debugging of RTL code and re-synthesis Identical Outputs. Verification is complete In addition of correct functionality of the mapped netlist, we need to make sure setup and hold time requirements are met for specific clock frequency. If timing violation persists, optimization at algorithmic and synthesis level can be performed. After we are confident that our design is functionally correct, we can perform a physically-driven synthesis using pks_shell, followed by routing. We could have performed physically driven synthesis (using pks_shell) to begin with instead of non-physically driven synthesis (using bgx_shell). However, it (physically driven synthesis) takes relatively long time and if our initial design is not functionally correct or requires optimization, there is inefficient use of design time and resources. In sub-micron technologies, where interconnect delay is significant, pks_shell based synthesis provides placement information during synthesis. As a result, the assumptions on wiring delays are more accurate compared to non-physically driven synthesis. So, it is recommended that bgx_shell based synthesis be followed by pks_shell based synthesis for timing accuracy and to generate a placed netlist (*.def file). If you don t meet timing constraints, you can perform optimization at algorithm, synthesis, and physical design levels. Please, consult the BG user manual for detailed descriptions on such techniques. Once you have completed physically driven synthesis in BG, you can generate an SDF file (using the command write_sdf in Buildgates), which will capture parasitic RC parameters associated with interconnects. The SDF file can be read into Modelsim for back annotation. Using back-annotated netlist, you can capture logic and interconnect delays, glitches, etc. associated with your design in Modelsim.
3 Before you generate an SDF file from BG (pks_shell), make sure to dissolve all hierarchies in your synthesized netlist. Also, make sure the mapped design, which is used to generate the SDF file is identical to the one being read in Modelsim. In this course, we will perform placement and routing in Silicon Ensemble. At the end of physically driven synthesis in pks_shell, make sure to create a *.def file, using write_def, for your placed design. In SE, the physical design aspects of the library file (*.lef) is read, followed by the physical design file (*.def). Def file contains information about the placement of cells and I/O terminals. In SE, we can define the VDD/VSS distribution wires and make changes to the *.def file if necessary. These steps are followed by the routing process. If you don t want to use SE, routing can also be performed in BG. After routing, you can generate parasitic RC files from BG/SE that can be read in Modelsim to create back-annotated netlsit. To view the metal layers correctly in SE, you need to initialize their settings. In /opt/cadence/local/el644/ibm_library/ directory, there is a file called sample.mac. Execute this file from SE, and it will set the layer colors correctly. You can save your final layout as an *.hpgl file so that it can be read during another session in SE. There are several freely available software tools that can be downloaded from the web to convert *.hpgl to *.pdf or other formats in case you like to incorporate your in *.ppt slide or a report. The Modelsim tutorial is available in /eeweb.poly.edu/cad/. This year, instead of vtlib, we will be using IBM's library. Please read the relevant tutorials on BG and SE available on /opt/cadence/local/el644/synthesis/ (BG51) and (SE) to learn more about synthesis, placement, routing, HDL modeling, low-power synthesis, clock tree generation, etc. Here are some useful commands for BG and SE Buildgates bgx_shell -gui & [invokes BG Extreme] pks_shell -gui & [invokes BG PKS] While in bgx_shell or pks_shell, source <filename.tcl> executes all the commands in filename.tcl. Read the p_adder.tcl file to become familiar with commonly used commands for logic synthesis in BG Synthesis do_optimize command, invoked from BG design environment, does the following: unification, constant propagation, structuring, redundancy removal, resizing, buffering, cloning, area reclaim, fixing design rule violation, resource sharing, scan connection, power sleep-mode option, etc. To speed up the synthesis process, one can stop after the mapping using do_optimize -stop_after_mapping... this way, some of the optimization steps will be skipped. If you have a large design, first, you may want to do a simple mapping,
4 followed by functional verification. Then you perform incremental optimization. To optimize a group of objects/path one can use set_path_group command To view timing report on path groups, use report_path_group_timing Definitions of Multiple Clocks set_path_group -name 200MHz -to_clock slow_clk1 set_path_group -name 400MHz -to_clock slow_clk2 Optimization With Desired Margin: Using -target_slack one can specify which slack values should be critical. A negative value can be specified to make the tool stop early, a positive value makes the tool optimize even beyond zero slack Power Optimization In order to perform power optimization, you need to make sure appropriate power models for dynamic and leakage power are included in your standard cell library. Our standard cell library is in *lib format, which is the preferred format for synthesis tools available from Synopsys. In older versions of BG, *lib had to be converted to a different format such as *.adb or *.alf to be readable by BG. However, in newer versions of BG, *.lib files can be read directly using the following commands: read_dotlib <file_core> where <file_core> is /opt/ibm_cu11/v11.0/synthesis/synopsys/ibm_cu11_sc.lib for IBM s standard cell library read_dotlib <file_io> where <file_io> is /opt/ibm_cu11/v11.0/synthesis/synopsys/ibm_cu11_io.lib for IBM s I/O library Buildgates can perform various types of optimization for low-power using clock gating, gate-level optimization, sleep mode operation, etc. Please consult the low-power PKS synthesis guide for more information. To estimate power dissipation or to quantify the savings in power dissipation associated with low-power design techniques, it is important to estimate power dissipation accurately. If there is no activity information, 50% activity factor at the input terminals is assumed and the resulting calculation of dynamic power dissipation may not be very accurate. To model activity factor accurately, an activity file (*.vcd) can be created in Modelsim for a set of input test vectors. To estimate power dissipation of a synthesized netlist, make sure the identical (synthesized) netlist has been used in Modelsim to generate the activity file. Once the activity file has been generated, it should be read in BG, followed by estimation of power dissipation. A method for creating *.vcd file is presented at the end of this document.
5 do_optimize -clock_gate [useful for clock gating] do_xform_optimzie_power [synthesis for low power] Hold Time Violation Set PVT conditions using set_global_pvt_early_path min. i.e. minimum path delay will be considered. Now use do_xform_fix_hold do_xform_fix_hold -minimize to fix hold time violation with minimal impact on setup time violation Fixing Timing Violation To report 1000 failing timing paths in a design, use report_timing -net -max_points max_slack 0 After figuring out the root cause of timing failure, physical placement of cells may have to be changed. Restructuring of failing paths can be done using do_optimize For Area Reclaim use do_xform_reclaim_area -resize After back annotation of RC values, if timing violation persists, and if you don't want to do any major optimization procedure or reclaim area, you can resize the buffers in critical nets without reclaiming area using do_optimize -ipo Reading extracted RC files read_sdf read_spf or read_spef Silicon Ensemble seultra m=<memory size> & [invokes SE] -m option can be skipped if you want to use the default memory size. For a large design, you may have to increase the memory size. Use seultra help for relevant options. SE can be run in graphical or batch mode. You can also create a *mac file with a list of SE based commands and execute them in batch mode or from SE s GUI. When you run SE, it creates a journal file (*.jnl) that lists all the commands being executed. A simple way is to create a *mac file is to edit your *.jnl file to get rid of unnecessary commands and save it as a *.mac file. If you run SE related commands from the pull down menu, in the lower part of you GUI, you will also find the ASCI version of these commands.
6 Methods for Creating Value Change Dump (VCD) file for estimating power consumption (Kaijie Wu) To create a VCD file, you need to do the following: Synthesize your VHDL code to a mapped netlist using Buildgates o After you run do_optimize in BG (pks_shell), use write_vhdl -hier work_dir/mapped.vhd o Usually, BG will keep the entity name unchanged, e.g. the same as your original VHDL code, and name the new architecture as netlist o After you simulate both original VHDL code and the synthesized (i.e. mapped) code using ModelSim, you will have two architectures under your top entity name in ModelSim s library view, as shown in following screenshot. A VCD file is generated based on simulating the netlist architecture. If you are not sure how to select netlist architecture, you can delete the other architecture by selecting it in ModelSim and pressing delete button Make sure the entity name of your VHDL netlist is in lower case. The ModelSim simulator is case sensitive Prepare a testbench file of your top entity or provide a do file that specifies the values for inputs Figure 1. Screenshot of Modelsim s graphical interface Here is a *.tcl file for simulation and generation of the *.vcd file.
7 vsim work.your_top_entity vcd file give_a_name.vcd # here you create an empty *.vcd file vcd add / your_top_entity/* view wave add wave -r /* run 1000ns quit f # finish recording and close the *.vcd file Now a give_a_name.vcd file is created. It is a text file and you can open it to see its content. Usually, an easy way to figure out if you have a correct file is to check if all signals in your netlist architecture, not only the signal you defined but also the signals created by the synthesis tool such as BG, are recorded in the VCD file. In the following example of a VCD file, the inputs and outputs, named by you, are included. It also includes some other node names, which are generated by the synthesis tool. Example of a VCD File $date Wed Apr 14 20:23: $end $version ModelSim Version 5.7a $end $timescale 1ns $end $scope module tb_des_enc $end $scope module dut $end $var wire 1! rst $end $var wire 1 " clk $end $var wire 1 # enc_input [63] $end $var wire 1 $ enc_input [62] $end $var wire 1 % enc_input [61] $end $var wire 1 & enc_input [60] $end $var wire 1 ' enc_input [59] $end $var wire 1 ( enc_input [58] $end $var wire 1 ) enc_input [57] $end $var wire 1 E! n_3083 $end $var wire 1 F! n_3080 $end $var wire 1 G! n_2872 $end $var wire 1 H! n_2870 $end $var wire 1 I! n_2868 $end $var wire 1 J! n_2866 $end $var wire 1 K! n_2864 $end $var wire 1 L! n_2862 $end $var wire 1 M! n_2860 $end $var wire 1 N! n_2859 $end $var wire 1 O! n_2855 $end $var wire 1 P! n_2854 $end
8 $var wire 1 Q! n_2851 $end $var wire 1 R! n_2847 $end $var wire 1 S! n_2845 $end $var wire 1 T! n_2843 $end $var wire 1 U! n_2841 $end $var wire 1 V! n_2839 $end Once the VCD file is generated, switch back to BG (pks_shell or bgx_shell) and run the following command: lpsvcd2tcf.exe <your_top_entity_name> <your_vcd_file_name> output_file <your_tcf_file_name> When you run this command in BG, make sure to comply with the following guideline to define <your_top_entity_name>: First, top entity of your netlist should be set as the top module If you use a do file to provide the stimulus in Modelisim, your <your_top_entity_name> is probably the same as the top module name However, if you use a test bench to generate the stimulus and you instantiate your design as a component called dut within your test bench [ dut: top_entity_name port map (x, y, z, )] <your_top_entity_name> should be the instance name dut instead of your top entity name. I have created a test bench, tb_des_enc, and the instance name of my design is dut (usually, indicating design under test), as shown in the bold line of the VCD file. So, I need to use dut as my <your_top_entity_name> in BG, instead of tb_des_enc
ASIC Design Methodology using Cadence SP&R Flow
ASIC Design Methodology using Cadence SP&R Flow (Information about PKS-SE and ASIC design flow borrowed from Cadence documents.) 1 ASIC Design Methodology The tasks involved in ASIC design are usually
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 informationActel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial
Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification
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 informationEE 361L Digital Systems and Computer Design Laboratory
University of Hawaii Department of Electrical Engineering EE 361L Digital Systems and Computer Design Laboratory Timing Simulation Version 1.0 10/10/2003 This document is a quick tutorial on performing
More informationAccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall
AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall 2009-10 AccelDSP Getting Started Tutorial Introduction This tutorial exercise will guide you through the process of
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 informationTiming Analysis in Xilinx ISE
Timing Analysis in Xilinx ISE For each design which is to be implemented, constraints should be defined to get predictable results. The first important class of constraints was already introduced in the
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 informationCell-Based Design Flow. TA : 吳廸優
Cell-Based Design Flow TA : 吳廸優 dywu@viplab.cs.nctu.edu.tw 1 Outline Overview Design Flow Stage 1 RTL Development Synthesis Gate Level Simulation Design Flow Stage 2 Placement and Routing Post Layout Simulation
More informationSynthesis and APR Tools Tutorial
Synthesis and APR Tools Tutorial (Last updated: Oct. 26, 2008) Introduction This tutorial will get you familiarized with the design flow of synthesizing and place and routing a Verilog module. All the
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 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 informationThe IIT standard cell library Version 2.1
The IIT standard cell library Version 2.1 Highlights - Support for AMI 0.35um library, including pads - Added Primetime and Pathmill support to IIT ASIC Flow - Support for stacked vias (for Virtuoso and
More informationEE 330 Laboratory Experiment Number 11
EE 330 Laboratory Experiment Number 11 Design and Simulation of Digital Circuits using Hardware Description Languages Fall 2017 Contents Purpose:... 3 Background... 3 Part 1: Inverter... 4 1.1 Simulating
More informationSystem-on-Chip Design for Wireless Communications
System-on-Chip Design for Wireless Communications Stamenkovic, Zoran Frankfurt (Oder), Germany, February 9-10, 2016 DFG-Workshop on Advanced Wireless Sensor Networks Agenda 1 Wireless Systems (Hardware/Software
More informationTop-down digital design flow
6 Dec 2005 Top-down digital design flow EDA tools: Modelsim, Synopsys Design Compiler, Cadence Encounter Alain Vachoux Microelectronic Systems Lab STI-IMM-LSM alain.vachoux@epfl.ch version 3.0.2 / 6 Dec
More informationApplications Note. HDL Simulation FPGA Design Methodology. October 15, Revision 1.0
Applications Note HDL Simulation FPGA Design Methodology October 15, 1998 Revision 1.0 OVERVIEW... 3 MODEL TECHNOLOGY, EXEMPLAR & XILINX TOOLFLOW OVERVIEW... 3 SYNTHESIS PROCESS DESIGN FLOW... 4 EXAMPLE
More informationEECS 627, Lab Assignment 2
EECS 627, Lab Assignment 2 1 Introduction In this lab assignment, you will extend the process of designing your multiplier chip. You will add two more blocks (a pseudo-random test pattern generator and
More informationBits and Pieces of CS250 s Toolflow
Bits and Pieces of CS250 s Toolflow CS250 Tutorial 2 (Version 092509a) September 25, 2009 Yunsup Lee In this tutorial you will learn what each VLSI tools used in class are meant to do, how they flow, file
More informationLogic Synthesis. Logic Synthesis. Gate-Level Optimization. Logic Synthesis Flow. Logic Synthesis. = Translation+ Optimization+ Mapping
Logic Synthesis Logic Synthesis = Translation+ Optimization+ Mapping Logic Synthesis 2 Gate-Level Optimization Logic Synthesis Flow 3 4 Design Compiler Procedure Logic Synthesis Input/Output 5 6 Design
More informationVHDL VITAL. Simulation Guide For Libero SoC v11.8
VHDL VITAL Simulation Guide For Libero SoC v11.8 VHDL VITAL Simulation Guide Table of Contents Introduction...................................................................... 3 Document Assumptions......................................................................
More informationHOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER
HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER This tutorial explains how to synthesize a verilog code using RTL Compiler. In order to do so, let s consider the verilog codes below. CNT_16 Module: 16
More informationEECS 151/251A ASIC Lab 6: Power and Timing Verification
EECS 151/251A ASIC Lab 6: Power and Timing Verification Written by Nathan Narevsky (2014,2017) and Brian Zimmer (2014) Modified by John Wright (2015,2016), Ali Moin (2017) and Taehwan Kim (2018) Overview
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 informationSmartTime for Libero SoC v11.5
SmartTime for Libero SoC v11.5 User s Guide NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point to external files and generate an error
More informationBits and Pieces of CS250 s Toolflow
Bits and Pieces of CS250 s Toolflow CS250 Tutorial 2 (Version 091210a) September 12, 2010 Yunsup Lee In this tutorial you will learn what each VLSI tools used in class are meant to do, how they flow, file
More informationDefinitions. Key Objectives
CHAPTER 2 Definitions Key Objectives & Types of models & & Black box versus white box Definition of a test Functional verification requires that several elements are in place. It relies on the ability
More informationCell-Based IC Physical Design & Verification SOC Encounter. Advisor : 李昆忠 Presenter : 蕭智元
Cell-Based IC Physical Design & Verification SOC Encounter Advisor : 李昆忠 Presenter : 蕭智元 Reference: SOC Encounter Training Manual, 2007, edited by CIC. Introduction We ll use some EDA tools to transform
More informationDesign Flow Tutorial
Digital Design LU Design Flow Tutorial Jakob Lechner, Thomas Polzer {lechner, tpolzer}@ecs.tuwien.ac.at Department of Computer Engineering University of Technology Vienna Vienna, October 8, 2010 Contents
More information2. Mentor Graphics ModelSim and QuestaSim Support
November 2012 QII53001-12.1.0 2. Mentor Graphics ModelSim and QuestaSim Support QII53001-12.1.0 This chapter provides specific guidelines for simulation of Quartus II designs with Mentor Graphics ModelSim-Altera,
More informationSystemC-to-Layout ASIC Flow Walkthrough
SystemC-to-Layout ASIC Flow Walkthrough 20.6.2015 Running the Demo You can execute the flow automatically by executing the csh shell script: csh run_asic_demo.csh The script runs all tools in a sequence.
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 informationPhysical Placement with Cadence SoCEncounter 7.1
Physical Placement with Cadence SoCEncounter 7.1 Joachim Rodrigues Department of Electrical and Information Technology Lund University Lund, Sweden November 2008 Address for correspondence: Joachim Rodrigues
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 informationTRILOBYTE SYSTEMS. Consistent Timing Constraints with PrimeTime. Steve Golson Trilobyte Systems.
TRILOBYTE SYSTEMS Consistent Timing Constraints with PrimeTime Steve Golson Trilobyte Systems http://www.trilobyte.com 2 Physical implementation Rule #1 Do not change the functionality Rule #2 Meet the
More informationIntroduction to STA using PT
Introduction to STA using PT Learning Objectives Given the design, library and script files, your task will be to successfully perform STA using the PrimeTime GUI and generate reports. After completing
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 informationVerilog Design Entry, Synthesis, and Behavioral Simulation
------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize
More informationQuick Tutorial for Quartus II & ModelSim Altera
Quick Tutorial for Quartus II & ModelSim Altera By Ziqiang Patrick Huang Hudson 213c Ziqiang.huang@duke.edu Download & Installation For Windows or Linux users : Download Quartus II Web Edition v13.0 (ModelSim
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 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 informationLab 3 Verilog Simulation Mapping
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences 1. Motivation Lab 3 Verilog Simulation Mapping In this lab you will learn how to use
More informationISE Design Suite Software Manuals and Help
ISE Design Suite Software Manuals and Help These documents support the Xilinx ISE Design Suite. Click a document title on the left to view a document, or click a design step in the following figure to
More informationDigital Design Methodology (Revisited) Design Methodology: Big Picture
Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology
More informationTKT-1212 Digitaalijärjestelmien toteutus. Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008
TKT-1212 Digitaalijärjestelmien toteutus Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008 Contents Purpose of test benches Structure of simple test bench Side note about delay modeling in VHDL
More informationEE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab
EE595 Part VIII Overall Concept on VHDL VHDL is a Standard Language Standard in the electronic design community. VHDL will virtually guarantee that you will not have to throw away and re-capture design
More informationEECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review
EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Feb 9, 2010 John Wawrzynek Spring 2010 EECS150 - Lec7-CAD2 Page 1 Finite State Machine Review State Transition
More informationDigital Design Methodology
Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification
More informationEE-382M VLSI II. Early Design Planning: Front End
EE-382M VLSI II Early Design Planning: Front End Mark McDermott EE 382M-8 VLSI-2 Page Foil # 1 1 EDP Objectives Get designers thinking about physical implementation while doing the architecture design.
More informationGetting 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 6 - Logic Simulation. Encoder Example
EECS150 - Digital Design Lecture 6 - Logic Simulation Feb 7, 2013 John Wawrzynek Spring 2013 EECS150 - Lec06-sim Page 1 Encoder Example What is y if x == 4 b1111? always @(x) : encode if (x == 4'b0001)
More informationEE 330 Laboratory Experiment Number 11 Design and Simulation of Digital Circuits using Hardware Description Languages
EE 330 Laboratory Experiment Number 11 Design and Simulation of Digital Circuits using Hardware Description Languages Fall 2015 Purpose: The purpose of this experiment is to develop methods for using Hardware
More informationEE 330 Laboratory Experiment Number 11 Design, Simulation and Layout of Digital Circuits using Hardware Description Languages
EE 330 Laboratory Experiment Number 11 Design, Simulation and Layout of Digital Circuits using Hardware Description Languages Purpose: The purpose of this experiment is to develop methods for using Hardware
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 informationFPGA Design Tutorial
ECE 554 Digital Engineering Laboratory FPGA Design Tutorial Version 5.0 Fall 2006 Updated Tutorial: Jake Adriaens Original Tutorial: Matt King, Surin Kittitornkun and Charles R. Kime Table of Contents
More informationPost-Synthesis Simulation. VITAL Models, SDF Files, Timing Simulation
Post-Synthesis Simulation VITAL Models, SDF Files, Timing Simulation Post-synthesis simulation Purpose: Verify correctness of synthesized circuit Verify synthesis tool delay/timing estimates Synthesis
More informationUniversity of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018
University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS Spring Quarter 2018 LAB 2: FPGA Synthesis and Combinational Logic Design Objective: This lab covers
More informationIntel Quartus Prime Pro Edition User Guide
Intel Quartus Prime Pro Edition User Guide Block-Based Design Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Block-Based Design Flows...
More informationENGR 5865 DIGITAL SYSTEMS
ENGR 5865 DIGITAL SYSTEMS ModelSim Tutorial Manual January 22, 2007 Introduction ModelSim is a CAD tool widely used in the industry for hardware design. This document describes how to edit/add, compile
More informationGenerating Parameterized Modules and IP Cores
Generating Parameterized Modules and IP Cores Table of Contents...3 Module 1: Verilog HDL Design with LPMs Using the Module/IP Manager...4 Task 1: Create a New Project...5 Task 2: Target a Device...7 Task
More informationSynthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB
SYNTHESIS Synthesis Involves synthesizing a gate netlist from verilog source code We use Design Compiler (DC) by Synopsys which is the most popular synthesis tool used in industry Target library examples:
More informationChapter 9: Integration of Full ASIP and its FPGA Implementation
Chapter 9: Integration of Full ASIP and its FPGA Implementation 9.1 Introduction A top-level module has been created for the ASIP in VHDL in which all the blocks have been instantiated at the Register
More informationDigital Design LU. Lab Exercise 1
Digital Design LU Lab Exercise 1 Jakob Lechner, Thomas Polzer {lechner, tpolzer}@ecs.tuwien.ac.at Department of Computer Engineering University of Technology Vienna Vienna, October 4, 2010 1 Overview 1
More informationReference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering
FPGA Fabrics Reference Wayne Wolf, FPGA-Based System Design Pearson Education, 2004 Logic Design Process Combinational logic networks Functionality. Other requirements: Size. Power. Primary inputs Performance.
More informationCell-Based Design Flow. 林丞蔚
Cell-Based Design Flow 林丞蔚 cultom@viplab.cs.nctu.edu.tw 1 Outline Overview Design Flow 1 RTL Development Synthesis Gate Level Simulation Design Flow 2 Placement and Routing Example Design IC Contest 2006
More informationCase study of Mixed Signal Design Flow
IOSR Journal of VLSI and Signal Processing (IOSR-JVSP) Volume 6, Issue 3, Ver. II (May. -Jun. 2016), PP 49-53 e-issn: 2319 4200, p-issn No. : 2319 4197 www.iosrjournals.org Case study of Mixed Signal Design
More informationADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts
1 ADVANCED DIGITAL IC DESIGN (SESSION 6) Digital Verification Basic Concepts Need for Verification 2 Exponential increase in the complexity of ASIC implies need for sophisticated verification methods to
More informationAn overview of standard cell based digital VLSI design
An overview of standard cell based digital VLSI design Implementation of the first generation AsAP processor Zhiyi Yu and Tinoosh Mohsenin VCL Laboratory UC Davis Outline Overview of standard cellbased
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 informationCPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim
CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim Purpose Define logic expressions in Verilog using register transfer level (RTL) and structural models. Use Quartus II to
More informationProASIC PLUS FPGA Family
ProASIC PLUS FPGA Family Key Features Reprogrammable /Nonvolatile Flash Technology Low Power Secure Single Chip/Live at Power Up 1M Equivalent System Gates Cost Effective ASIC Alternative ASIC Design Flow
More informationTutorial for Cadence SOC Encounter Place & Route
Tutorial for Cadence SOC Encounter Place & Route For Encounter RTL-to-GDSII System 13.15 T. Manikas, Southern Methodist University, 3/9/15 Contents 1 Preliminary Setup... 1 1.1 Helpful Hints... 1 2 Starting
More informationHierarchical Design Using Synopsys and Xilinx FPGAs
White Paper: FPGA Design Tools WP386 (v1.0) February 15, 2011 Hierarchical Design Using Synopsys and Xilinx FPGAs By: Kate Kelley Xilinx FPGAs offer up to two million logic cells currently, and they continue
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 informationAdvance Manual ECO by Gates On the Fly
Advance Manual ECO by Gates On the Fly Table of Contents Abstract... 1 Preparation... 1 GUI mode... 1 Configure the database... 2 Find the equivalent nets in GUI... 2 ECO in GUI mode... 5 ECO in script
More informationE85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design
E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design Objective The purpose of this lab is to learn to use Field Programmable Gate Array (FPGA) tools to simulate
More informationTutorial for Encounter
Tutorial for Encounter STEP 1: Login to the Linux system on Linuxlab server. Start a terminal (the shell prompt). (If you don t know how to login to Linuxlab server, look at here) Click here to open a
More informationIP Module Evaluation Tutorial
isplevercore TM IP Module Evaluation Tutorial Table Of Contents Getting Started... 2 Other Tutorial Versions and Formats... 2 Supported Technologies... 2 Tutorial Location... 2 Directory Path Description...
More informationRTL Synthesis using Design Compiler. Dr Basel Halak
RTL Synthesis using Design Compiler Dr Basel Halak Learning Outcomes: After completing this unit, you should be able to: 1. Set up the DC RTL Synthesis Software and run synthesis tasks 2. Synthesize a
More informationAccuCore STA DSPF Backannotation Timing Verification Design Flow
Application Note AccuCore STA DSPF Backannotation Timing Verification Design Flow Abstract This application note highlights when and why DSPF backannotation is needed during timing verification, and details
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 informationECE U530 Digital Hardware Synthesis. Programming Assignments
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu Sept 11, 2006 Lecture 2: CAD TOOLS: Xilinx and Modelsim Levels of Design VHDL Introduction ECE U530 F06 Programming Assignments All
More informationLecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration
TKT-1426 Digital design for FPGA, 6cp Fall 2011 http://www.tkt.cs.tut.fi/kurssit/1426/ Tampere University of Technology Department of Computer Systems Waqar Hussain Lecture Contents Lecture 1: Introduction
More informationBlock-Based Design User Guide
Block-Based Design User Guide Intel Quartus Prime Pro Edition Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Block-Based
More informationGUIDELINES FOR USE SMIC 0.18 micron, 1.8 V high-density synchronous single port SRAM IP blocks compiler
GUIDELINES FOR USE SMIC 0.18 micron, 1.8 V high-density synchronous single port SRAM IP blocks compiler Ver. 1.0 November 2010 www.ntlab.com CONTENT 1. DESCRIPTION OF THE COMPILER... 3 1.1 GENERAL CHARACTERISTICS
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 informationIterative-Constructive Standard Cell Placer for High Speed and Low Power
Iterative-Constructive Standard Cell Placer for High Speed and Low Power Sungjae Kim and Eugene Shragowitz Department of Computer Science and Engineering University of Minnesota, Minneapolis, MN 55455
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 informationIntel Quartus Prime Standard Edition Handbook Volume 3
Intel Quartus Prime Standard Edition Handbook Volume 3 Verification Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1.
More informationAn Overview of Standard Cell Based Digital VLSI Design
An Overview of Standard Cell Based Digital VLSI Design With examples taken from the implementation of the 36-core AsAP1 chip and the 1000-core KiloCore chip Zhiyi Yu, Tinoosh Mohsenin, Aaron Stillmaker,
More informationLaboratory ELEC
Laboratory ELEC 4708 2003 1.0 Design of an Integrated Multiplier This is a sample design done by Gord Allan. The design is a two s complement multiplier. Gord s files allow a choice of two cell libraries
More informationXilinx ChipScope ICON/VIO/ILA Tutorial
Xilinx ChipScope ICON/VIO/ILA Tutorial The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to capture input and output directly from the FPGA hardware. These
More informationPlanAhead Release Notes
PlanAhead Release Notes What s New in the 11.1 Release UG656(v 11.1.0) April 27, 2009 PlanAhead 11.1 Release Notes Page 1 Table of Contents What s New in the PlanAhead 11.1 Release... 4 Device Support...
More informationVivado Design Suite User Guide
Vivado Design Suite User Guide Design Flows Overview Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To
More informationECE 459/559 Secure & Trustworthy Computer Hardware Design
ECE 459/559 Secure & Trustworthy Computer Hardware Design VLSI Design Basics Garrett S. Rose Spring 2016 Recap Brief overview of VHDL Behavioral VHDL Structural VHDL Simple examples with VHDL Some VHDL
More informationAdvanced module: Video en/decoder on Virtex 5
Advanced module: Video en/decoder on Virtex 5 Content 1. Advanced module: Video en/decoder on Virtex 5... 2 1.1. Introduction to the lab environment... 3 1.1.1. Remote control... 4 1.2. Getting started
More informationUCLA 3D research started in 2002 under DARPA with CFDRC
Coping with Vertical Interconnect Bottleneck Jason Cong UCLA Computer Science Department cong@cs.ucla.edu http://cadlab.cs.ucla.edu/ cs edu/~cong Outline Lessons learned Research challenges and opportunities
More informationENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim
ENGN 1630 Fall 2018 Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim You will use the Xilinx ISim simulation software for the required timing simulation of the XC9572XL CPLD programmable
More informationUnit 2: High-Level Synthesis
Course contents Unit 2: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 2 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis
More information