АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Оператор проверки

Читайте также:
  1. XIV. ОПЕРАТОРЫ ЯЗЫКА ПАСКАЛЬ
  2. Акты проверки и браковки инструмента
  3. Алгоритм проверки нулевой гипотезы
  4. В какой срок в общем случае должен быть составлен акт выездной налоговой проверки?
  5. В какой срок в общем случае должен быть составлен акт камеральной налоговой проверки?
  6. В прошлом году российские операторы сотовой связи получили лицензии на предоставление услуг связи третьего поколения. Но это- лишь первый шаг к построению мобильной сети 3G.
  7. Взаимная ортогональность собственных функций эрмитовых операторов
  8. Використання логічних операторів та операторів співвідношення
  9. Вложенные структуры условных операторов
  10. Выполнить оператор присваивания
  11. Вычислительные операторы
  12. Глава 10. ВЫЕЗДНЫЕ ПРОВЕРКИ

Оператор проверки ASSERTотносится к категории конструкций, не подлежащих реализации в аппаратуре. Оператор служит для выявления специфических ситуаций, которые могут возникать в процессе компиляции и моделирования (т. е. программной интерпретации описания проекта), и выдачи в этих ситуациях сообщения разработчику.

<оператор проверки>::=

ASSERT <булевское выражение> [ REPORT <строка сообщения> ]

[ SEVERETY <уровень важности>];

При выполнении этого оператора в процессе моделирования проверяется условие, и если получено значение TRUE, выполняется переход к следующему оператору программы. В противном случае на терминал выводится строка сообщения. Если опция "REPORT <строка сообщения>" отсутствует, выдается стандартное сообщение "Assertion violation" (нарушение условий проверки). После этого поведение моделировщика определяется значением уровня важности. Уровень важности — это выражение (обычно константа) типа SEVERITY_LEVEL.

ASSERT NOT control_level'event

REPORT "Изменение сигнала control_level"

SEVERITY warning;

Следующий пример иллюстрирует введение сигнализации о возникновении при моделировании недопустимой ситуации — одновременной подачи на входы R и S триггера сигналов логической единицы:

ASSERT R='1' NAND S='1';

Отсутствие в этой записи ключевых слов REPORT и SEVERITY означает, что используются значения по умолчанию. То есть, если при моделировании возникнет ситуация, когда сигналы R и S одновременно установлены в единицу, на терминал выводится строка "Assertion violation", и моделирование прекращается.

 

АТРИБУТЫ В VHDL

 

Атрибуты – квази-объекты, отражающие некоторые свойства объектов Бывают предопределенные атрибуты и атрибуты, вводимые программистом

 

Атрибут может использоваться как обычная переменная в выражениях того типа, к которому относится атрибут

 

attribute_name::= prefix ' attribute_designator [ expression}

prefix::=name

attribute_designator::=name

 

Предопределенные:

атрибуты сигналов

S'DELAYED (н.п x’delayed 5ns - совпадает с типом сигнала и имеет значение равное значению сигнала за 5 ns перед обращением

S'STABLE имеет значение true или False

S'QUIET имеет значение true или False????

S'TRANSACTION

S'EVENT имеет значение true или False

S'ACTIVE имеет значение true или False вычислено новое значение но не кончено ожидание

S'LAST_EVENT дает временную переменную равную времени от последнего изменения сигнала до текущего момента

S'LAST_ACTIVE дает временную переменную равную времени от последнего воздействия на сигнал до текущего момента (не совпадает с last_event при наличии слова after в определяющем выражении

 

S'LAST_VALUE - Значение до последнего перехода

 

Process(clk,a)

Begin

If clk=’1’ and clk’event then

 

 

IF s/=s’delayed 5ns then aseert false severity error;

If s’quiet 5ns then == if nor s’transaction 5 ns

 


 

Атрибуты типов

Attribute Result  
T'left Left bound of T численный тип, целый атрибут
T'right Right bound of T численный тип, целый атрибут
T'low Lower bound of T численный тип, целый атрибут
T'high Upper bound of T численный тип, целый атрибут
T'pos(X) Position number of X in T перечютип, целый
T'val(N) Value at position N in T переч.тип, переч атр.
T'leftof(X) Value in T which is one position left from X переч.тип, переч атр.
T'rightof(X) Value in T which is one position right from X переч.тип, переч атр.
T'pred(X) Value in T which is one position lower than X переч.тип, переч атр.
T'succ(X) Value in T which is one position higher than X переч.тип, переч атр.


Process(clk,reset)

Type state_type is (st,w1,w2,w3,w4,w5….);

Variable state:state_type;

Begin

If reset=’1’ then state:=state’left

Elsif clk=’1’ and clk’event then

If x1=’1’ and x2=’0’ then

If state=state_type’left then state=state_type’right;

Else state=state_type’leftof(state)

End if;

Elsif x1=’1’ then

If state=state_type’rigght then state=state_type’left;

Else state=state_type’rightof(state)

End if;

 

else null;

end if;

end process;


 

Атрибуты массивов

Attribute Result
A'left(N) Left bound of index range of dim’n N of A
A'right(N) Right bound of index range of dim’n N of A
A'low(N) Lower bound of index range of dim’n N of A
A'high(N) Upper bound of index range of dim’n N of A
A'range(N) Index range of dim’n N of A
A'reverse_range(N) Reverse of index range of dim’n N of A
A'length(N) Length of index range of dim’n N of A

 

Type array_type is array (integer range <>) of byte;

 

Function something (x: array_type…….)

Begin

For I in x’range loop

if i= x’right then….

Else ……


1 | 2 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)