Gates On the Fly User Manual

Contents

Introduction. 6

Download Manual in PDF file. 6

Overview.. 7

User Interface. 7

Start up GOF. 7

GofViewer. 8

File Menu. 8

Load Design. 8

Reload Design. 9

Save Startup File. 9

Open Other Netlist. 9

Open Log Window.. 9

Exit. 9

Find Menu. 9

Search. 9

Goto Line Number. 9

Report Area. 9

Report Leakage. 9

Report Leaf Cells. 9

Report Submodules. 9

Statistic of Current Design. 10

List Library. 10

List Context for Leaf Cell 10

Commands Menu. 10

Launch GofTrace Schematic. 10

Launch GofTrace with Gate. 10

Launch Layout Viewer. 10

RTL-to-Netlist Matching. 10

Launch GofCall Script Interface. 10

Switch to GOF Shell Mode. 11

Spare Cells. 11

Launch Files Compare Window.. 11

Process Timing Violations. 11

SDF. 11

Options Menu. 11

Hierarchy Window Font. 11

Netlist Window Font. 12

Dump Waveform Restore File. 12

Setup. 12

Help Menu. 12

General 12

About. 12

nandigits.com/gof_manual.htm.. 12

Read Ethernet Mac Address. 12

Keyboard Shortcuts. 12

Access Menu. 12

Functions access. 12

Selection Status. 13

Netlist Window Pop Menu. 13

Search. 13

Copy Selected to. 13

Driver of the selected net. 13

List Connectivity of the selected net. 13

List Fanin EndPoints. 13

List Fanout EndPoints. 13

Parent Module. 13

List Context. 13

Hierarchy Window Pop Menu. 14

Run Custom Command:  Command Name. 14

Show Definition. 14

Show Calling. 14

Report Area of the selected design. 14

Report Leakage of the selected design. 14

Report Leaf Cells of the selected design. 14

Report Submodules of the selected design. 14

Statistic of the selected design. 14

Edit Module of the selected design. 14

Save Module of the selected design. 14

Goto Line Number#. 14

GofTrace. 14

File Menu. 15

Save. 15

Open. 15

Print. 15

Exit. 15

Schematic Menu. 16

New Schematic. 16

List Gate. 16

Load Gate. 16

Load Gate Driving Net. 16

List Selected Instances. 16

List Selected Wires. 16

List Selected Modules. 16

List Selected Instances Definitions. 16

List Selected Gates Types. 16

Zoom In. 17

Zoom Out. 17

Zoom to. 17

Find Gates on Schematic. 17

Find Nets on Schematic. 17

Undo Schematic Operations. 17

Place & Route. 17

Create PS/PDF File. 17

Commands Menu. 17

View Gates in Layout. 17

Load Layout Files. 18

Launch GofCall Script Interface. 18

Spare Cells. 18

Launch Files Compare Window.. 18

Process Timing Violations. 18

SDF. 18

Options Menu. 18

Increase Font Size. 18

Decrease Font Size. 18

Show Port. 18

Show Wire. 18

Show Title. 19

Show Type. 19

Show Connections. 19

Show Comment. 19

Dump Waveform Restore File. 19

Save String to Clipboard. 19

Cursor Mode. 19

Line Edit Mode. 19

Setup. 19

Help Menu. 19

General 19

About. 19

nandigits.com/gof_manual.htm.. 20

Keyboard Shortcuts. 20

Access Menu. 20

Functions access. 20

Selection Status. 20

GofTrace Pop Menu. 20

Find Circuit between Two Points. 20

Add Comments. 20

Find Gates on Schematic. 20

Find Nets on Schematic. 20

Place & Route. 20

Show Logic Cone. 20

Copy Selected to. 21

Find selected in GofViewer. 21

Edit Gate Display. 21

List Logic for the Selected Leaf Cell 22

List Context for the Selected Leaf Cell 22

List Definition for the Selected Instance. 22

Load Instance Similar to the Selected Instance. 22

Equivalent Symbol 22

Delete. 22

GofECO.. 22

ECO Menu. 23

Enable ECO and ECO Preferences. 23

Insert Gates. 24

Replace Gates. 24

Add Gates. 24

Delete Selected Items. 24

Upsize Drive Strength. 24

Downsize Drive Strength. 24

Undo ECO Operations. 25

Claim Spare Gates. 25

Save ECO.. 25

Metal ECO.. 25

Automatically Mapping Spare Gates. 25

Manually Handling Spare Gates. 26

LayoutViewer. 26

File Menu. 27

Capture in PDF. 27

Exit. 27

View Menu. 27

Show Grid. 27

Show Instance. 27

Show Module. 27

Help Menu. 28

nandigits.com/gof_manual.htm.. 28

LayoutViewer Pop Menu. 28

Clear Circuit Markers. 28

Clear Searching Markers. 28

Copy Selected to. 28

GofCall Script Interface. 28

Features list. 28

APIs list. 28

Run in GUI mode. 30

Run in Command Line. 30

Appendix A.. 31

GOF Command Options. 31

Command line Examples. 32

 

 

Introduction

 

Download Manual in PDF file

 

The PDF version of the manual can be downloaded here http://www.nandigits.com/download/gof_manual.pdf

 

 

Overview

 

Netlist ECO is very common in large scale IC design. These changes frequently come late in the design process when schedule is tight and where errors are very costly.  Netlist changes are error-prone since the netlist is large, complex, unfamiliar, and hard to understand. Manually editing netlist is very easy to make mistakes such as changing the wrong gate or making a typo.  Gates On the Fly, GOF,  is designed to solve this problem. It provides both GUI and script modes to change complicated logic. The GUI mode helps you to isolate the logic that needs to change in a partial schematic window so you can easily modify your design. The GUI mode has sharp learning curve for beginners and non-frequent users.  The script mode has the same syntax as Perl which can easily integrate existing netlist processing scripts.  The script mode is good for more complicated ECO processing, such as combining netlist sanity check and ECO modification.

 GOF provides the following features:

·         Any large size netlist parsing with 64bits Linux version.

·         Dynamic partial schematic generation.

·         Graphical Netlist ECO.

·         Script Mode Nelist processing and ECO.

·         Logic Cone ECO to replace whole logic cones.

·         Save ECO results in several formats.

·         Integration of commonly used netlist functions.

User Interface

 

Gates On the Fly has four main windows and multiple pop windows in GUI mode.

·         GofViewer the netlist viewer and hierarchy list window. It is the first window when GOF is started up.

·         GofTrace is the incremental schematic window that can be launched from GofViewer by several ways.

·         GofECO uses the same window as GofTrace by checking ECO checkbutton.

·         LayoutViewer window can be launched from both GofViewer and GofTrace which can automatically highlight the objects selected on the parent window.

·          Interactivities exist between windows.

 

 

 

 

Start up GOF

 

Netlist and design files can be loaded in command line.

For example, load netlist with technology libraries.

% gof -lib standard_tech_40nm.lib -lib io_tech_40nm.lib netlist.gv

Load netlist with def/lef physical files.

% gof -lib standard_tech_40nm.lib -lib io_tech_40nm.lib -def top.def -lef tech_40nm.lef netlist.gv

For more detail on GOF options and command line examples, read Appendix A GOF Command Options.

GofViewer

 

GofViewer is the first window after GOF starts up.

Figure 1: GofViewer Window

 

File Menu

 Load Design

Users can input netlist files and design files through the Load Design command.

Reload Design

If any netlist file or design file has been updated during GOF session, this command can be used to reload the design.

 Save Startup File

This command saves the inputs users have typed in Load Design window to startup file. In Windows platform, it’s a batch file with ‘bat’ extension. In Linux platform, it’s a shell file. Users can load the design by running the startup file in the next time.

Open Other Netlist

This command loads another netlist file to create a new hierarchical tree. The hierarchy tree will be listed in the hierarchy list window. The command is useful when users want to draw circuits from different netlist file on the same schematic which is good for logic comparison in netlist debug scenario such as LEC failures analysis.

Open Log Window

The command opens log file in a text window.

Exit

Exit command.

Find Menu

Search

This command searches for the matching string in the netlist text window.

Goto Line Number

GOF loads only one module in the netlist text window when the netlist file is hierarchical with multiple modules.  The command will load in the corresponding module into the text window and highlight the line with the specific number in the netlist file.

Report Area

This command reports the design area. The command requires standard library files to be loaded which include leaf cell area information.

Report Leakage

This command reports the leakage power in the design. Same as the Report Area command it requires standard libraries.

Report Leaf Cells

This command reports the leaf cell type and numbers in the design.

Report Submodules

This command reports the hierarchical sub-modules in the design.

Statistic of Current Design

This command reports the statistic of the current design. It pops up an option window for interactivity from users.

List Library

The command lists the libraries and leaf cells in each library.

List Context for Leaf Cell

This command pops up an entry window for users to input leaf cell name string, wild card can be accepted. All leaf cells matching the string will be listed. If there is only one cell matched, the detail property will be listed.

Commands Menu

Launch GofTrace Schematic

This command launches GofTrace Schematic, if any instance or net string is highlighted in the netlist window, the instance or the driver of the net will be drawn on the schematic. Otherwise, the schematic is empty.

Launch GofTrace with Gate

This command pops up an entry window for users to input a string to load a specific instance. For example, ‘u_abc/U123’. Click ‘OK’ button on the pop window, GofTrace Schematic is launched.

Launch Layout Viewer

This command launches Layout Viewer window, if any instance or net string is highlighted in the netlist window, the instance or the driver of the net will be highlighted on the Layout Viewer window. The command requires that physical files to be loaded. Both def and lef files should be loaded before launching Layout Viewer, otherwise a warning window pops up for the missing physical files.

RTL-to-Netlist Matching

This command group finds equivalent wires between RTL (Gtech file) and netlist. It requires Gtech file to be loaded.

Matching Wire

This command finds equivalent wire or meta-equivalent wires in the netlist.

Read in Gtech file

Read in Gtech file, Gtech file can be loaded from command line by -gtech option.

Read in Verilog File(s)

Read in Verilog Files to generate Gtech file, it requires Synthesis Tool is in the search path.

Launch GofCall Script Interface

This command launches GofCall window to run scripts or other interactive command.

Switch to GOF Shell Mode

This command exits GUI mode and switches to shell mode. It has ‘GOF >’ shell interface in shell mode.

Spare Cells

This command group processes Spare cells in metal ECO.

Create Spare Cells File

This command extracts spare cells from netlist file. It requires that spare instances name complies name convention specified in Menu Setup->GofECO->Setup->SpareCellPattern. The default is ‘spare_\w+_\d+’ . If multiple users are doing different ECO at the same time, the spare cells file should be stored in a public directory that all users can access, so that users won’t reuse a spare cell already used in one ECO.

 Load Spare Cells File

This command loads in the spare cells file created by the above command.

Launch Files Compare Window

This command launches netlist files compare window. The netlist compare function can do more than simple Linux ‘diff’ command.

Process Timing Violations

This command processes Prime Time report file. Read this PDF file for the use case.

www.nandigits.com/use_cases/gof_timing_analysis.pdf

SDF

This command group processes SDF file for delay information interactivity.

Create SDF Index File

GOF reads in SDF Index File instead of SDF file itself, since SDF can have huge size. Once the index file is created it can be reused next time and loaded in much faster.

Load SDF Index File

This command loads in already created SDF Index File.

Options Menu

Hierarchy Window Font

Check GofViewer Figure for the hierarchy list window position

Increase Font Size

Increase font size in the hierarchy list window.

Decrease Font Size

Decrease font size in the hierarchy list window.

Netlist Window Font

Netlist window locates in the right side of GofViewer window. Check GofViewer Figure for the netlist text window position

 

Increase Font Size

Increase the font size in netlist window.

Decrease Font Size

Decrease font size in netlist window.

Dump Waveform Restore File

An option window pops up for users to choose which dump restore file to be saved. It’s useful for netlist simulation debug. When one format box is checked,  in pop menu, ‘Write Waveform Restore File’ item is presented on the top when one net is selected in the netlist window.  

Setup

Integration of various setup information.

Help Menu

General

General help information.

About

About Gates On the Fly.

nandigits.com/gof_manual.htm

Visit the website for this manual.

Read Ethernet Mac Address

Read out MAC address. When users decide to purchase licenses or ask for evaluation licenses, MAC address is required to generate GOF licenses.

Keyboard Shortcuts

Access Menu

Press key ‘Alt’ and underlined letter in menu.

Functions access

·         Ctrl-c: Copy the marked (highlighted) string

·         Ctrl-v: Paste the content in clipboard

·         Ctrl-d: Trace driver of the  marked net

·         Ctrl-f : Search function

·         Ctrl-g: Load instance to schematic

·         Ctrl-s: Emacs style search forward

·         Ctrl-r: Emacs style search backward

·         Ctrl-w: Write to waveform dump restore file

·         Ctrl-x: Exit the current window

Selection Status

Click mouse-left-button on netlist text window, the object which can be net, instance or module under the cursor is highlighted. Netlist window pop menu has different content according to the selection status.  Pressing keys Ctrl-a can have all content in the netlist window selected. Press mouse-left-button and don’t release, move mouse down to select multiple lines.

Netlist Window Pop Menu

Click mouse-right-button and release, a pop menu appears under the cursor. The menu content varies with the selection status in the netlist window.

Search

Search for a string in the netlist window. Keyboard shortcut is Ctrl-f.

Copy Selected to

Copy the selected object (net or instance) to new schematic window or existing schematic window.

Schematic New

Copy the selected object to a new schematic.

 Schematic #number

Copy the selected object to an existing schematic window.

Driver of the selected net

Trace to the driver of the selected net. The netlist window will show the instance that drives the net and mark the driven net.

List Connectivity of the selected net

Pop up a window to list the connectivity of the selected net.

List Fanin EndPoints

Pop up a window to list the fanin endpoints including flops and input ports that drive the selected net.

List Fanout EndPoints

Pop up a window to list the fanout endpoints including flops and output ports that are driven by the selected net.

Parent Module

Go to the definition location of the parent module calling the current module. It’s only active in sub-modules, not in root top level module.

List Context

List the context of the selected object which can be net, instance or module.

Hierarchy Window Pop Menu

Click mouse-right-button and release, a pop menu appears under the cursor. The menu content varies with the selection status in the hierarchy window.

Run Custom Command:  Command Name

It requires users to setup the custom command in menu Options->Setup->Misc->’Custom command’. The command can be a editor application, such as ‘emacs’. It opens the netlist file with the editor.

Show Definition

Open the module content and display it in the netlist window.

Show Calling

Open the parent module and highlight the instantiation location.

Report Area of the selected design

See Report Area

Report Leakage of the selected design

See Report Leakage

Report Leaf Cells of the selected design

See Report Leaf Cells

Report Submodules of the selected design

See Report Submodules

Statistic of the selected design

See Statistic of Current Design

Edit Module of the selected design

Edit the module by using edit tool defined in menu Options->Setup->Misc->’Edit tool’. It will ask for a  directory for storing  temporary files.

Save Module of the selected design

After editing, the edited modules can be saved into a file.

Goto Line Number#

See Goto Line Number

GofTrace

GofTrace is an incremental schematic engine. Users control  how to expand the schematic by clicking the input/output pins of gates with mouse-middle-button.  Users can adjust the positions of the gates on the schematic any time by mouse-left-button.

Figure 2: GofTrace Window

 

File Menu

Save

Save the schematic to a file for future usage. The saved file has extension ‘.st’ which can only be used by GOF in ‘Open’ schematic command shown below.

Open

Open schematic stored by Save command above.

Print

Print schematic to a printer or file. Printer Page Setup window pops up for the print scope setup. In Windows platform, users can select one of the printers configured in the system.  In Linux platform, make sure ‘lpr’ command works. 

Exit

Exit GofTrace window.

 

Schematic Menu

New Schematic

This command launches a new GofTrace schematic window.

List Gate

This command pops up a window for user to enter a string into the entry to find the matching instances. It accepts wildcards in both hierarchy name and instance name. For example,  there are four hierarchical instances u_lane0, u_lane1, u_lane_2, u_lane3, each instance has spare modules with instance naming ‘u_spare*’, and in each spare module AND gate has instance naming ‘*AND*’. In order to find all the spare AND gates, one can enter a string ‘u_lane*/u_spare*/*AND*’.

Load Gate

This command pops up a window for user to enter a string into the entry to load the matching instances onto the schematic. Same as ‘List Gate’ command above, it accepts wildcards. However, the total number of gates drown on the schematic should not exceed the threshold defined in Menu Options->Setup->Misc->’Gates number limit’.

Load Gate Driving Net

This command pops up a window for user to enter a string into the entry as the net name. The tool will find the driver of the net and draw the driver on the schematic.

List Selected Instances

Use mouse-left-button to select a bunch of objects (Instances or wires) on the schematic. Click this command to list all the selected instances’ full hierarchical names in a pop window.

List Selected Wires

Use mouse-left-button to select a bunch of objects (Instances or wires) on the schematic. Click this command to list all the selected wires’ full hierarchical names in a pop window.

List Selected Modules

Use mouse-left-button to select a bunch of objects (Instances or wires) on the schematic. Click this command to list all the selected gates’ module name in a pop window.

List Selected Instances Definitions

Use mouse-left-button to select a bunch of objects (Instances or wires) on the schematic. Click this command to list all the selected instances’ full definitions in a pop window.

List Selected Gates Types

Use mouse-left-button to select a bunch of objects (Instances or wires) on the schematic. Click this command to list logic type numbers of all the selected gates in pop window. For example, ‘AND’ gate has type ‘and’, inverter has type ‘not’.  The pop window can have information such as “Type ‘not’ has 11”.

Zoom In

This command can zoom in the schematic view. The maximum zoom in ratio is 100%. Keyboard shortcut for this command is key ‘+’.

Zoom Out

This command can zoom out the schematic view. The minimum zoom out ratio is 13%. Key board shortcut for this command is key ‘-‘.

Zoom to

This command can directly select zoom ratio, the valid values are   100%,  67%, 44%, 30%, 20% and 13%.

Find Gates on Schematic

This command pops up a window for users to enter a string to find the matching instances on the schematic. It matches portion of the full name. For example, ‘U’ matches ‘U0’, ‘U1’ and ‘U222’.

Find Nets on Schematic

This command pops up a window for users to enter a string to find the matching wires on the schematic. It matches portion of the full name. For example, ‘Net0’ matches ‘Net0’, ‘Net011’ and ‘Net023’.

Undo Schematic Operations

This command is to undo schematic operations. Keyboard shortcut is Ctrl-z.

Place & Route

This command group is to automatically place the gates on the schematic and automatically route the wires.

Auto Place & Route

This command is to do bother placement and routing automatically.

Auto Place

This command is to do automatic placement only.

Auto Route

This command is to do automatic routing only.

Reset Route

This command is to reset all existing routes, all routed wires become straight.

Create PS/PDF File

This command is to create Postscript file or PDF file for the current view of the schematic. In Windows platform, only Postscript is support. On Linux platform both Postscript and PDF are supported.

Commands Menu

View Gates in Layout

This command launches layout viewer window. If some gates and wires are selected on the schematic, they will be highlighted on the layout viewer. It requires DEF and LEF physical design files to be loaded.

Load Layout Files

This command is to load layout physical design files. They include DEF and LEF files. The command can be run several times to load the physical design file one by one. DEF and LEF files can be loaded by command line with -def and -lef options.

 Launch GofCall Script Interface

This command launches GofCall Script Interface window.

Spare Cells

This command group handles spare cells in automatic metal ECO flow.

Create Spare Cells File

This command creates spare cells file. The spare cells are instances in the netlist file with special naming convention defined in Menu Options->Setup->GofECO->Setup->SpareCellPattern

Load Spare Cells File

This command loads the spare cells file created by the command above.

Launch Files Compare Window

This command launches netlist files compare window.

Process Timing Violations

This command launches Prime Time report file processing controller.

SDF

This command group handles SDF loading.

Create SDF Index File

This command creates SDF file index file. GOF doesn’t load the full SDF file, but SDF index file instead.

Load SDF Index File

This command loads SDF index file created by the command above.

Options Menu

Increase Font Size

This command increases the font size on the schematic.

Decrease Font Size

This command decreases the font size on the schematic.

Show Port

This option makes port name visible.

Show Wire

This option makes wire name visible.

Show Title

This option makes gate title visible.

Show Type

This option makes gate type visible.

Show Connections

This options makes wires visible.

Show Comment

This option makes comments visible.

Dump Waveform Restore File

This command pops up a window to setup simulation waveform restore file. Four waveform restore file formats are supported.

·         SimVision Restore File

·         ModelSim Restore File

·         Verdi Restore File

·         GtkWave Restore file

 

If one or more of the formats are selected, GofViewer and GofTrace pop menus will have ‘Write Selected Nets to the Waveform Restore File’ as the first item, when a net is selected.

Save String to Clipboard

This option enables saving string to clipboard when a wire or instance name is clicked by mouse-left-button.

Cursor Mode

This is normal mode of the schematic tracing.

Line Edit Mode

This mode sets cursor in editing wire connections mode. Press mouse-left-button on the straight wire connection and move, the line will be pulled by the cursor until the mouse button is released.

 Setup

The command pops up configuration window for the tool setup.

Help Menu

General

General help information.

About

About Gates On the Fly.

nandigits.com/gof_manual.htm

Visit the website for the manual.

Keyboard Shortcuts

Access Menu

Press key ‘Alt’ and underlined letter in menu.

Functions access

·         Ctrl-c: Copy the selected objects

·         Ctrl-v: Paste the content in clipboard copied by Ctrl-c

·         Ctrl-g: Load instance to schematic

·         Ctrl-w: Write to waveform dump restore file

·         Ctrl-x: Exit the current window

·         Ctrl-digit: Save the selection location as the digit indication, the schematic view will move the current saved location when the digit is pressed later

Selection Status

Click mouse-left-button on the schematic window, the object which can be net, instance under the cursor is highlighted. GofTrace pop menu has different content according to the selection status.  Pressing keys Ctrl-a can have all selected on the schematic. Press mouse-left-button and don’t release, move mouse down to select multiple objects.

GofTrace Pop Menu

Click mouse-right-button on GofTrace schematic, a menu pops up. The content of the menu varies as the selection status on the schematic.

Find Circuit between Two Points

When two or more than two instances are selected on the schematic, the command item appears in the pop menu. This command finds the combination logic path between two instances.

Add Comments

This command adds comments entered by users on the schematic.

Find Gates on Schematic

See Find Gates on Schematic.

Find Nets on Schematic

See Find Nets on Schematic.

Place & Route

See Place & Route.

Show Logic Cone

Logic Cone is the logic cluster between flops and ports, as shown in the following figure. Users should select the output flop or its pins to do logic cone extraction.

Figure 3: Logic Cone

On the Schematic

Draw the whole logic cone on the schematic.

In Text Mode

Draw the whole logic cone in a pop up text window.

Copy Selected to

This command group does interactions between GofTrace windows and LayoutViewer windows.

 Schematic New

Copy the selected items to a new schematic.

Schematic Number#

Copy the selected items to an existing schematic identified by ID Number.

Layout New

Copy the selected items to a new launched LayoutViewer window. The selected circuit will be marked on the LayoutViewer window.

Layout Number#

Copy the selected items to an existing LayoutViewer window indentified by ID Number.

Find selected in GofViewer

This command finds the selected instance back in GofViewer netlist window, and highlights the instance in the netlist window.

Edit Gate Display

This command pops up a window for users to add or change comments associated with the gate and change the color of the gate.

List Logic for the Selected Leaf Cell

This command pops up a text window to list the logic of the selected leaf cell.

List Context for the Selected Leaf Cell

This command pops up a text window to list the library content of the selected leaf cell. The content includes the cell’s pin definitions, area and timing.

List Definition for the Selected Instance

This command pops up a text window to list the instantiation of the selected instance.

Load Instance Similar to the Selected Instance

This command pops up an entry window with the current selected instance name pasted in the entry. So that user can do simple change to load other similar naming style instance onto the schematic.

Equivalent Symbol

This command changes the selected gate symbol display to the equivalent symbol according to DeMorgan's Laws. For example, NAND symbol is equivalent to Inputs Inverted OR symbol.

Delete

This command deletes the selected objects on the schematic. The object can be gates, wires and comments.

GofECO

GofECO uses the same window as GofTrace by enable ECO mode. The background color changes to light blue by default. The color can be configured by Menu Setup->GofECO->Color->BackGround. The ECO operation icons appear on the tool bar. GofECO uses the same menus GofTrace uses, besides the contents in ECO menu being activated.

ECO Menu

 

Enable ECO and ECO Preferences

This option enable ECO mode, GofTrace switches to GofECO. A pop up window appears for inputting ECO setups. 

Figure 4: ECO Preferences

·         ECO Name should be unique, so that name confliction can be avoided

·         ECO Header Comment is optional, which will appear at the beginning of ECO netlist file

·         ‘Metal only’ enables automatic metal ECO flow

·         ‘Delete floating gates’ enables deletion of output floating gate when saving ECO result

 

Insert Gates

This command inserts gates in the selected wires. It requires one or more wires being selected on the schematic, before inserting gates. A ‘Gate selection’ window pops up for users to select proper type of gates and gate number. When multiple wires are selected and some wires have the same drivers, users can choose either one gate driving all shared wires or one gate driving each wire. Users will be asked to choose the pin connections in ‘Specify pin connections’ window.  The default pin connections setup can be used and users can modify the connections later on the schematic. Read this PDF use case for more detail.

http://www.nandigits.com/use_cases/gof_insert_buffers_inverters.pdf

Replace Gates

This command replaces the selected gates with a different type of gates. It requires one or more gates being selected on the schematic. If two or more than two gates are selected, they should have the same type. A ‘Gate selection’ window pops up for users to select proper type of gates to replace the selected ones. Users will be asked to choose the pins connections in ‘Specify pin connections’ window.  The default pin connections setup can be used and users can modify the connections later on the schematic.

Add Gates

This command adds new ECO gates on the schematic. A ‘Gate selection’ window pops up for users to select proper type of gate to add onto the schematic. The new ECO gates appear as output driving a new net and input floating. The hierarchy of the gate is undefined. When users connect one of the input pins to another existing gate or connect other gate’ floating input to the ECO gate’s output pin, the ECO gate gets the same hierarchy as the other gate. Read Add Connections for more detail.

Delete Selected Items

This command deletes the selected items. Users would be warned for deleting multiply objects at the same time.

Upsize Drive Strength

This command upsizes the selected gate to a higher drive strength gate with the same type. If there is no higher drive strength gate available, users would be warned with a pop up information window.

Downsize Drive Strength

This command downsizes the select gate to a lower drive strength gate with the same type. If there is no lower drive strength gate available, users would be warned with a pop up information window.

 

 Undo ECO Operations

This command undoes the previous ECO operation, until no more ECO operation is in the pipeline.

Claim Spare Gates

This command is used in Automatic Metal ECO, ‘Metal only’ should be checked in ECO preferences configuration. It pops up a text window to list which spare gate can be mapped to for each ECO gate.

Save ECO

This command saves ECO result to a file. The supported file formats:

·         Verilog netlist

·         GofCall Perl Script

·         SOC Encounter ECO script

·         Tcl script for Synopsys

·         DC script for Synopsys

Metal ECO

Metal ECO only touches metal layers. There are two ways to do metal ECO. Automatically mapping spare gates and manually handling spare gates.

Automatically Mapping Spare Gates

·         Load spare cells list file, it can be loaded by command line with -sparelist option

·         Load DEF/PDEF files, it can be loaded by command line with -def option

·         Enable ‘Metal Only’ option in ECO Preferences

·         ECO gates will be only available from the spare cells list

·         When ECO is done, press button ‘Claim spare gates’

·         Spare gates replacement status window shows the detail replacement

·         When save ECO result to SOC Encounter ECO script, these new added ECO gates use the location of the corresponding spare gates

o   DETACHTERM U87 A0 n54

o   DELETEINST spare_CLKINVX1_119

o   ADDINST -inst eco012345_ECOCELL_0 -cell CLKINVX1 -loc 2153.72 11.07

o   ADDNET eco012345_wire0

o   ATTACHTERM eco012345_ECOCELL_0 Y eco012345_wire0

o   ATTACHTERM eco012345_ECOCELL_0 A n54

o   ATTACHTERM U87 A0 eco012345_wire0

Figure 5: Claim spare gates

Manually Handling Spare Gates

This flow requires users to decide which spare gates to use in metal ECO. Users checks LayoutViewer to find out what is the closest right type spare gate. Read this PDF use case for more detail.

http://www.nandigits.com/use_cases/gof_metal_eco.pdf

 

LayoutViewer

LayoutViewer window displays partial physical placements.  The circuit drawn on the schematic can be highlighted on LayoutViewer. It has full interactivity with GofTrace. It requires physical design files including DEF and LEF files to be loaded.

File Menu

Capture in PDF

This command saves the current LayoutViewer display to PDF file. It is only supported in Linux Platform.

Exit

Exit LayoutViewer.

View Menu

Show Grid

This option shows grid on LayoutViewer.

Show Instance

This option shows instance name on LayoutViewer.

 Show Module

This option shows module name on LayoutViewer.

Help Menu

nandigits.com/gof_manual.htm

Visit NanDigits web site for Gates On the Fly manual.

LayoutViewer Pop Menu

Click mouse-right-button to pop up the menu.

Clear Circuit Markers

This command clears circuit markers which were mapped from GofViewer.

Clear Searching Markers

This command clears searching markers which were activated by search function.

Copy Selected to

This command copies the selected gates to the following destination:

·         Back to GofViewer

·         A new Schematic

·         An existing Schematic indentified by Number ID

GofCall Script Interface

GofCall is the Perl Script Interface with internal APIs exported. The scripts are commonly used in batch mode ECOs and large size netlist debug.

Features list

APIs list

·         set_top: Set the current top level module

·         set_inverter: Set inverter

·         push_top: Set the current top level module and push the previous setting to stack

·         pop_top: Pop out the saved top level module from the stack and discard current top level module setting

·         get_conns: Get connections of net or pin in the top level module

·         get_drivers: Get the drivers of the net or pin

·         get_net_of: Get the net name connecting to the pin

·         get_cell_info: Get information of a module or instance

·         get_cells: Get all cells in the current module or and sub-modules

·         get_coord: Get cell's coordination

·         get_nets: Get nets that matching pattern

·         get_def: Get instantiation of instance

·         is_seq: Check if a leaf module is a specific sequencial cell

·         is_leaf: Check if a module or instance is leaf cell

·         get_modules: Get all hierarchical modules in the top level module

·         get_instances: Get all hierarchical instances in the top level module

·         get_roots: Get root designs name

·         get_ref: Get the reference of the instance

·         get_ports: Get all ports matching the direction in the top level module

·         get_pins: Get pins of instance or module

·         get_logic_cone: Get logic cone of nets or pins

·         get_resolved: Resolve the relative path to module and leaf item

·         gprint: Print out the message and save to log file

·         exist_inst: Check if exist the instance

·         exist_wire: Check if exist the wire

·         check_design: Check if the design has unresolved modules or other errors

·         get_lib_cells: Get leaf gates in libraries

·         get_leafs_count: Get all leaf cells name and count in the top level module

·         get_leaf_pin_dir: Get leaf cell pin's direction input/output/inout

·         strict_syntax: Use strict syntax

·         set_quiet: Run script in quiet mode

·         set_verbose: Run script in verbose mode

·         set_max_lines: Set max output lines

·         set_keep_format: Set keep format of the original verilog when ECO is done

·         set_power: Set power pins connections for leaf cell

·         gexit: Exit the GofCall interactive mode

·         setup_eco: ECO command. Setup ECO

·         change_pin: ECO command. Modify pin connection in ECO.

·         change_gate: ECO command. Modify an instance in ECO

·         change_net: ECO command. Change a exsiting net's driver

·         change_port: ECO command. Change an output port's driver

·         new_net: ECO command. Create a new net

·         new_gate: ECO command. Create new gate

·         new_port: ECO command. Create a new port for the current top level module

·         place_gate: ECO command. Place gate

·         del_gate: ECO command. Delete gate

·         del_net: ECO command. Delete net

·         del_port: ECO command. Delete port

·         buffer: ECO command. Buffer high fanout ECO nets

·         replace_logic_cone: ECO command. Replace logic cone

·         undo_eco: ECO command. Undo eco operations

·         write_verilog: ECO command. Write out ECOed netlist to a file

·         write_tcl: ECO command. Write out ECO result in Design Compiler tcl script format

·         write_cdn: ECO command. Write out ECO result in Cadence SOC Encounter script format

·         write_dcsh: ECO command. Write out ECO result in Design Compiler dcsh script format

·         sch: Launch schematic to verify ECO

·         run: Run GofCall script

·         read_design: Read design

·         read_library: Read stardard library

·         read_file: Read timing violation report file

·         read_def: Read DEF file

·         fix_setup: Fix setup

·         fix_hold: Fix hold

 

For detail of each API usage visit

http://www.nandigits.com/gofcall_apis.htm

Run in GUI mode

GofCall scripts can be run in GUI window. In GofViewer, click Menu Commands->’Launch GofCall Script Interface’ to launch GofCall GUI window.

Type ‘help’ in the shell entry for help information. Scripts can be run by ‘run’ command in the shell entry

Run in Command Line

GofCall scripts can be run in command line by ‘-run’ option. Such as

gof -lib synthesis.lib TM_qcif.v -run eco1418.pl

Appendix A

GOF Command Options

 

gof [options] netlists

options:

  -h:             Print out this info.

  netlists:    Load netlist. There can be multiple netlist files listed,

                    if the design has more than one netlist files.

  -lib technology_library: Or '-synlib technoloty_library', Load in technology library (synthesis library)

                    which has parameters for leaf gates.

                    There can be multiple -lib options,

                    if the design has more than one technology library files.

  -v simulation_library:  Specify simulation library file name which has verilog definition

                    for leaf gates, like AND2X4.

                    There can be multiple -v options, if the design has more than one simulation library.

                    Both -v and -lib options are for leaf gates definition.

                    But -lib can support more features, like logic cone extraction.

                    In some cases, some leaf cells don't have technology library,

                    simulation lbrary is used instead to resolve the cells.

                    -v option can coexist with -lib option.

  -vmacro macro_library_file:  For ECO purpose. Each module in the file appears as leaf cell, and it can be

                    added like other leaf cell in ECO.

                    When write out ECO netlist, the file content appear in the beginning of ECO netlist. And the   

                    ECO cell is added as a hierarchical sub-block.

  -y library_directory: Specify library directory, one file corresponds to one leaf gate.

                    +libext+.v should be used with -y option.

  +libext+.v:       Specify library file extension in library directory.

                    it can be +libext+.v+.vg+.vlib,

                    if .vg and .vlib are also lib extensions.

  -run script_file.pl:  Invoke GofCall to run netlist processing script, Gof will stay in shell mode when the

                    script finishs.

  -vn library_name: Specify none leaf gates library file. For example, a file has

                     collection of macro cell which is defined by leaf gates.

  -yn library_directory: The files in the directory are not defining leaf gates.

  -shell:           Run in text mode with shell prompt, GofCall APIs can be run in interactive mode in shell

  -o log_file:      Save log file, default gatesof.log

  -Top_1 netlist_files: Load another netlist files to build Top_1 tree. The hierarchy will shown up in left

                       side of GofViewer window.

                       You can use -Top_2 -Top_3 ... to load more netlist files.

                       Note, when this option takes all netlist files followed, so the main netlist files should appear

                       before this option

                       For example, 'gof -lib tsmc.lib revised_netlist1 revised_netlist2 -Top_1 golden_netlist1

                       golden_netlist2' will create two trees in the left side of GofViewer window.

                      While,  gof -lib tsmc.lib -Top_1 golden_netlist1 golden_netlist2 revised_netlist1                         

 revised_netlist2' will build only  one tree, since Top_1 option eats up all of the netlist files, the main tree is gone.

  +define+PARAMETER0+PARAMETER1:    Define PARAMETER0 PARAMETER1.

  -id mydesign:  Specify design id will appear on tile. Optional.

  -def def_file:    Load DEF, design exchange format, file.

  -lef lef_file:    Load Library Exchange Format file

  -pdef pdef_file:  Load in pdef file. 

                    There can be multiple -pdef options,

                    if the design has more than one pdef files.

                    DEF file is preferred if both DEF and PDEF files are available.

  -gtech gtech_file: Load in gtech file for wire matching.

  -sparelist spare_cells_list_file: Load in spare cells list file.

  -f file_list_file: Load all the files and options in the file_list_file

  -vcd vcd_file:    Load in VCD file for schematic annotation

  -textbutton:      Text mode button instead of image mode button in ECO operations

  -version:         Print out current version

  -licquery:        Query license usage

 

Command line Examples

  gof -lib tsmc.lib soc.v

      --- You have one netlist file 'soc.v' and one technology library, 'tsmc.lib'

  gof -lib tsmc_std.lib -lib tsmc_io.lib top.v part0.v part1.v

      ---  You have three netlists, top.v, part0.v and part1.v, two technology library files

           standard library cell, tsmc_std.lib, IO cells, tsmc_io.lib

  gof -lib tsmc_std.lib -lib tsmc_io.lib -v analog_models.v top.v part0.v part1.v

      ---  Some analog cells having no technology library,

           using '-v' option instead to load in analog simulation library

  gof -lib tsmc_std.lib -lib tsmc_io.lib -vn macros.v -v analog_models.v top.v part0.v part1.v

      ---  macros.v has defined macro cells like sync-cells

  gof -v /home/lib/tsmc_cells.v /home/netlist/soc.v

      ---  You would rather to use simulation library instead of technology library

  gof -v /home/lib/tsmc_cells.v -v /home/lib/macro_cells.v +libext+.v -y /home/lib /home/netlist/top.v

               /home/netlist/soc.v

      ---  Multiple simulation library files, and some leaf cells are defined in '/home/lib' directory,

           which uses '-y' option to resolve them

  gof -v /home/lib/tsmc_cells.v +libext+.v -y /home/lib -yn /home/vmodule /home/netlist/soc.v

      ---  '/home/vmodule' has some macro cells files

  gof -v /home/lib/tsmc_cells.v /home/netlist/soc0.v /home/netlist/soc1.v -id the_soc_design

      ---  You would like to display 'the_soc_design' as the title

  gof -lib tsmc.lib -def soc.def.gz -lef libcell.lef soc.v

      ---  Design Exchange Format file soc.def.gz. And library exchange format file. For layout view usage

  gof -v /home/lib/tsmc_cells.v /home/netlist/soc.v -gtech soc_submod.gtech.gv

      ---  Load in gtech file for RTL wire to netlist mapping

  gof -lib tsmc.lib soc.v -run scripts.pl

      ---  Process netlist with scripts.pl in text mode, scripts.pl is in perl syntax

  gof -lib tsmc.lib revised_netlist.v -Top_1 golden_netlist.v

      ---  Load both revised netlist and golden netlist, it's good for netlist comparison