Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
virtuoso schematic composer_5.0.pdf
Скачиваний:
97
Добавлен:
05.06.2015
Размер:
3.8 Mб
Скачать

Virtuoso Schematic Composer User Guide

Text-to-Symbol Generator

A template file helps avoid unnecessarily large TSG description files. You can specify TSG constructs shared by a large group of symbols within a single template file. This allows you to create TSG symbol description files that contain only constructs specific to a particular symbol.

®

The first time you use TSG during a Virtuoso schematic composer session, a default template file is automatically loaded. This default template file is always used unless you specify an optional template file argument in the call to execute TSG, as described later.

Settings specified within the currently active template file will apply to all symbols generated by TSG unless overridden by constructs specified within the TSG symbol description file. You can find available template filenames within thetsgTemplateMasters list, which is defined in the schConfig.il file. The default template file that is chosen depends on the initial setting of the tsgTemplateType environment variable.

Clock and Negation Indicators

To alter the appearance of certain pins, you can specify special pin graphics; for example:

To identify a clock pin, you can draw a clock indicator (a small triangle) at the beginning of the pin wire

For a negative logic pin, you can draw a negation indicator (a bubble) at the beginning of the pin wire

The example TSG files and associated figures illustrate some of these capabilities. Refer to the PinGraphicSpec construct and the wireLength and pinConnector symbol parameters.

Backannotation

After laying out parts for printed circuit boards (PCB), you often need to backannotate to schematics or PCB maps parameters, such as pin numbers and reference designators of symbol instances.

You can include constructs in the TSG symbol description file that specify the properties and parameters required to support the backannotation operation.

Simple File Example

The simplest TSG symbol description for an SN74LS181 symbol has the following format:

October 2002

599

Product Version 5.0

Virtuoso Schematic Composer User Guide

Text-to-Symbol Generator

defcell("tsgfig1"

input(A0 A1 A2 A3 B0 B1 B2 B3 Cn Set Reset)

output(F0 F1 F2 F3 C)

defsymbol(symbolProps( partName = "TSGFIG1"))

)

The following example shows a symbol generated from the TSG symbol description file shown above.

Complex File Example

A more elaborate version of a TSG symbol description file for an SN74LS181 symbol has the following format. This symbol was generated using the PCB package.tsg template file as an argument to the tsg command:

tsg( "exampleLib" "~/tsgFiles/fig2.tsg" prependInstallPath("samples/symbolGen/package.tsg") )

defcell("tsgfig2"

input( A0 A1 A2 A3 B0 B1 B2 B3 Cn Set Reset) output( F0 F1 F2 F3 C)

defsymbol(

symbolProps(

vendorName = DEMO partName = "TSGFIG2" refDes = U2 )

pinNumSpec(

October 2002

600

Product Version 5.0

Virtuoso Schematic Composer User Guide

Text-to-Symbol Generator

A0:1

A1:2

A2:3

A3:4

B0:18

B1:17

B2:16

F0:7

F1:8

F2:9

F3:10

C:11 )

pinLocSpec(

topPins( Set) bottomPins( Reset) )

pinGraphicSpec(

A0:actLo

A1:actLo

A2:actLo

A3:actLo

B0:actLo

B1:actLo

B2:actLo

B3:actLo

Cn:clock

Set:actLo

Reset:actLo

F0:actLo

F1:actLo

F2:actLo

F3:actLo

C:actHi )

)

)

The following example shows a symbol generated from the TSG symbol description file shown above.

Extended File Example

The following example demonstrates many of the available TSG constructs.

defcell("count4" input("clock" "reset")

output("a0" "a1" "a2" "a3")

October 2002

601

Product Version 5.0

Virtuoso Schematic Composer User Guide

Text-to-Symbol Generator

defsymbol(

 

 

 

symbolProps(

 

 

 

partName

= "count4" ; cellview prop with valueType=string

pinNum

= (4 (0 24))

 

timeVal

= time("Jan 1 12:00:00 1993")

 

color

= ("red" ("red" "green" "blue"))

 

defTermProp(

 

 

input Iih = 1.24 ) ; all pins get property “a”.

 

defTermProp(

 

 

all b=6 )

; all pins get property "b".

symbolParam(

wireSpacing = 0.125000 wireLength = 0.250000 vSideLength = 0.000000 hSideLength = 0.000000 origin = topLeftPin pinConnector = "block"

)

symbolLabels(

defLabel( name("[@partName]")

location( "(xleft + xright)/2:(ytop + ybottom)*3/4") labelType(NLPLabel)

layer(device)

purpose(label)

)

defLabel( name("[@instanceName]") location( "xleft:(ytop + ybottom)/2") labelType(NLPLabel) justification(upperLeft) layer(instance)

purpose(label)

apply(cellview)

fontHeight(0.1)

)

defLabel( name("{pinName}") location( "1.15*stubLength:0") justification(centerLeft) apply(left)

)

defLabel( name("[@p_{pinName}]") location( "-stubLength/2:0.03125") labelType(NLPLabel)

layer(pin)

purpose(annotate)

apply(right)

)

)

pinNumSpec( "a0":16 "a1":17 "a2":18 ) pinGraphicSpec( "reset":ieeeActLo "clock":clock )

)

)

October 2002

602

Product Version 5.0

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]