Place & Route Tutorial #1

Size: px
Start display at page:

Download "Place & Route Tutorial #1"

Transcription

1 Place & Route Tutorial #1 In this tutorial you will use Synopsys IC Compiler (ICC) to place, route, and analyze the timing and wirelength of two simple designs. This tutorial assumes that you have worked through Tutorial #1: Introduction to Simulation and Synthesis on the ECE 520 ASIC Design Tutorials Page and that you know how to simulate, synthesize and analyze timing on basic designs. I. Setup Log in to a Linux machine. Download and unpack the file pr_tut1.tar.gz. This archive contains a directory called ''pr_tut1'' with two subdirectories called counter and xbar. Each of these directories contains two subdirectories called ''v'' and ''pr'' with files needed to complete this tutorial. We will start with the counter design and move on to the xbar design. Change to the counter/v/synth directory and synthesize the simple ''counter.v'' design with the command make. This design is copied from the ECE 520 tutorial #1 mentioned above. When complete, you should have a file called counter/v/src/gate/counter_final.v, which will serve as the starting point for this tutorial. II. Initialize the Design 1. Change to the PR directory and Start ICC with the command make gui. Look inside the Makefile, and you ll see that this recipe executes the following commands add synopsys2015 icc_shell -gui 2. Once the ICC Main Window appears, type the command source import.tcl at the icc_shell> prompt at the bottom of the window. You may want to open the import.tcl file in a separate window to see what s inside. If you do, you ll notice that it s doing the following: (You should update these details as needed to for your own designs) Sources setup.tcl The setup.tcl file defines various variables used throughout the design flow. In particular, it sets a variable used in the remainder of the file called modname, which is the module-name, set to counter for this tutorial. This file gives the standard-cell netlist that will be placed and routed. Creates the MilkyWay library The next command creates a library called work in the current directory to store all results. This library is in the Synopsys MilkyWay database format and uses a 32nm technology file and standard-cell library. Imports the Verilog Netlist The Verilog netlist is imported into a cell called counter_init (i.e. initialized). To successfully import the file, the path is specified, along with the name of the top-level cell in the Verilog file. Sources the Timing Constraint File - This reads the timing constraint(s) that will be used for the design. The file loaded is almost identical to the Constrainsts.tcl file used earlier to synthesize the design with Synopsys Design Compiler. Look in this file and you'll see that it defines the clock port and a 10 ns clock period.

2 3. At this point, your design should look like the figure below. To make your view look exactly like the one below, you will need to edit the View Settings. You can do that by using F8 or by selecting View Toolbars View Settings. Then select the check-boxes in the Vis. column (i.e. visible ) for object types Pin and Site Row and then click the Apply button. You can zoom in by left-clicking on the zoom-tool and draging a box. Some convenient key-bindings are included below. Button/Key Action Description Select Tool Allows selection of objects in the Layout Window q Query Display the object attributes for the selected object. Selection f Fit Display Zooms the display to fit the design area. z Zoom Tool Selects the Zoom tool + Zoom-in Zooms in the display, 2x. Shift-z or - Zoom-out Zooms out the display, 2x. Arrows Pan Pans the display in direction of arrow. Ctrl-U Ruler Selects the Ruler tool for measuring distance. Clear Rulers Clears all rulers in the view. 4. Now that the design has been loaded, you can analyze the timing of the design. Type the command report_timing in the Main Window icc_shell> prompt. This timing report should look identical to the report in Design Compiler. The slack on the critical path is ns. This is pretty good! Our clock period is not set very aggressively for this design. If we reduce the clock period in the constraints.tcl file by more than ns, then we will see a negative number here. Compare this to the critical path given in the file ''../v/synth/timing_max_slow_holdfixed_tut1.rpt'', and you'll note that the path and delay are

3 identical. This is no great surprise, since ICC and Design Compiler are using the same timing engine. 5. Lastly, note that all of the output that you see in the Main Window is also appearing in the UNIX shell window where you typed make gui. This output is also recorded in the file icc_output.log. We ll be referring to this file throughout the rest of this tutorial. III. Place & Route the Design Choose Placement Core Placement and Optimization to run the Placer. Click OK on the next pop-up to run placement with default options. Once complete, your design should look like the one below. Choose File Save Design... In the Save Design dialog box, check the Show Advanced Options box and then scroll to the right until you see the Save As Name box. Enter the name counter_placed and check the Save As box to the left of the name. Then click Ok. Once saved, you can open the design with File Open Design... in the ICC Main Window. Choose Route Global Route and click OK on the next pop-up to route with default options. Your routed design should look like the one below. The only difference you should see will be that some vias have been added to connect from one metal layer to another, but no wires have been routed, yet. This is because the Global Route performs only the first part of the routing process. That is, all wires are assigned to Global Routing Cells (GRCs).

4 To perform the next part of the routing process, choose Route Track Assignment and click OK on the next pop-up to route with default options. Once complete, your design will look like the one below. You can turn the different routing layers on and off to get an idea which wires are in which layers. To do that, select the Layers tab in the view settings as shown below. Then click on the box in the shape column and metal-layer row of interest, and click Apply to save the view settings. It s tempting to thing that the route is done, since we can see the wires. But these shapes are only the second step in getting a legal route. At each step, there will be a varying number of short-circuits and other design-rule violations. We can current number by running a geometry check, which is normally

5 done after a Detail Route. Choose Route Verify Route... and click Ok on the pop-up window. When done, you will be able to browse the violations by choosing Verification Error Browser, selecting Detail Route on the subsequent dialog box, and clicking Ok. The image below shows a short on layer M2 between nets n37 and n45. You should also see the following messages appear in the icc_output.log file: TOTAL VIOLATIONS = 39 Less than minimum area : 15 Needs fat contact : 2 Same net spacing : 13 Short : 9 Ideally, a completed design will have zero violations. Any violations that cannot be fixed within ICC will need to be fixed manually, using a tool such as Cadence Virtuoso. For now, however, we won t worry about them, because these violations are likely to be fixed once we perform a Detail Route. One of the main reason for performing a trial route is so that we can get a more accurate idea of delays due to wire parasitic capacitances and resistances. Type the command report_timing in the Main Window again, and you will see that the critical-path slack has increased slightly to ns. Look through the icc_output.log file, and you'll see the following messages:

6 Information: The RC model used is detail route TLU+. (RCEX-015) Information: Start mixed mode parasitic extraction. (RCEX-023) Information: Start rc extraction... Information: Parasitic source is LPE. (RCEX-040) Information: Parasitic mode is RealRC. (RCEX-041) Information: Using virtual shield extraction. (RCEX-081) Information: Extraction mode is MIN_MAX. (RCEX-042) Information: Extraction derate is 125/125/125. (RCEX-043) Information: Coupling capacitances are lumped to ground. (RCEX-044) Information: Start back annotation for parasitic extraction. (RCEX-023) Information: End back annotation for parasitic extraction. (RCEX-023) Information: Start timing update for parasitic extraction. (RCEX-023) Information: End timing update for parasitic extraction. (RCEX-023) Information: End parasitic extraction. (RCEX-023) You will also see the following messages printed out with the timing report, indicating that the parasitcs are being used in the delay calculation: Operating Conditions: ss0p95v125c Library: saed32lvt_ss0p95v125c Parasitic source : LPE Parasitic mode : RealRC Extraction mode : MIN_MAX Extraction derating : 125/125/125 It is important to make note of the kind of extractor that was used for a particular timing report, because it is difficult to tell if a particular design change has had a positive or negative effect, especially if the timing reports were created with different types of extractors. Choose File Save Design and save as "counter_routed". IV. Writing Scripts So far in this tutorial, we have been exploring the ICC user interface. This is important, because when you re trying to figure out how to fix problems, you need to have a way to explore lots of information and try possible fixes very quickly. However, as we have seen, critical issues such as the design s timing and short circuits depend on the precise details of which commands were used and also the order in which they were done. It is nearly impossible to guarantee that you will issue the same commands in the same order every time you work through a design, especially on large designs, for which it can take hours to run some of these steps. To guarantee consistency from one run to the next, we must get in the habit of using scripts to automate the design process. ICC, like most other VLSI CAD tools, uses the Tool Command Language (Tcl) as a scripting framework. The first step in writing scripts is to learn more about Tcl. The best way to do that is to work through the tutorial, which can be found at Documentation Tcl 8.5 Tutorial. This tutorial is

7 broken into about 50 sections, each about 1 page in length. If you ever get confused about the Tcl syntax, then go back to this tutorial and work through a few more sections. The Tcl tutorial will teach you about the basics, but to automate ICC, we need to know about the procedures that have been automated for ICC. There are three ways to figure out what these commnds are: 1. command.log file - To aid in creating scripts, ICC prints the equivalent Tcl commands for each command you issue through the GUI. These commands are collected in the file command.log. Here are the contents of my encounter.cmd file, after running this tutorial up to this point: gui_start source import.tcl create_floorplan report_timing place_opt save_mw_cel -design "counter_init.cel;1" -as "counter_placed" route_zrt_global route_zrt_track verify_zrt_route report_timing save_mw_cel -design "counter_init.cel;1" -as "counter_grte" 2. ICC Documentation The ICC documentation is located in the following directory: synopsys synopsys2015 IC Compiler From this web-page, there are a number of PDF documents available. The following are the documents that you will probably use the most: icc2.pdf (IC Compiler Tools Commands) This file gives detail on all of the Tcl commands that are available. iccug (IC Compiler Implementation User Guide) This file gives the best documentation on how ICC is intended to be used to place and route your design. In addition, the online help available from the ICC Menu Option Help IC Compiler Online Help can also be very helpful. Finally, as with other Synopsys tools, you can use the command man [command_name] to get information about a specific command while using ICC. 3. info command The Tcl info command can be used to print out detail about the available commands, including the lists of the available commands (with info commands?pattern?) and the arguments expected by a command (with info args procname). This is especially important for some tools, since the documentation can often be out-of-date, and it can be maddening to explore for a solution when you don t know what the options are. See sections of the Tcl tutorial for more detail on using the info command.

8 Using this approach, you can fairly quickly assemble a Tcl script to execute your design. The preferred way to organize a flow is to break it into a set of steps (e.g. Initialize, Place, Route, etc.) that can be run independently, thereby allowing you to better manage your time by learning which steps need to be run and how long it takes to run each step. Each script is best executed from the UNIX command line as follows: icc_shell -f run_[step].tcl & tee run_[step].log Without the gui command, ICC avoids running the GUI, which takes extra time to load. The last arguments direct both stdout and stderr to a log file with a known name, so that you always have a record of the current status of the design and a place to go back to when debugging. Another reason for using stdout (rather than the icc_output.log file) is that many messages will not show up in the icc_output.log file, but they will show up in stdout. The remainder of this tutorial will take you through the base-line flow that we will use for this course. V. Execute the Baseline Flow Before we execute the flow, look at the file README.txt, which contains a brief list of the commands that should be run to execute the entire flow. It also includes a reminder of all the things you ll need to change when re-targeting this flow for a new design. For brevity, we won t include the commands to execute in the remainder of this file. Refer to the README.txt file for these commands. The baseline design flow that we will use is organized in the following steps: 1. init Loads the design.conf file and generates an initial floorplan. This step may seem trivial, but as designs get larger floorplans will become more complex, and we ll need to issue a lot of commands before placing the design. For now, go ahead and run the step. Then examine the run_init.tcl file, and you ll see the following: a. Header the current time is recorded for noting the total run-time. b. Design Import The import.tcl file is executed as described above c. Initial Floorplan An initial floorplan is created with the create_floorplan command. We skipped this step before, because the default floorplan was enough for us. Now, we want to do some basic power routing, so we ll need to add some space to create power and ground rings. Refer to the icc2.pdf documentation for info on what the parameters of this command mean. d. Power Routing The power and ground nets are created with the derive_pg_connection command, and then the create_rectangular_rings and create_power_straps commands connect power in the design. Unconected power rails won t cause many problems for us in this course, because the tools we use will generally infer power connections. However, unconnected power and ground rails will cause a design to fail and are necessary for detailed parasitic extraction with tools such as Mentor Graphics Calibre. We will come back to this issue in a later tutorial. e. Timing Analysis A pre-place timing analysis is done with report_timing

9 f. Save Design The design is saved, so that we can start from this point on the next step. We can also start up ICC and open this design to view its status after this step. g. Footer The elapsed time is printed, along with a message that the command completed successfully. This message is important, because when running a lot of scripts, it can be hard to find where things went wrong sometimes. The first thing that we should always check is whether or not a script completed successfully, or whether the script failed for some reason during execution. 2. place Places the standard cells This command is much like the previous step, except that it opens the counter_init design, places the cells (as we did interactively earlier) with the place_opt command, and then saves the design as counter_placed. Go ahead and run this step now. 3. cts Clock-Tree Synthesis This command is like the previous step, but runs clock-tree synthesis with the clock_opt command. We skipped this step earlier for simplicity. We will come back to clock-tree synthesis in a later tutorial, but it is such an important part of the flow that it s best not to skip completely. Go ahead and run this step now. We will discuss clock-trees in more detail in a future tutorial. 4. route Global and Detail route, extraction, and timing analysis This step executes the following sub-steps: a. Set Routing Options & Constraints The most important constraint for this tutorial is the number of metal layers to use, which is set with the set_net_routing_layer_constraints max_layer_name option. Here it is set to M9, the maximum, but it is better to route with fewer metal layers to save money in manufacturing. b. Global Route The global route is executed with the command route_opt stage global. The detail route step that follows would perform a global route automatically, so it s not necessary to issue this command explicitly. We listed the global route separately here in case you want to perform a quick check for routing congestion, since the detail route can take a very, very long time, if the design is very congested. c. Detail Route The detail route is executed with the command route_opt stage detail. The option effort high indicates that three iterations should be performed, which is the maximum. The detail route should perform all of the details needed to make the design errorfree, meaning no short or open circuits. Run this step now, and you ll see the following in the run_route.log file:

10 Total number of nets = 29, of which 0 are not extracted Total number of open nets = 0, of which 0 are frozen Information: Using 1 threads for routing. (ZRT-444) Start DR iteration 0: uniform partition Routed 1/1 Partitions, Violations = 0 TOTAL VIOLATIONS = 0 This output is telling us the detail route completed with a single pass and no violations (which are mainly short-circuits and spacing errors) in virtually no time at all. In a more complex, congested design, you would see a large number of violations and a number of iterations, as the router attempts to connect all of the wires legally. In general, it s fine to start out with a huge number of violations, as long as the total number drops significantly from one iteration to the next. But in an overly-congested design, the number of violations will reach a minimum values and remain unchanged from one iterations to the next. This means that the route step can take many hours to run, before the router finally gives up. In such cases, you generally need to solve the problem by increasing the number of routing layers, reducing the density (giving the router more area to work with), increasing the number of detail-route iterations, or using special floor-planning commands to relieve the congention in a problem area. d. Verilog Netlist Output and Parasitic Extraction Parasitics are extracted with the extract_rc command and saved as a SPEF file with the command write_parasitics. Then a Verilog netlist is created with the command write_verilog. These commands allow timing and power analysis in other tools (such as Synopsys Design Compiler or Prime Time). This is the same behavior that we see in the ECE 520 PAD_Flow.pl tutorial. e. Timing Analysis performed one last time with the report_timing command. f. Add Filler Cells The gaps between cells need to be filled in order to ensure that no designrules are violated. The standard-cell library provides filler cells for this purpose. They need to be added at the last minute, since the gaps are needed for clock-tree-synthesis and other optimizations. g. Routing power nets the preroute_standard_cepps command is used to route the power rails. We drew the rings in the init step, but here is where they get connected to the cells. h. DEF file output The design is saved in a Design Exchange Format (DEF) file. DEF files are used for interchanging physical design data between a variety of CAD tools, and we will use them to calculate various statistics on our design. For more information on the format of this file, refer to the lefdefref file in the resources sections of the course web-page. We re done! Now we will apply what you have learned to debug a more challenging design.

11 VI. Place & Route the Crossbar Design Now that you have completed the baseline flow on the simple counter design, re-run the flow on the crossbar design located in the xbar directory. You ll note that the create_floorplan command is used with 85% density in the run_init.tcl script, and that 5 metal layers are specified in the run_route.tcl file. Go ahead and synthesize the crossbar, and then run the flow up through the route step. You may notice that the route is taking a very long time to complete. Look in the run_route.log file, and you will likely see something like the following towards the end of the file: Start DR iteration 3: uniform partition Routed 1/49 Partitions, Violations = Routed 2/49 Partitions, Violations = Routed 3/49 Partitions, Violations = Routed 47/49 Partitions, Violations = Routed 48/49 Partitions, Violations = Routed 49/49 Partitions, Violations = TOTAL VIOLATIONS = Crossing top-cell boundary : 4 Diff net spacing : 418 Diff net via-cut spacing : 80 End of line enclosure : 3 Less than minimum area : 10 Min-max layer : 103 Same net spacing : 21 Short : Internal-only types : 13 This is pretty bad, because it shows that there are roughly 12,000 short-circuits in the design, and the number is not decreasing with successive routing iterations. It may be possible to route the design by adding more route_opt stage detail commands to run_route.tcl (which effectively increases the number of iterations), but there s no guarantee that it will ever succeed. It can take a long time to wait for the detail route to finish, even with a limit of only 3 iterations. Fortunately, it is possible to get an idea of how difficult the routing problem is from the global-route. Open up the xbar_routed design and click the Global Route Congestion button. You should see something like the following:

12 The colored line-segments that you see are congestion markers at the edges of each global-routing cell (GRC), indicating how many more horizontal and vertical routing tracks are needed beyond what is available. You can zoom into these markers to see more detail. As the legend indicates, the colors correspond to the nuber of overflows for that GRC edge (i.e. the number of wires to route that exceeds the number of tracks available). Look in the run_route.log file, and you ll see the following output. phase2. Routing result: phase2. Both Dirs: Overflow = Max = 13 GRCs = 7534 (79.12%) phase2. H routing: Overflow = 8808 Max = 13 (GRCs = 1) GRCs = 4395 (92.31%) phase2. V routing: Overflow = 5577 Max = 13 (GRCs = 1) GRCs = 3139 (65.93%) phase2. M1 Overflow = 491 Max = 13 (GRCs = 1) GRCs = 143 (3.00%) phase2. M2 Overflow = 3187 Max = 13 (GRCs = 1) GRCs = 1650 (34.66%) phase2. M3 Overflow = 6717 Max = 6 (GRCs = 9) GRCs = 3037 (63.79%) phase2. M4 Overflow = 2389 Max = 8 (GRCs = 3) GRCs = 1489 (31.27%) phase2. M5 Overflow = 1599 Max = 4 (GRCs = 6) GRCs = 1215 (25.52%) phase2. M6 Overflow = 0 Max = 0 (GRCs = 0) GRCs = 0 (0.00%) phase2. M7 Overflow = 0 Max = 0 (GRCs = 0) GRCs = 0 (0.00%) phase2. M8 Overflow = 0 Max = 0 (GRCs = 0) GRCs = 0 (0.00%) phase2. M9 Overflow = 0 Max = 0 (GRCs = 0) GRCs = 0 (0.00%) The numbers here provide a more detailed picture. The numbers show the total number of overflows (i.e. the total number of times that a wire that could not fit in a GRC), followed by the maximum number of overflows in a GRC (and how many GRCs saw this maximum). The last number says how many GRCs

13 experience an overflow of at least 1, as an absolute number and as a percentage of the total GRCs. The numbers here show that 79% of all GRCs have overflows, so there s not a lot of space for those overflowing wires to go. This is a rather congested design, but good Detail Routers can handle a lot of congestion, and the ICC Detail Router is a pretty good one. You can try to add more detail routing iterations, but watch the violations on each iteration in the run_route.log file to make sure that the step doesn t run forever. Another option is to comment-out the detail routing command and simply run the global-route, checking the congestion information above until you have a good feeling that the detail route will succeed. Your task is to try to alter the scripts to allow the xbar design to complete the route step successfully with no violations. You can decrease the density of the design, increase the number of metal layers available, and/or increase the number of detail routing iterations. When you are done, turn in the following: your xbar_routed.def file your run_route.log file, showing zero violations all Tcl scripts from your xbar/pr directory Also include in your solution document a description of the changes that you needed to make to the scripts in order to route the design with no violations.

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

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

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

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

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

EEM216A Design of VLSI Circuits and Systems Fall To start physical synthesis, you will need to source and launch IC Compiler.

EEM216A Design of VLSI Circuits and Systems Fall To start physical synthesis, you will need to source and launch IC Compiler. EEM216A Design of VLSI Circuits and Systems Fall 2012 Prof. Dejan Marković IC Compiler Tutorial Launching IC Compiler To start physical synthesis, you will need to source and launch IC Compiler. tcsh source

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

ASIC Physical Design Top-Level Chip Layout

ASIC Physical Design Top-Level Chip Layout ASIC Physical Design Top-Level Chip Layout References: M. Smith, Application Specific Integrated Circuits, Chap. 16 Cadence Virtuoso User Manual Top-level IC design process Typically done before individual

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

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

VLSI Lab Tutorial 3. Virtuoso Layout Editing Introduction

VLSI Lab Tutorial 3. Virtuoso Layout Editing Introduction VLSI Lab Tutorial 3 Virtuoso Layout Editing Introduction 1.0 Introduction The purpose of this lab tutorial is to guide you through the design process in creating a custom IC layout for your CMOS inverter

More information

Tutorial I: Cadence Innovus ECE6133: Physical Design Automation of VLSI Systems Georgia Institute of Technology Prof. Sung Kyu Lim

Tutorial I: Cadence Innovus ECE6133: Physical Design Automation of VLSI Systems Georgia Institute of Technology Prof. Sung Kyu Lim Tutorial I: Cadence Innovus ECE6133: Physical Design Automation of VLSI Systems Georgia Institute of Technology Prof. Sung Kyu Lim I. Setup for Cadence Innovus 1. Copy the following files into your working

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

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

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

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

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

An Automated System for Checking Lithography Friendliness of Standard Cells

An Automated System for Checking Lithography Friendliness of Standard Cells An Automated System for Checking Lithography Friendliness of Standard Cells I-Lun Tseng, Senior Member, IEEE, Yongfu Li, Senior Member, IEEE, Valerio Perez, Vikas Tripathi, Zhao Chuan Lee, and Jonathan

More information

EE115C Digital Electronic Circuits. Tutorial 4: Schematic-driven Layout (Virtuoso XL)

EE115C Digital Electronic Circuits. Tutorial 4: Schematic-driven Layout (Virtuoso XL) EE115C Digital Electronic Circuits Tutorial 4: Schematic-driven Layout (Virtuoso XL) This tutorial will demonstrate schematic-driven layout on the example of a 2-input NAND gate. Simple Layout (that won

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

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

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

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

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

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

Cadence Virtuoso Layout Connectivity Mark- Net Tutorial

Cadence Virtuoso Layout Connectivity Mark- Net Tutorial Cadence Virtuoso Layout Connectivity Mark- Net Tutorial Digital VLSI Chip Design CAD manual addendum When you re drawing layout, especially of a complex cell, it s sometimes hard to see exactly what your

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

Logic synthesis and Place and Route Tutorial Page 1

Logic synthesis and Place and Route Tutorial Page 1 Logic synthesis and Place and Route Tutorial Page 1 Standard Cell ASIC Design flow: A designer uses predesigned logic cells such as AND gate, NOR gate, etc. These gates are called Standard Cells. The advantage

More information

Prepared by Dr. Ulkuhan Guler GT-Bionics Lab Georgia Institute of Technology

Prepared by Dr. Ulkuhan Guler GT-Bionics Lab Georgia Institute of Technology Prepared by Dr. Ulkuhan Guler GT-Bionics Lab Georgia Institute of Technology OUTLINE Introduction Mapping for Schematic and Layout Connectivity Generate Layout from Schematic Connectivity Some Useful Features

More information

Start Active-HDL. Create a new workspace TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS

Start Active-HDL. Create a new workspace TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS Introduction to Active-HDL TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS This tutorial will introduce the tools and techniques necessary to design a basic schematic. The goal of this tutorial is

More information

EECS 151/251A ASIC Lab 7: SRAM Integration

EECS 151/251A ASIC Lab 7: SRAM Integration EECS 151/251A ASIC Lab 7: SRAM Integration Written by Nathan Narevsky (2014,2017) and Brian Zimmer (2014) Modified by John Wright (2015,2016) and Taehwan Kim (2018) Overview In this lab, we will go over

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

Design rule illustrations for the AMI C5N process can be found at:

Design rule illustrations for the AMI C5N process can be found at: Cadence Tutorial B: Layout, DRC, Extraction, and LVS Created for the MSU VLSI program by Professor A. Mason and the AMSaC lab group. Revised by C Young & Waqar A Qureshi -FS08 Document Contents Introduction

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

EE434 ASIC & Digital Systems. From Layout to SPICE Simulation (Virtuoso, Calibre, HSpice) Spring 2017 Dae Hyun Kim

EE434 ASIC & Digital Systems. From Layout to SPICE Simulation (Virtuoso, Calibre, HSpice) Spring 2017 Dae Hyun Kim EE434 ASIC & Digital Systems From Layout to SPICE Simulation (Virtuoso, Calibre, HSpice) Spring 2017 Dae Hyun Kim daehyun@eecs.wsu.edu 1 Preparation for Lab2 Download the following file into your working

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

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

Abstract Editor (Last updated: Oct. 23, 2008)

Abstract Editor (Last updated: Oct. 23, 2008) Abstract Editor (Last updated: Oct. 23, 2008) Abstract Editor Tutorial This tutorial has been created to discuss all of the steps needed to create an abstract Library Exchange Format (LEF) file for custom

More information

Introduction to Innovus

Introduction to Innovus Introduction to Innovus Courtesy of Dr. Dae Hyun Kim@WSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Introduction to Innovus Innovus was called Innovus before v15 Standard Placement and Routing

More information

Using Microsoft Word. Text Editing

Using Microsoft Word. Text Editing Using Microsoft Word A word processor is all about working with large amounts of text, so learning the basics of text editing is essential to being able to make the most of the program. The first thing

More information

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Lab #2: Layout and Simulation

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Lab #2: Layout and Simulation UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Lab #2: Layout and Simulation NTU IC541CA 1 Assumed Knowledge This lab assumes use of the Electric

More information

Cadence Tutorial 2: Layout, DRC/LVS and Circuit Simulation with Extracted Parasitics

Cadence Tutorial 2: Layout, DRC/LVS and Circuit Simulation with Extracted Parasitics Cadence Tutorial 2: Layout, DRC/LVS and Circuit Simulation with Extracted Parasitics Introduction This tutorial describes how to generate a mask layout in the Cadence Virtuoso Layout Editor. Use of DIVA

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

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

Introduction. About this tutorial. How to use this tutorial

Introduction. About this tutorial. How to use this tutorial Basic Entry & not About this tutorial This tutorial consists of an introduction to creating simple circuits on an FPGA using a variety of methods. There are two ways to create the circuit: using or by

More information

Virtuoso Layout Suite XL

Virtuoso Layout Suite XL Accelerated full custom IC layout Part of the Cadence Virtuoso Layout Suite family of products, is a connectivity- and constraint-driven layout environment built on common design intent. It supports custom

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

Virtuoso Layout Editor

Virtuoso Layout Editor This tutorial will cover the basic steps involved in using the Cadence layout editor called Virtuoso, extracting layout, and running simulation on the layout. The inverter layout is used as an example

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

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

VLSI Lab Tutorial 1. Cadence Virtuoso Schematic Composer Introduction

VLSI Lab Tutorial 1. Cadence Virtuoso Schematic Composer Introduction VLSI Lab Tutorial 1 Cadence Virtuoso Schematic Composer Introduction 1.0 Introduction The purpose of the first lab tutorial is to help you become familiar with the schematic editor, Virtuoso Schematic

More information

Lesson 12: Preparing for Post Processing

Lesson 12: Preparing for Post Processing 12 Lesson 12: Preparing for Post Processing Learning Objectives In this lesson you will: Rename reference designators on the board design Backannotate changes made in the OrCAD and Allegro PCB Editor to

More information

Verifying the Multiplexer Layout

Verifying the Multiplexer Layout 4 This chapter introduces you to interactive verification. You will perform two different tests in the Virtuoso layout editor while using Assura interactive verification products. One test uses the Design

More information

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14 Appendix B HDL Entry Tutorial 2 Page 1 of 14 Contents Appendix B HDL Entry Tutorial 2...2 B.1 Getting Started...2 B.1.1 Preparing a Folder for the Project...2 B.1.2 Starting Quartus II...2 B.1.3 Creating

More information

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below.

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below. Graphing in Excel featuring Excel 2007 1 A spreadsheet can be a powerful tool for analyzing and graphing data, but it works completely differently from the graphing calculator that you re used to. If you

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

EEC 116 Fall 2011 Lab #1 Cadence Schematic Capture and Layout Tutorial

EEC 116 Fall 2011 Lab #1 Cadence Schematic Capture and Layout Tutorial EEC 116 Fall 2011 Lab #1 Cadence Schematic Capture and Layout Tutorial Dept. of Electrical and Computer Engineering University of California, Davis September 26, 2011 Reading: Rabaey Chapters 1, 2, A,

More information

Tutorial 3: Using the Waveform Viewer Introduces the basics of using the waveform viewer. Read Tutorial SIMPLIS Tutorials SIMPLIS provide a range of t

Tutorial 3: Using the Waveform Viewer Introduces the basics of using the waveform viewer. Read Tutorial SIMPLIS Tutorials SIMPLIS provide a range of t Tutorials Introductory Tutorials These tutorials are designed to give new users a basic understanding of how to use SIMetrix and SIMetrix/SIMPLIS. Tutorial 1: Getting Started Guides you through getting

More information

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

Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers 2008 Table of Contents Introduction... 3 Steps Taken and Simulation... 3 Pitfalls... 8 Simulated Delay... 9 APPENDIX

More information

Silicon Virtual Prototyping: The New Cockpit for Nanometer Chip Design

Silicon Virtual Prototyping: The New Cockpit for Nanometer Chip Design Silicon Virtual Prototyping: The New Cockpit for Nanometer Chip Design Wei-Jin Dai, Dennis Huang, Chin-Chih Chang, Michel Courtoy Cadence Design Systems, Inc. Abstract A design methodology for the implementation

More information

Eliminating Routing Congestion Issues with Logic Synthesis

Eliminating Routing Congestion Issues with Logic Synthesis Eliminating Routing Congestion Issues with Logic Synthesis By Mike Clarke, Diego Hammerschlag, Matt Rardon, and Ankush Sood Routing congestion, which results when too many routes need to go through an

More information

Using Audacity A Tutorial

Using Audacity A Tutorial Using Audacity A Tutorial Peter Graff Production Manager, KBCS FM These days, there are many digital audio editors out there that can do amazing things with sound. But, most of them cost money, and if

More information

Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool

Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool Jin Hee Kim and Jason Anderson FPL 2015 London, UK September 3, 2015 2 Motivation for Synthesizable FPGA Trend towards ASIC design flow Design

More information

EDA-BASED DESIGN PRACTICAL LABORATORY SESSION No. 3

EDA-BASED DESIGN PRACTICAL LABORATORY SESSION No. 3 LABORATOIRE DE SYSTEMES MICROELECTRONIQUES EPFL STI IMM LSM ELD Station nº 11 CH-1015 Lausanne Téléphone : Fax : E-mail : Site web : +4121 693 6955 +4121 693 6959 lsm@epfl.ch lsm.epfl.ch EDA-BASED DESIGN

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

DATASHEET VIRTUOSO LAYOUT SUITE GXL

DATASHEET VIRTUOSO LAYOUT SUITE GXL DATASHEET Part of the Cadence Virtuoso Layout Suite family of products, is a collection of fully automated layout capabilities such as custom placement and routing, layout optimization, module generation,

More information

ELEC451 Integrated Circuit Engineering Using Cadence's Virtuoso Layout Editing Tool

ELEC451 Integrated Circuit Engineering Using Cadence's Virtuoso Layout Editing Tool ELEC451 Integrated Circuit Engineering Using Cadence's Virtuoso Layout Editing Tool Contents Contents 1. General 2. Creating and Working On a Layout o 2.1 Undoing/Re-doing an Action o 2.2 Display Options

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

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

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

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

HIPEX Full-Chip Parasitic Extraction. Summer 2004 Status

HIPEX Full-Chip Parasitic Extraction. Summer 2004 Status HIPEX Full-Chip Parasitic Extraction Summer 2004 Status What is HIPEX? HIPEX Full-Chip Parasitic Extraction products perform 3D-accurate and 2D-fast extraction of parasitic capacitors and resistors from

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

How to Get Started. Figure 3

How to Get Started. Figure 3 Tutorial PSpice How to Get Started To start a simulation, begin by going to the Start button on the Windows toolbar, then select Engineering Tools, then OrCAD Demo. From now on the document menu selection

More information

Lab 1: FPGA Physical Layout

Lab 1: FPGA Physical Layout Lab 1: FPGA Physical Layout University of California, Berkeley Department of Electrical Engineering and Computer Sciences EECS150 Components and Design Techniques for Digital Systems John Wawrzynek, James

More information

Prerequisites for Rou4ng

Prerequisites for Rou4ng Basic Zroute Flow Prerequisites for Rou4ng Library requirements Zroute gets all of the design rule informa4on from the technology file; therefore, you must ensure that all design rules are defined in the

More information

Getting Started with Word

Getting Started with Word Getting Started with Word gcflearnfree.org/print/word2016/word-2016-28 Introduction Microsoft Word 2016 is a word processing application that allows you to create a variety of documents, including letters,

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

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

Standard Cell Based Design Flow Using Modelsim, Buildgates, and Silicon Ensemble 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

More information

FACULTY OF ENGINEERING MULTIMEDIA UNIVERSITY LAB SHEET DIGITAL INTEGRATED CIRCUIT

FACULTY OF ENGINEERING MULTIMEDIA UNIVERSITY LAB SHEET DIGITAL INTEGRATED CIRCUIT FACULTY OF ENGINEERING MULTIMEDIA UNIVERSITY LAB SHEET DIGITAL INTEGRATED CIRCUIT DIC1: Schematic Design Entry, Simulation & Verification DIC2: Schematic Driven Layout Drawing (SDL) Design Rule Check (DRC)

More information

Creating Page Layouts 25 min

Creating Page Layouts 25 min 1 of 10 09/11/2011 19:08 Home > Design Tips > Creating Page Layouts Creating Page Layouts 25 min Effective document design depends on a clear visual structure that conveys and complements the main message.

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

Customizing DAZ Studio

Customizing DAZ Studio Customizing DAZ Studio This tutorial covers from the beginning customization options such as setting tabs to the more advanced options such as setting hot keys and altering the menu layout. Introduction:

More information

Synopsys Custom Designer Tutorial for a chip integra7on using the University of Utah Standard Cell Libraries In ON Semiconductor 0.

Synopsys Custom Designer Tutorial for a chip integra7on using the University of Utah Standard Cell Libraries In ON Semiconductor 0. Synopsys Custom Designer Tutorial for a chip integra7on using the University of Utah Standard Cell Libraries In ON Semiconductor 0.5u C5 CMOS Version 6.0 Overview This tutorial will take you through the

More information

TUTORIAL II ECE 555 / 755 Updated on September 11 th 2006 CADENCE LAYOUT AND PARASITIC EXTRACTION

TUTORIAL II ECE 555 / 755 Updated on September 11 th 2006 CADENCE LAYOUT AND PARASITIC EXTRACTION TUTORIAL II ECE 555 / 755 Updated on September 11 th 2006 CADENCE LAYOUT AND PARASITIC EXTRACTION After finishing a schematic of your design (Tutorial-I), the next step is creating masks which are for

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

Using Synplify Pro, ISE and ModelSim

Using Synplify Pro, ISE and ModelSim Using Synplify Pro, ISE and ModelSim VLSI Systems on Chip ET4 351 Rene van Leuken Huib Lincklaen Arriëns Rev. 1.2 The EDA programs that will be used are: For RTL synthesis: Synplicity Synplify Pro For

More information

Chapter 4 Determining Cell Size

Chapter 4 Determining Cell Size Chapter 4 Determining Cell Size Chapter 4 Determining Cell Size The third tutorial is designed to give you a demonstration in using the Cell Size Calculator to obtain the optimal cell size for your circuit

More information

TUTORIAL SESSION Technical Group Hoda Najafi & Sunita Bhide

TUTORIAL SESSION Technical Group Hoda Najafi & Sunita Bhide TUTORIAL SESSION 2014 Technical Group Hoda Najafi & Sunita Bhide SETUP PROCEDURE Start the Altium Designer Software. (Figure 1) Ensure that the Files and Projects tabs are located somewhere on the screen.

More information

SYNTHESIS FOR ADVANCED NODES

SYNTHESIS FOR ADVANCED NODES SYNTHESIS FOR ADVANCED NODES Abhijeet Chakraborty Janet Olson SYNOPSYS, INC ISPD 2012 Synopsys 2012 1 ISPD 2012 Outline Logic Synthesis Evolution Technology and Market Trends The Interconnect Challenge

More information

Comprehensive Place-and-Route Platform Olympus-SoC

Comprehensive Place-and-Route Platform Olympus-SoC Comprehensive Place-and-Route Platform Olympus-SoC Digital IC Design D A T A S H E E T BENEFITS: Olympus-SoC is a comprehensive netlist-to-gdsii physical design implementation platform. Solving Advanced

More information

A comprehensive workflow and methodology for parasitic extraction

A comprehensive workflow and methodology for parasitic extraction A comprehensive workflow and methodology for parasitic extraction Radoslav Prahov, Achim Graupner Abstract: In this paper is presented, analysed and assessed a design automation methodology of a tool employed

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

University of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16

University of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16 Page 1/14 Quartus Tutorial with Basic Graphical Gate Entry and Simulation Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate

More information

Design of a Low Density Parity Check Iterative Decoder

Design of a Low Density Parity Check Iterative Decoder 1 Design of a Low Density Parity Check Iterative Decoder Jean Nguyen, Computer Engineer, University of Wisconsin Madison Dr. Borivoje Nikolic, Faculty Advisor, Electrical Engineer, University of California,

More information

Hipex Full-Chip Parasitic Extraction

Hipex Full-Chip Parasitic Extraction What is Hipex? products perform 3D-accurate and 2D-fast extraction of parasitic capacitors and resistors from hierarchical layouts into hierarchical transistor-level netlists using nanometer process technology

More information

EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation

EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation Introduction In this project, you will begin to explore the digital simulation tools of the Mentor Graphics package available on the

More information

ECE471/571 Energy Ecient VLSI Design

ECE471/571 Energy Ecient VLSI Design ECE471/571 Energy Ecient VLSI Design Project 2 Cadence Setup and Creation of an Inverter Due Date 11:30pm on Friday, January 30 th 2015 Introduction This project will rst walk you through the setup for

More information

Laker 3 Custom Design Tools

Laker 3 Custom Design Tools Datasheet Laker 3 Custom Design Tools Laker 3 Custom Design Tools The Laker 3 Custom Design Tools form a unified front-to-back environment for custom circuit design and layout. They deliver a complete

More information

Complete Tutorial (Includes Schematic & Layout)

Complete Tutorial (Includes Schematic & Layout) Complete Tutorial (Includes Schematic & Layout) Download 1. Go to the "Download Free PCB123 Software" button or click here. 2. Enter your e-mail address and for your primary interest in the product. (Your

More information