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

Virtuoso AMS Environment User Guide

Variables for ams.env Files

allowNameCollisions

Controls the netlisting of names that do not comply with AMS environment guidelines because they are not unique.

Syntax

amsDirect.vlog allowNameCollisions cyclic "no" | "warn" | "yes

Values

 

no

Netlisting halts immediately when the AMS netlister encounters

 

a non-unique name. This value corresponds to the No – Print

 

Errors value used in the graphical user interface (GUI).

warn

Maps non-unique names to system-generated names that are

 

legal in the target language, and issues a warning. This is the

 

default. This value corresponds to the Yes – Print Warnings

 

value used in the GUI.

yes

Maps non-unique names to system-generated names that are

 

legal in the target language. The AMS netlister does not issue a

 

warning.This value corresponds to the Yes – Silently value

 

used in the GUI.

Description

To comply with AMS environment guidelines, each instance, cell, terminal, parameter, and net in your design must have a unique name. If the names of these components are not unique, the AMS netlister acts as shown in the table below

How Verilog-AMS Handles Non-Unique Identifiers

Objects sharing a name

AMS netlister action

 

 

module terminal, cell

No mapping occurs, and netlisting proceeds normally

parameter, module terminal

Netlisting fails

instance terminal, parameter

No mapping occurs, and a warning is issued.

of the same instance

 

parameter, cell

No mapping occurs, and netlisting proceeds normally

April 2004

372

Product Version 5.3

Virtuoso AMS Environment User Guide

Variables for ams.env Files

How Verilog-AMS Handles Non-Unique Identifiers, continued

Objects sharing a name

AMS netlister action

 

 

net, parameter

Net identifier maps tonetName_netclash

net, module terminal

Net identifier maps tonetName_netclash. (However, no

 

mapping occurs when the net and module terminal are

 

connected to each other.)

net, cell

Net identifier maps tonetName_netclash

instance, net

Instance identifier maps toinstName_instclash

instance, parameter

Instance identifier maps toinstName_instclash

instance, module terminal

Instance identifier maps toinstName_instclash

instance, cell

Instance identifier maps toinstName_instclash

 

 

April 2004

373

Product Version 5.3

Virtuoso AMS Environment User Guide

Variables for ams.env Files

allowSparseBuses

Controls the netlisting of sparse buses.

Syntax

amsDirect.vlog allowSparseBuses cyclic "no" | "warn" | "yes"

Values

 

no

Netlisting halts immediately when the AMS netlister encounters

 

a sparse bus. This value corresponds to the No – Print Errors

 

value used in the graphical user interface (GUI).

warn

Overdeclares any sparse buses and issues a warning. This is the

 

default. This value corresponds to the Yes – Print Warnings

 

value used in the GUI.

yes

Overdeclares any sparse buses. The AMS netlister does not

 

issue a warning. This value corresponds to the Yes – Silently

 

value used in the GUI.

Description

Sparse buses do not comply with AMS environment guidelines because you must declare buses as a contiguous vector of bits before they are used in Verilog-AMS. If you specify warn or yes, the AMS netlister overdeclares sparse buses so it can continue netlisting.

Example

An example of a sparse bus in CDBA data is

b<5:0:2>

which is the same as

b<5>, b<3>, b<1>

Using the variable

amsDirect.vlog allowSparseBuses cyclic "yes"

tells the AMS netlister to handle sparse buses whenever possible, without issuing a warning.

In this example, the AMS netlister overdeclares this bus in order to continue netlisting:

April 2004

374

Product Version 5.3

Virtuoso AMS Environment User Guide

Variables for ams.env Files

module XXX (.b({b[5],,b{3],,b[1]}), ...); input [5:1] b;

...

April 2004

375

Product Version 5.3

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