Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VAMS-LRM-2-3-1.pdf
Скачиваний:
43
Добавлен:
05.06.2015
Размер:
3.73 Mб
Скачать

 

Accellera

Analog and Mixed-signal Extensions to Verilog HDL

Version 2.3.1, June 1, 2009

Like a regular analog block, an analog initial block is also comprised of a procedural sequence of statements. If there are multiple analog initial blocks, they are executed as if concatenated. However, statements in analog initial blocks are restricted for initialization purposes. So analog initial block shall not contain the following statements:

statements with access functions or analog operators;

contribution statements;

event control statements.

This is similar to the restrictions on the statements in analog functions.

This is because an analog initial block is executed before a matrix solution is available so statements in an analog initial block are restricted to initialization purposes prior to the availability of a solution of both the digital and the analog modules.

Additionally, digital values cannot be accessed from the analog initial block as they have not yet been assigned when the analog initial block is executed.

Analog initial block is executed once for each analysis, and can be executed for each sub-task of parameter sweep analysis (such as DC sweep). The initialization sequence of analog and digital blocks/statements are described in 8.3.1. If a parameter or variable that is referenced from an analog initial block is changed during a sub-task of a parameter sweep analysis, then the analog initial block shall be re-executed so that the new value is taken into account.

5.3 Block statements

The block statements, also referred to as sequential blocks, are a means of grouping procedural statements. The statements within the block shall be executed in sequence, one after another in the given order and the control shall pass out of the block after the last statement is executed. The block statements are delimited by the keywords begin and end.

5.3.1 Sequential blocks

The syntax for sequential blocks is shown in Syntax 5-2.

analog_seq_block ::=

// from A.6.3

begin [ : analog_block_identifier { analog_block_item_declaration } ]

 

{ analog_statement } end

// from A.2.8

analog_block_item_declaration ::=

{ attribute_instance } parameter_declaration ;

 

| { attribute_instance } integer_declaration

 

| { attribute_instance } real_declaration

 

 

 

Syntax 5-2—Syntax for the sequential blocks

 

5.3.2 Block names

 

A sequential block can be named by adding a :block_identifier after the keyword begin. The naming of a block allows local variables to be declared for that block. The block names give a means of uniquely identifying all variables at any simulation time.

89

Copyright © 2009 Accellera Organization, Inc. All rights reserved.

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