• No se han encontrado resultados

: Rúbrica

In document ESCUELA DE POSGRADO (página 130-152)

Evaluación formativa

Anexo 2 : Rúbrica

ACTION 1: In the UNIX command line, type:

% innovus –init scripts/load_init.tcl

You have learned how to start Innovus using the GUI form previously. In this section, you will learn how to start Innovus using the TCL command. You need a text file that stores the “init” variables that you entered in the GUI form in the previous exercise. You can open up the load_init.tcl file and see it contains two lines of the TCL command:

source scripts/LP_pll.globals init_design

Open up the “global” file, LP_pll.globals, and you will see the following:

set init_design_netlisttype {OA}

set init_oa_design_lib {zambezi45}

set init_oa_design_cell {LP_pll}

set init_oa_design_view {layout}

set init_oa_ref_lib {gsclib045}

The init_design command is to instruct Innovus to read all the “init” variables and start initializing the design.

After Innovus loads the design, you will see a summary of messages:

*** Summary of all messages that are not suppressed in this session:

Severity ID Count Summary

One WARNING message to be concerned about is IMPOAX-252. The message will be looked into in detail later.

ACTION 2: Open the Innovus main window. In the Innovus command line, type:

> win

ACTION 3: LMB Log Viewer… under the Tools top menu of the layout window of Innovus.

A GUI form will appear to prompt you to select the log file to view.

ACTION 4: LMB the current Innovus log file. If this is the second time Innovus is running in the current working directory, select innovus.log1 and LMB Open.

The Log Viewer window will appear. It shows all the TCL commands executed so far.

ACTION 5: LMB Edit on the top menu of Log Viewer and select Find.

ACTION 6: Enter OAX-252 in the Find Text: field. LMB the Find Next button after the entry is done.

The Log Viewer will show more messages now.

Expand the Log Viewer if necessary. You will see the warning message of ENCOAX-252:

**WARN: (IMPOAX-252): Found BusBit terminals of bus 'scan_in[1]' of cell

'LP_pll_dig_combo' without bus ordering information in OA library 'zambezi45'. This may lead to problems during saveOaDesign. It is recommended to run verilogAnnotate on the library for annotating bus ordering information to such terminals.

You see this type of message because, in this Zambezi design, the LP_pll_dig_combo block

implemented by Virtuoso has bus terminals with no bus ordering (ascending or descending) information in the corresponding layout database. Without the bus ordering information, Innovus will not be able to make the right connection. To resolve this issue, you need to generate a Verilog stub netlist for this block.

After that, you run an OA utility to annotate the right bus ordering information into the layout database using the Verilog stub netlist as a source.

ACTION 7: In the Innovus command line, type:

saveDesign –cellview {zambezi45 LP_pll layout_t1}

If you scroll back, you will notice some warning messages similar to the following:

**WARN: (IMPOAX-684): cannot find definition of BUS Term 'vcobnd' of Cell 'LP_pll_dig_combo' in reference library. This could lead to further errors while saving the OA database. Possible reasons could be that VerilogAnnotate is not run on the OA reference library that has the definition for this cell. Either run

VerilogAnnotate on the reference library to fix this problem or use command

'setOaxMode -allowBitConnection true' before saving design to make bitwise connection of terminals.

...

Without resolving the bus annotation issue, you cannot save the design properly into a new cellview in Innovus.

ACTION 8: In the Innovus command line, type:

zoomBox 198 395 201 397

You will see the wire connecting to ndiv[2] terminal of the pll_fbdiv block is marked as

_FLOATING_NET_RESERVED. Compared to the wire on its left (ndiv[1]), which connects to the terminal ndiv[1] of the pll_fbdiv block, Innovus does not recognize this net, and will not able to see a connectivity between pll_fbdiv and the other block.

Select this wire.

ACTION 9: LMB the wire (highlighted in the diagram) and enter q to see its attribute.

ACTION 10: In the Innovus command line, type:

> savenetlist debug.v

Examine the netlist debug.v. Search for pll_fbdiv and it can be seen that Innovus does not see a

connection between ndiv[2] terminal of the pll_fbdiv block. It becomes FE_UNCONNECTED$1 and FE_UNCONNECTED$0.

LP_pll_dig_combo I1 (.vcocalen(vcocalen),

.ndiv({ ndiv[6],

pll_fbdiv \|u_fbdiv (.rst_n(rst_fn), .oclk(oclk),

ACTION 11: Exit Innovus. In the Innovus command line, type:

> exit

In this section, you learned how Innovus responds to missing bus order information and the wire that does not have net connectivity. In the following sections, you will learn how to:

1) Generate a Verilog stub netlist using Virtuoso.

2) Annotate the bus ordering information to the design using an OA utility called VerilogAnnotate so that Innovus can read the bus terminals with the right order.

3) Fix the connectivity issue for the wire connecting ndiv[2] terminals of the pll_fbdiv and LP_pll_dig_combo blocks in Virtuoso.

2.2.4 Generating a Verilog stub netlist and adding net connection to

In document ESCUELA DE POSGRADO (página 130-152)

Documento similar