Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers

Size: px
Start display at page:

Download "Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers"

Transcription

1 Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers 2008

2 Table of Contents Introduction... 3 Steps Taken and Simulation... 3 Pitfalls... 8 Simulated Delay... 9 APPENDIX A Synthesized Pipelined MIPS CPU APPENDIX B Pipelined MIPS CPU On-Die Representation APPENDIX C Encounter Configuration File APPENDIX D Synthesis Configuration Code APPENDIX E Pipelined MIPS CPU Verilog Code

3 Introduction This project involved the creation of an on-die representation of a pipelined MIPS CPU from code acquisition to synthesis to final die layout. Although we have had experience with ModelSIM and writing Verilog from other projects during this term, many of the tools required to complete the synthesis and on-die representation were completely new to us. We will explain all the steps taken to reach the final representation, how we simulated our pipelined CPU, the pitfalls we encountered and how we overcame them, and we will explain how we simulated the delay and what those delay values were. Steps Taken and Simulation 1. If you haven t already, create a test bench for your verilog code. 2. Place all of your.v files in the verilog_input folder. 3. Modify the dc_syn file inside of the synthesis folder to include all of your.v files read_verilog../verilog_input/file1.v read_verilog../verilog_input/file2.v 4. Change both of the current_ design parameter to contain the name of your test bench module. Also, make sure your test bench module has a clock input current_design mips_pipeline_testbench 3

4 5. Create a clock in the design: change the create_clock command to have the get_ports parameter to point you your clock register. Ours was named clk. create_clock clk -name cpu_clock -period 5 6. Change the names of the output files to something useful. write -format verilog -hierarchy -output../synthesized_verilog/pipeline_testbench.gate.v write_sdc../synthesized_verilog/pipeline_testbench.sdc 7. Open a terminal, navigate to the synthesis folder, and execute the following command. This starts the Design Vision program and creates gate-level synthesized verilog. If you don t have your current design listed as your test bench thing will go wring and you may or may not get errors. design_vision-xg -f dc_syn 8. After the Design Vision program loads choose Schematic -> New Design Schematic View. If not already selected, make sure your test bench is loaded in the drop-down box at the top of the screen. If you didn t set the current_design parameter correctly your test bench will load as a very small design instead of your whole cpu. 9. After ogling your cool design close Design Vision. 4

5 10. Make sure your gave-level verilog was synthesized correctly by running is in modelsim and verifying identical operation to your original code. It should be located in: synthesized_verilog/[name].gate.v 11. Three reports are generated from the synthesis, an area report, clock report and a delay report; they are placed in the synthesis/reports folder. Verify the clock was asserted correctly to you design by opening the clock report, you should see something like this: Clock Period Waveform Attrs Sources clk 5.00 {0 2.5} {clk} If the clock report looks correct, open the delay report. If it s wrong your test bench or synthesis configuration file are incorrect. The delay report will tell you if your selected clock period will work for the gate simulated gate delays from Design Vision. It should look something like this: Point Incr Path clock clk (rise edge) clock network delay (ideal) dut/wb_memtoreg_reg/ck (DFFTRX1MTH) 0.00 # 0.00 r data required time data required time 4.91 data arrival time slack (MET)

6 12. Change the directory in your shell to the encounter folder. 13. Edit encounter.conf in the encounter folder. 1. Make sure your.lib and.lef are pointed to correctly set rda_input(ui_timelib) "../cell_lib_files/scmetro_cms9flplvt_tt_1p2v_25c.lib" set rda_input(ui_leffile) "../cell_lib_files/lef/cms9flp_8lm_2thick_tech.lef../cell_lib_files/lef/cms9flplvt_m_macros.lef" 2. Make sure your test bench is your top cell! set rda_input(ui_topcell) "mips_pipeline_testbench" 3. Make sure your timing and netlist files are pointed to correctly set rda_input(ui_netlist) "../synthesized_verilog/[name].gate.v" set rda_input(ui_timingcon_file) "../synthesized_verilog/[name].sdc" 14. Run Cadence encounter! We found it in /usr/local/apps/cadence/soc/current/bin/encounter 15. Navigate to Design -> Design Import -> Load and select your encounter.conf file and click OK. You should see a black square with gray horizontal lines on the screen. 6

7 16. Add power rings by navigating to Power -> Power Planning -> Add Rings. Type "VSS VDD" into the "Net(s):" area, specify metal layers and ring width (We used Top/Bottom Metal5 and Left/Right Metal6), and select "center in channel". click update to see what values it is actually going to use. Click OK. 17. Add horizontal power buses by navigating to Route -> Special Route and clicking OK (the default values are usually acceptable). 18. Navigate to Place -> Standard Cells and click OK, this will place all of the standard blocks. This step can take a while so be patient. To make the cells show up by clicking on the "Physical View" button in the top right corner of the screen. 19. Now go to Edit -> Pin Editor and click on your clock(s) in the list of pins and change "USE:" to "CLOCK". 20. Add filler blocks to connect the power rails between the standard cells with Place -> Physical Cells -> Add Filler and click on select. Highlight all fillers and click "add". Then click Close and then click OK. This will add filler blocks, fitting the largest block it can into each hole. 21. To route the blocks run Route -> Nanoroute -> Route with the default options. Sometimes unnecessarily ugly routes will be taken, manually fix these to ensure a clean signal path if you would like. 22. Now run Timing -> Optimize with Post-Route selected. 7

8 23. Verify the layout by running Verify -> Verify Geometry, if there is a violation use Tools -> Violation Browser to see a list of the violations. Also run Verify -> Verify Connectivity to look for unconnected pins. 24. Export your design by running Design -> Save -> GDS/OASIS and specify a name such as counter.gds (the default options are sufficient). Then save the SOC Encounter design with Design -> Save Design As -> SoCE and click OK. Finally, exit SOC Encounter. 25. That s it! you re done! Pitfalls The first pitfall we encountered was simply trying to obtain Verilog source code that we could synthesize and model on-die. We visited opencores.org and viewed all the projects written in Verilog. Not only were there very few projects written in Verilog, but those that initially appeared suitable turned out to have been deleted, or contained notes to the effect there were still bugs to work out. After a couple of hours of searching, we decided to use our existing pipelined MIPS code from the final project. Thus we were able to move on to the synthesis phase. Synthesis is where we ran into the second pitfall. When synthesizing our Verilog code, we discovered that the current_design parameter in the Design View configuration file had to be changed to the name of our pipelined MIPS module. Failing to change that variable caused Design Vision to list all elements of our pipelined MIPS CPU, e.g. the rom32, the forwarding unit, etc., separately and would not combine them into an integrated chip. Apparently the program needed to know hierarchy of all elements of the 8

9 CPU and the current_design parameter serves as the entry point, overview file, of that hierarchy. We ran Design Vision many, many times before discovering this error. After synthesizing our CPU, we ran into a third major pitfall when trying to time the synthesized CPU in Design Vision. We began synthesis by using the pipelined testbench which contained a clock, but did not have a clock as input. When using the testbench, Design Vision said we had no clock and we couldn t time our CPU. We had to have an output Y and input A, then set them equal to each other on the posedge of the clock, along with running our MIPS pipeline module, and with no reset signal. For whatever reason, these changes added a clock to our synthesis and we could time the pipelined CPU. After synthesizing we were able to move on to the on-die representation phase where we encountered only minor, easily remedied issues such as forgetting to check or uncheck a dialog box entry, etc. All these issues were quickly taking care of by rereading the online tutorial. Simulated Delay Following is the report created by Design Vision on simulated delay: **************************************** Report : timing -path full -delay max -max_paths 1 Design : mips_pipeline_testbench Version: X SP2 Date : Fri Dec 12 14:29: **************************************** # A fanout number of 1000 was used for high fanout net computations. Operating Conditions: tt_1p2v_25c Library: scmetro_cms9flp-lvt_tt_1p2v_25c Wire Load Model Mode: top Startpoint: dut/wb_memtoreg_reg (rising edge-triggered flip-flop clocked by clk) Endpoint: dut/mem_zero_reg (rising edge-triggered flip-flop clocked by clk) Path Group: clk 9

10 Path Type: max Point Incr Path clock clk (rise edge) clock network delay (ideal) dut/wb_memtoreg_reg/ck (DFFTRX1MTH) 0.00 # 0.00 r dut/wb_memtoreg_reg/q (DFFTRX1MTH) f U335/Y (BUFX2MTH) f U970/Y (AO22X2MTH) f U258/Y (BUFX4MTH) f U282/Y (AOI22X1MTH) r U278/Y (OAI2BB1X2MTH) f U268/Y (AO22X2MTH) f dut/ex_alu/add_145/u1_2/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_3/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_4/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_5/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_6/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_7/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_8/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_9/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_10/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_11/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_12/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_13/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_14/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_15/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_16/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_17/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_18/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_19/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_20/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_21/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_22/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_23/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_24/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_25/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_26/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_27/co (ADDFX2MTH) f U272/Y (NAND2X1MTH) r U267/Y (NAND3X2MTH) f dut/ex_alu/add_145/u1_29/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_30/co (ADDFX2MTH) f dut/ex_alu/add_145/u1_31/y (XOR3X1MTH) f U251/Y (NAND2X1MTH) r U252/Y (OAI2B11X2MTH) f U269/Y (NOR2XLMTH) r U259/Y (NAND2XLMTH) f U289/Y (NOR2X1MTH) r dut/mem_zero_reg/d (DFFTRX1MTH) r data arrival time 4.90 clock clk (rise edge) clock network delay (ideal) dut/mem_zero_reg/ck (DFFTRX1MTH) r library setup time data required time data required time 4.91 data arrival time slack (MET)

11 APPENDIX A Synthesized Gate Level Pipelined MIPS CPU 11

12 APPENDIX B Pipelined MIPS CPU On-Die Representation 12

13 APPENDIX C Encounter Configuration File ################################################ # # # SOC Encounter Input configuration file # # # ################################################ global rda_input set rda_input(ui_netlist) "../synthesized_verilog/pipeline_testbench.gate.v" set rda_input(ui_timingcon_file) "../synthesized_verilog/pipeline_testbench.sdc" set rda_input(ui_topcell) "mips_pipeline_testbench" set rda_input(ui_netlisttype) {Verilog} set rda_input(ui_ilmlist) {} set rda_input(ui_settop) {1} set rda_input(ui_celllib) {} set rda_input(ui_iolib) {} set rda_input(ui_areaiolib) {} set rda_input(ui_blklib) {} set rda_input(ui_kboxlib) "" set rda_input(ui_timelib) "../cell_lib_files/scmetro_cms9flp-lvt_tt_1p2v_25c.lib" set rda_input(ui_smoddef) {} set rda_input(ui_smoddata) {} set rda_input(ui_dpath) {} set rda_input(ui_tech_file) {} set rda_input(ui_buf_footprint) {BUFX2MTH} set rda_input(ui_delay_footprint) {BUFX2MTH} set rda_input(ui_inv_footprint) {INVX1MTH} set rda_input(ui_leffile) "../cell_lib_files/lef/cms9flp_8lm_2thick_tech.lef../cell_lib_files/lef/cms9flplvt_m_macros.lef" set rda_input(ui_core_cntl) {aspect} set rda_input(ui_aspect_ratio) {1.0} set rda_input(ui_core_util) {0.7} set rda_input(ui_core_height) {} set rda_input(ui_core_width) {} set rda_input(ui_core_to_left) {30} set rda_input(ui_core_to_right) {30} set rda_input(ui_core_to_top) {30} set rda_input(ui_core_to_bottom) {30} set rda_input(ui_max_io_height) {0} set rda_input(ui_row_height) {} set rda_input(ui_ishortrackhalfpitch) {0} set rda_input(ui_isvertrackhalfpitch) {1} set rda_input(ui_ioori) {R180} set rda_input(ui_isorigcenter) {0} set rda_input(ui_exc_net) {} set rda_input(ui_delay_limit) {1000} set rda_input(ui_net_delay) {1000.0ps} set rda_input(ui_net_load) {0.5pf} set rda_input(ui_in_tran_delay) {120.0ps} set rda_input(ui_captbl_file) {} set rda_input(ui_cap_scale) {1.0} set rda_input(ui_xcap_scale) {1.0} set rda_input(ui_res_scale) {1.0} set rda_input(ui_shr_scale) {1.0} set rda_input(ui_time_unit) {none} set rda_input(ui_cap_unit) {} set rda_input(ui_sigstormlib) {} set rda_input(ui_cdb_file) {} set rda_input(ui_echo_file) {} set rda_input(ui_qxtech_file) {} set rda_input(ui_qxlib_file) {} set rda_input(ui_qxconf_file) {} set rda_input(ui_pwrnet) {VDD} set rda_input(ui_gndnet) {VSS} set rda_input(flip_first) {1} 13

14 set rda_input(double_back) {1} set rda_input(assign_buffer) {0} set rda_input(ui_pg_connections) [list \ {PIN:VDD:} \ {PIN:VSS:} \ ] set rda_input(pin:vdd:) {VDD} set rda_input(pin:vss:) {VSS} 14

15 APPENDIX D Synthesis Configuration Code #synopsys synthesis script set hdlin_auto_save_templates true set hdlin_check_no_latch true set hdlin_warn_sens_list true define_name_rules MYrules -map { {{"\\[", "_"}, {"\\]", "_"}} } read_verilog../verilog_input/out.v current_design mips_pipeline_testbench link ##### constraints are below ##### #erase all attributes and constrains from the current design reset_design #set wire loading mode to top #set_wire_load_mode top # Create clock with 5ns period create_clock clk -name clk -period 5 change_names -rules "MYrules" -hierarchy # Compile with completely disolved design compile -ungroup_all # Make sure we are at the top level set current_design mips_pipeline_testbench # Generate area and constraints reports on the optimized design report_area >./reports/area.rpt # Generate timing report for worst case path report_timing >./reports/delay.rpt report_clock >./reports/clock.rpt # Save the compiled design write -format verilog -hierarchy -output../synthesized_verilog/pipeline_testbench.gate.v write_sdc../synthesized_verilog/pipeline_testbench.sdc

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

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

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

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

Laboratory 6. - Using Encounter for Automatic Place and Route. By Mulong Li, 2013

Laboratory 6. - Using Encounter for Automatic Place and Route. By Mulong Li, 2013 CME 342 (VLSI Circuit Design) Laboratory 6 - Using Encounter for Automatic Place and Route By Mulong Li, 2013 Reference: Digital VLSI Chip Design with Cadence and Synopsys CAD Tools, Erik Brunvand Background

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

ECE425: Introduction to VLSI System Design Machine Problem 3 Due: 11:59pm Friday, Dec. 15 th 2017

ECE425: Introduction to VLSI System Design Machine Problem 3 Due: 11:59pm Friday, Dec. 15 th 2017 ECE425: Introduction to VLSI System Design Machine Problem 3 Due: 11:59pm Friday, Dec. 15 th 2017 In this MP, you will use automated tools to synthesize the controller module from your MP2 project into

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

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #4, Standard cell design flow (from verilog to layout, 8-bit accumulator)

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #4, Standard cell design flow (from verilog to layout, 8-bit accumulator) CPE/EE 427, CPE 527, VLSI Design I: Tutorial #4, Standard cell design flow (from verilog to layout, 8-bit accumulator) Joel Wilder, Aleksandar Milenkovic, ECE Dept., The University of Alabama in Huntsville

More information

Tutorial for Verilog Synthesis Lab (Part 2)

Tutorial for Verilog Synthesis Lab (Part 2) Tutorial for Verilog Synthesis Lab (Part 2) Before you synthesize your code, you must absolutely make sure that your verilog code is working properly. You will waste your time if you synthesize a wrong

More information

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS VIVADO TUTORIAL- TIMING AND POWER ANALYSIS IMPORTING THE PROJECT FROM ISE TO VIVADO Initially for migrating the same project which we did in ISE 14.7 to Vivado 2016.1 you will need to follow the steps

More information

ECE 551 Design Vision Tutorial

ECE 551 Design Vision Tutorial ECE 551 Design Vision Tutorial ECE 551 Staff Dept of Electrical & Computer Engineering, UW-Madison Lesson 0 Tutorial Setup... 2 Lesson 1 Code Input (Analyze and Elaborate)... 4 Lesson 2 - Simple Synthesis...

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

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

Place & Route: Using Silicon Ensemble

Place & Route: Using Silicon Ensemble Place & Route: Using Silicon Ensemble Introduction In a typical digital design flow, hardware description language is used to model a design and verify desired behavior. Once the desired functionality

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

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

Outline. SoC Encounter Flow. Typical Backend Design Flow. Digital IC-Project and Verification. Place and Route. Backend ASIC Design flow

Outline. SoC Encounter Flow. Typical Backend Design Flow. Digital IC-Project and Verification. Place and Route. Backend ASIC Design flow Outline Digital IC-Project and Verification Deepak Dasalukunte Backend ASIC Design flow General steps Input files Floorplanning Placement Clock-synthesis Routing Typical Backend Design Flow SoC Encounter

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

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

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

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry EE183 LAB TUTORIAL Introduction You will be using several CAD tools to implement your designs in EE183. The purpose of this lab tutorial is to introduce you to the tools that you will be using, Xilinx

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

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

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

The Verilog Synthesis Process (v1.0) (According to the 470 GSIs)

The Verilog Synthesis Process (v1.0) (According to the 470 GSIs) The Verilog Synthesis Process (v1.0) (According to the 470 GSIs) 1 Introduction Janurary 20, 2008 The purpose of this document is to teach you about Makefiles and the Verilog synthesis process. The synthesis

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

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview Synopsys Synthesis Overview Ben 2006.02.16 ACCESS IC LAB Outline Introduction Setting Design Environment Setting Design Constraints Synthesis Report and Analysis pp. 2 What is Synthesis Synthesis = translation

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

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

Tutorial: Working with the Xilinx tools 14.4

Tutorial: Working with the Xilinx tools 14.4 Tutorial: Working with the Xilinx tools 14.4 This tutorial will show you how to: Part I: Set up a new project in ISE Part II: Implement a function using Schematics Part III: Implement a function using

More information

Cadence On-Line Document

Cadence On-Line Document Cadence On-Line Document 1 Purpose: Use Cadence On-Line Document to look up command/syntax in SoC Encounter. 2 Cadence On-Line Document An on-line searching system which can be used to inquire about LEF/DEF

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

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

EE4415 Integrated Digital Design Project Report. Name: Phang Swee King Matric Number: U066584J

EE4415 Integrated Digital Design Project Report. Name: Phang Swee King Matric Number: U066584J EE4415 Integrated Digital Design Project Report Name: Phang Swee King Matric Number: U066584J April 10, 2010 Contents 1 Lab Unit 1 2 2 Lab Unit 2 3 3 Lab Unit 3 6 4 Lab Unit 4 8 5 Lab Unit 5 9 6 Lab Unit

More information

and 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly!

and 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly! This tutorial will show you how to: Part I: Set up a new project in ISE 14.7 Part II: Implement a function using Schematics Part III: Simulate the schematic circuit using ISim Part IV: Constraint, Synthesize,

More information

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #3, Standard cell design flow (from schematic to layout, 8-bit accumulator)

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #3, Standard cell design flow (from schematic to layout, 8-bit accumulator) CPE/EE 427, CPE 527, VLSI Design I: Tutorial #3, Standard cell design flow (from schematic to layout, 8-bit accumulator) Joel Wilder, Aleksandar Milenkovic, ECE Dept., The University of Alabama in Huntsville

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

Cadence SOC Encounter Tutorial for a logic block using the University Of Utah Standard cell Libraries In ON Semiconductor 0.

Cadence SOC Encounter Tutorial for a logic block using the University Of Utah Standard cell Libraries In ON Semiconductor 0. Cadence SOC Encounter Tutorial for a logic block using the University Of Utah Standard cell Libraries In ON Semiconductor 0.5 µ C5N CMOS 1. Create a folder called encounter inside of your project folder

More information

Compile RISC_CORE. Learning Objectives. After completing this lab, you should be able to: Perform a top-down compile strategy on the RISC_CORE design

Compile RISC_CORE. Learning Objectives. After completing this lab, you should be able to: Perform a top-down compile strategy on the RISC_CORE design 15 Learning Objectives After completing this lab, you should be able to: Perform a top-down compile strategy on the RISC_CORE design Lab Duration: 75 minutes Lab 15-1 Synopsys 31833-000-S38 Flow Diagram

More information

Digital IC- Project 1. Place and Route. Oskar Andersson. Oskar Andersson, EIT, LTH, Digital IC project and Verifica=on

Digital IC- Project 1. Place and Route. Oskar Andersson. Oskar Andersson, EIT, LTH, Digital IC project and Verifica=on Digital IC- Project 1 Oskar Andersson Outline Backend ASIC Design flow (Physical Design) General steps Input files Floorplanning Placement ClockTree- synthesis Rou=ng Typical Backend Design Flow Synthesis

More information

Multiple Clocks and Timing Exceptions

Multiple Clocks and Timing Exceptions 10 Multiple Clocks and Timing Exceptions Learning Objectives This lab is intended to give you a better understanding of how static timing analysis works and how timing exceptions are properly applied.

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180A DIGITAL SYSTEMS I Winter 2015 LAB 1: Introduction to Quartus II Schematic Capture and ModelSim Simulation This

More information

Vivado Design Suite Tutorial. Using Constraints

Vivado Design Suite Tutorial. Using Constraints Vivado Design Suite Tutorial Using Constraints Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the

More information

EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25

EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25 EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25 Introduction This Xilinx project introduces the characteristics of the ripple carry adder. From the last project, you learned that

More information

CADENCE TUTORIAL. San Diego State University, Department of Electrical and Computer Engineering. Amith Dharwadkar and Ashkan Ashrafi

CADENCE TUTORIAL. San Diego State University, Department of Electrical and Computer Engineering. Amith Dharwadkar and Ashkan Ashrafi CADENCE TUTORIAL San Diego State University, Department of Electrical and Computer Engineering Amith Dharwadkar and Ashkan Ashrafi 1 Contents 1) 2) 3) 4) 5) 6) Introduction 3 Connecting to the Volta server..4

More information

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #3, Standard cell design flow (from schematic to layout, 8-bit accumulator)

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #3, Standard cell design flow (from schematic to layout, 8-bit accumulator) CPE/EE 427, CPE 527, VLSI Design I: Tutorial #3, Standard cell design flow (from schematic to layout, 8-bit accumulator) Joel Wilder, Aleksandar Milenkovic, ECE Dept., The University of Alabama in Huntsville

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

EE 330 Spring Laboratory 2: Basic Boolean Circuits

EE 330 Spring Laboratory 2: Basic Boolean Circuits EE 330 Spring 2013 Laboratory 2: Basic Boolean Circuits Objective: The objective of this experiment is to investigate methods for evaluating the performance of Boolean circuits. Emphasis will be placed

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

Specifying Timing Exceptions

Specifying Timing Exceptions Specifying Timing Exceptions Learning Objectives This lab is intended to give you a better understanding of how static timing analysis works and how timing exceptions are applied properly. After completing

More information

Constraint Verification

Constraint Verification Constraint Verification Constraint verification refers to the verification of the contents of an SDC file to flag situations where the specified constraints are either incorrect, or incomplete, both of

More information

Altera Quartus II Synopsys Design Vision Tutorial

Altera Quartus II Synopsys Design Vision Tutorial Altera Quartus II Synopsys Design Vision Tutorial Part III ECE 465 (Digital Systems Design) ECE Department, UIC Instructor: Prof. Shantanu Dutt Prepared by: Xiuyan Zhang, Ouwen Shi In tutorial part II,

More information

2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog

2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog 2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog Hrishikesh Salunkhe, h.l.salunkhe@tue.nl, Alok Lele, a.lele@tue.nl April 28, 2015 1 Contents 1 Introduction 3 2 Hardware design

More information

Performing STA. Learning Objectives

Performing STA. Learning Objectives Performing STA Learning Objectives UNIT 45 minutes Unit 8 You are provided with a design netlist that does not meet timing. You are also provided with another set of sub blocks that were improved for timing

More information

Behavioral Modeling and Timing Constraints

Behavioral Modeling and Timing Constraints Introduction Behavioral modeling was introduced in Lab 1 as one of three widely used modeling styles. Additional capabilities with respect to testbenches were further introduced in Lab 4. However, there

More information

CMOS VLSI Design Lab 3: Controller Design and Verification

CMOS VLSI Design Lab 3: Controller Design and Verification CMOS VLSI Design Lab 3: Controller Design and Verification The controller for your MIPS processor is responsible for generating the signals to the datapath to fetch and execute each instruction. It lacks

More information

S Exercise 1C Testing the Ring Oscillator

S Exercise 1C Testing the Ring Oscillator S-87.3148 Exercise 1C Testing the Ring Oscillator Aalto University School of Electrical Engineering Department of Micro- and Nanosciences (ECDL) 10.9.2014 1 1 Building the test bench In this exercise,

More information

Tutorial 2.(b) : Synthesizing your design using the Synopsys Design Compiler ( For DFT Flow)

Tutorial 2.(b) : Synthesizing your design using the Synopsys Design Compiler ( For DFT Flow) Tutorial 2.(b) : Synthesizing your design using the Synopsys Design Compiler ( For DFT Flow) Objectives: In this tutorial you will learrn to use Synopsys Design Compiler (DC) to perform hardware synthesis

More information

Asic Design ET Alexander de Graaf, EEMCS/ME/CAS 5/20/14. Challenge the future. Delft University of Technology

Asic Design ET Alexander de Graaf, EEMCS/ME/CAS 5/20/14. Challenge the future. Delft University of Technology Asic Design ET 4351 Alexander de Graaf, EEMCS/ME/CAS 5/20/14 Delft University of Technology Challenge the future Outline. 1. Design flow 2. Synthesis 3. Place & Route ASIC Design: Backend 2 100 1. Design

More information

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS)

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS) ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS) Objective Part A: To become acquainted with Spectre (or HSpice) by simulating an inverter,

More information

CPE/EE 427, CPE 527, VLSI Design I: VHDL design simulation, synthesis, and ASIC flow, Laboratory #8,

CPE/EE 427, CPE 527, VLSI Design I: VHDL design simulation, synthesis, and ASIC flow, Laboratory #8, CPE/EE 427, CPE 527, VLSI Design I: VHDL design simulation, synthesis, and ASIC flow, Laboratory #8, Joel Wilder and Aleksandar Milenkovic, ECE Dept., The University of Alabama in Huntsville 1. INTRODUCTION

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

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

CMOS VLSI Design Lab 3: Controller Design and Verification

CMOS VLSI Design Lab 3: Controller Design and Verification CMOS VLSI Design Lab 3: Controller Design and Verification The controller for your MIPS processor is responsible for generating the signals to the datapath to fetch and execute each instruction. It lacks

More information

Tutorial 2 Automatic Placement & Routing

Tutorial 2 Automatic Placement & Routing Tutorial 2 Automatic Placement & Routing Please follow the instructions found under Setup on the CADTA main page before starting this tutorial. 1.1. Start Encounter Log on to a VLSI server using your EE

More information

ECE471/571 Energy Efficient VLSI Design Project 2 Cadence Setup and Creation of an Inverter Due Date 11:30 am on Friday, February 2 nd, 2018

ECE471/571 Energy Efficient VLSI Design Project 2 Cadence Setup and Creation of an Inverter Due Date 11:30 am on Friday, February 2 nd, 2018 ECE471/571 Energy Efficient VLSI Design Project 2 Cadence Setup and Creation of an Inverter Due Date 11:30 am on Friday, February 2 nd, 2018 Introduction This project will first walk you through the setup

More information

EE115C Digital Electronic Circuits. Tutorial 2: Hierarchical Schematic and Simulation

EE115C Digital Electronic Circuits. Tutorial 2: Hierarchical Schematic and Simulation EE115C Digital Electronic Circuits Tutorial 2: Hierarchical Schematic and Simulation The objectives are to become familiar with Virtuoso schematic editor, learn how to create the symbol view of basic primitives,

More information

Partitioning for Better Synthesis Results

Partitioning for Better Synthesis Results 3 Partitioning for Better Synthesis Results Learning Objectives After completing this lab, you should be able to: Use the group and ungroup commands to repartition a design within Design Analyzer Analyze

More 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

Automated Synthesis from HDL models. Design Compiler (Synopsys) Leonardo (Mentor Graphics)

Automated Synthesis from HDL models. Design Compiler (Synopsys) Leonardo (Mentor Graphics) Automated Synthesis from HDL models Design Compiler (Synopsys) Leonardo (Mentor Graphics) Front-End Design & Verification VHDL Verilog SystemC Create Behavioral/RTL HDL Model(s) VHDL-AMS Verilog-A ModelSim

More information

ECE 546 HOMEWORK No 10 Due Thursday, April 19, yes last

ECE 546 HOMEWORK No 10 Due Thursday, April 19, yes last ECE 546 HOMEWORK No 10 Due Thursday, April 19, 2018 In this homework you will extract the pulse response of the given channel, extract the decision feedback equalization (DFE) coefficients to equalize

More information

Logic Verification 13-1

Logic Verification 13-1 Logic Verification 13-1 Verification The goal of verification To ensure 100% correct in functionality and timing Spend 50 ~ 70% of time to verify a design Functional verification Simulation Formal proof

More information

The SOCks Design Platform. Johannes Grad

The SOCks Design Platform. Johannes Grad The SOCks Design Platform Johannes Grad System-on-Chip (SoC) Design Combines all elements of a computer onto a single chip Microprocessor Memory Address- and Databus Periphery Application specific logic

More information

CMOS VLSI Design Lab 3: Controller Design and Verification

CMOS VLSI Design Lab 3: Controller Design and Verification CMOS VLSI Design Lab 3: Controller Design and Verification The controller for your MIPS processor is responsible for generating the signals to the datapath to fetch and execute each instruction. It lacks

More information

Lab 7 (All Sections) Prelab: Introduction to Verilog

Lab 7 (All Sections) Prelab: Introduction to Verilog Lab 7 (All Sections) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The

More 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

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

CMOS VLSI Design Lab 4: Full Chip Assembly

CMOS VLSI Design Lab 4: Full Chip Assembly CMOS VLSI Design Lab 4: Full Chip Assembly In this final lab, you will assemble and simulate your entire MIPS microprocessor! You will build your top level chip cell by connecting the datapath, aludec,

More information

Experiment VERI: FPGA Design with Verilog (Part 2) (webpage: /)

Experiment VERI: FPGA Design with Verilog (Part 2) (webpage:   /) Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment VERI: FPGA Design with Verilog (Part 2) (webpage: www.ee.ic.ac.uk/pcheung/teaching/e2_experiment /) 1.0 Learning Outcomes

More information

Step 1: Downloading the source files

Step 1: Downloading the source files Introduction: In this lab and in the remainder of the ELEC 2607 labs, you will be using the Xilinx ISE to enter and simulate the designs for your circuits. In labs 3 and 4, you will use ISE to compile

More information

Lab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston

Lab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston Lab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston Introduction This lab introduces the concept of modular design by guiding you through

More information

Introduction to Xilinx Vivado tools

Introduction to Xilinx Vivado tools Introduction to Xilinx Vivado tools This document is meant to be a starting point for users who are new to using the Xilinx Vivado tools. The document will describe the basic steps to start, create, simulate,

More information

Lab 2. Standard Cell layout.

Lab 2. Standard Cell layout. Lab 2. Standard Cell layout. The purpose of this lab is to demonstrate CMOS-standard cell design. Use the lab instructions and the cadence manual (http://www.es.lth.se/ugradcourses/cadsys/cadence.html)

More information

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web:

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: www.vhdl.us Appendix C Xilinx ISE Tutorial (ISE 11.1) This tutorial is based on ISE 11.1 WebPack (free at

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

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools This is a tutorial introduction to the process of designing circuits using a set of modern design tools. While the tools we will be using (Altera

More information

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one

More information

King Fahd University of Petroleum and Minerals. Computer Engineering Department. COE 561 Digital Systems Design and Synthesis (Course Activity)

King Fahd University of Petroleum and Minerals. Computer Engineering Department. COE 561 Digital Systems Design and Synthesis (Course Activity) King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis using Synopsys Design Compiler Tutorial The 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

SignalTap II with Verilog Designs. 1 Introduction. For Quartus II 13.1

SignalTap II with Verilog Designs. 1 Introduction. For Quartus II 13.1 SignalTap II with Verilog Designs For Quartus II 13.1 1 Introduction This tutorial explains how to use the SignalTap II feature within Altera s Quartus II software. The SignalTap II Embedded Logic Analyzer

More information

CMOS VLSI Design Lab 2: Datapath Design and Verification

CMOS VLSI Design Lab 2: Datapath Design and Verification CMOS VLSI Design Lab 2: Datapath Design and Verification In this lab, you will begin designing an 8-bit MIPS processor. You will first review and simulate a Verilog model of the overall processor. You

More information

Part B. Dengxue Yan Washington University in St. Louis

Part B. Dengxue Yan Washington University in St. Louis Tools Tutorials Part B Dengxue Yan Washington University in St. Louis Tools mainly used in this class Synopsys VCS Simulation Synopsys Design Compiler Generate gate-level netlist Cadence Encounter placing

More information

EECS 151/251A ASIC Lab 3: Logic Synthesis

EECS 151/251A ASIC Lab 3: Logic Synthesis EECS 151/251A ASIC Lab 3: Logic Synthesis Written by Nathan Narevsky (2014, 2017) and Brian Zimmer (2014) Modified by John Wright (2015,2016) and Taehwan Kim (2018) Overview For this lab, you will learn

More information

ELEC 4200 Lab#0 Tutorial

ELEC 4200 Lab#0 Tutorial 1 ELEC 4200 Lab#0 Tutorial Objectives(1) In this Lab exercise, we will design and implement a 2-to-1 multiplexer (MUX), using Xilinx Vivado tools to create a VHDL model of the design, verify the model,

More information

Creating Verilog Tutorial Netlist Release Date: 01/13/2005(Version 2)

Creating Verilog Tutorial Netlist Release Date: 01/13/2005(Version 2) Creating Verilog Tutorial 2-1 - Creating a verilog netlist for a schematic: The verilog netlist is necessary for automatic layout (placement and routing) tools. It contains information about the I/O pins

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

Quartus II Tutorial. September 10, 2014 Quartus II Version 14.0

Quartus II Tutorial. September 10, 2014 Quartus II Version 14.0 Quartus II Tutorial September 10, 2014 Quartus II Version 14.0 This tutorial will walk you through the process of developing circuit designs within Quartus II, simulating with Modelsim, and downloading

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