Standard Cell Based Design Flow Using Modelsim, Buildgates, and Silicon Ensemble

Size: px
Start display at page:

Download "Standard Cell Based Design Flow Using Modelsim, Buildgates, and Silicon Ensemble"

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 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 information

101-1 Under-Graduate Project Digital IC Design Flow

101-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 information

Actel 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 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 information

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Overview. 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 information

EE 361L Digital Systems and Computer Design Laboratory

EE 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 information

AccelDSP 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 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 information

A. Setting Up the Environment a. ~/ece394 % mkdir synopsys b.

A. 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 information

Timing Analysis in Xilinx ISE

Timing 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 information

PrimeTime: Introduction to Static Timing Analysis Workshop

PrimeTime: 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 information

Cell-Based Design Flow. TA : 吳廸優

Cell-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 information

Synthesis and APR Tools Tutorial

Synthesis 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 information

Lecture 11 Logic Synthesis, Part 2

Lecture 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 information

Don t expect to be able to write and debug your code during the lab session.

Don 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 information

The IIT standard cell library Version 2.1

The 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 information

EE 330 Laboratory Experiment Number 11

EE 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 information

System-on-Chip Design for Wireless Communications

System-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 information

Top-down digital design flow

Top-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 information

Applications Note. HDL Simulation FPGA Design Methodology. October 15, Revision 1.0

Applications 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 information

EECS 627, Lab Assignment 2

EECS 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 information

Bits and Pieces of CS250 s Toolflow

Bits 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 information

Logic Synthesis. Logic Synthesis. Gate-Level Optimization. Logic Synthesis Flow. Logic Synthesis. = Translation+ Optimization+ Mapping

Logic 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 information

VHDL VITAL. Simulation Guide For Libero SoC v11.8

VHDL 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 information

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER

HOW 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 information

EECS 151/251A ASIC Lab 6: Power and Timing Verification

EECS 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 information

Setup file.synopsys_dc.setup

Setup 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 information

SmartTime for Libero SoC v11.5

SmartTime 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 information

Bits and Pieces of CS250 s Toolflow

Bits 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 information

Definitions. Key Objectives

Definitions. 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 information

Cell-Based IC Physical Design & Verification SOC Encounter. Advisor : 李昆忠 Presenter : 蕭智元

Cell-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 information

Design Flow Tutorial

Design 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 information

2. Mentor Graphics ModelSim and QuestaSim Support

2. 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 information

SystemC-to-Layout ASIC Flow Walkthrough

SystemC-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 information

CS/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) 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 information

Physical Placement with Cadence SoCEncounter 7.1

Physical 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 information

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation

ECE 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 information

TRILOBYTE SYSTEMS. Consistent Timing Constraints with PrimeTime. Steve Golson Trilobyte Systems.

TRILOBYTE 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 information

Introduction to STA using PT

Introduction 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 information

Hardware Verification Group. Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada. CAD Tool Tutorial.

Hardware 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 information

Verilog Design Entry, Synthesis, and Behavioral Simulation

Verilog 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 information

Quick Tutorial for Quartus II & ModelSim Altera

Quick 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 information

DESIGN STRATEGIES & TOOLS UTILIZED

DESIGN 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 information

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.

Spiral 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 information

Lab 3 Verilog Simulation Mapping

Lab 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 information

ISE Design Suite Software Manuals and Help

ISE 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 information

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Digital 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 information

TKT-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 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 information

EE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab

EE595. 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 information

EECS150 - 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) 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 information

Digital Design Methodology

Digital 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 information

EE-382M VLSI II. Early Design Planning: Front End

EE-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 information

Getting a Quick Start 2

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 information

EECS150 - Digital Design Lecture 6 - Logic Simulation. Encoder Example

EECS150 - 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 information

EE 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 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 information

EE 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 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 information

Hardware 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 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 information

FPGA Design Tutorial

FPGA 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 information

Post-Synthesis Simulation. VITAL Models, SDF Files, Timing Simulation

Post-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 information

University 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 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 information

Intel Quartus Prime Pro Edition User Guide

Intel 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 information

ENGR 5865 DIGITAL SYSTEMS

ENGR 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 information

Generating Parameterized Modules and IP Cores

Generating 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 information

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB

Synthesis. 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 information

Chapter 9: Integration of Full ASIP and its FPGA Implementation

Chapter 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 information

Digital Design LU. Lab Exercise 1

Digital 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 information

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Reference. 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 information

Cell-Based Design Flow. 林丞蔚

Cell-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 information

Case study of Mixed Signal Design Flow

Case 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 information

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts

ADVANCED 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 information

An overview of standard cell based digital VLSI design

An 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 information

Advanced FPGA Design. Jan Pospíšil, CERN BE-BI-BP ISOTDAQ 2018, Vienna

Advanced 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 information

CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim

CPEN 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 information

ProASIC PLUS FPGA Family

ProASIC 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 information

Tutorial for Cadence SOC Encounter Place & Route

Tutorial 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 information

Hierarchical Design Using Synopsys and Xilinx FPGAs

Hierarchical 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 information

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification

EE 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 information

Advance Manual ECO by Gates On the Fly

Advance 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 information

E85: 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 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 information

Tutorial for Encounter

Tutorial 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 information

IP Module Evaluation Tutorial

IP 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 information

RTL Synthesis using Design Compiler. Dr Basel Halak

RTL 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 information

AccuCore STA DSPF Backannotation Timing Verification Design Flow

AccuCore 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 information

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

TOPIC : 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 information

ECE U530 Digital Hardware Synthesis. Programming Assignments

ECE 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 information

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

Lecture 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 information

Block-Based Design User Guide

Block-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 information

GUIDELINES 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 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 information

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL 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 information

Iterative-Constructive Standard Cell Placer for High Speed and Low Power

Iterative-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 information

Laboratory 5. - Using Design Compiler for Synthesis. By Mulong Li, 2013

Laboratory 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 information

Intel Quartus Prime Standard Edition Handbook Volume 3

Intel 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 information

An Overview of Standard Cell Based Digital VLSI Design

An 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 information

Laboratory ELEC

Laboratory 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 information

Xilinx ChipScope ICON/VIO/ILA Tutorial

Xilinx 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 information

PlanAhead Release Notes

PlanAhead 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 information

Vivado Design Suite User Guide

Vivado 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 information

ECE 459/559 Secure & Trustworthy Computer Hardware Design

ECE 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 information

Advanced module: Video en/decoder on Virtex 5

Advanced 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 information

UCLA 3D research started in 2002 under DARPA with CFDRC

UCLA 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 information

ENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim

ENGN 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 information

Unit 2: High-Level Synthesis

Unit 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