Контроль выполнения: оператор утверждения и механизм атрибутов
Одной из задач синтеза схем является обеспечение требований корректности работы схемы в реальных условиях и согласованности временных соотношений входных сигналов (например, кода адреса, кода данных и управляющих сигналов приема кода, задания режима работы схемы, выборки микросхемы и прочее), задержек переключения элементов схемы и т.д.
Поэтому важнейшими задачами моделирования как инструмента анализа схем должны быть:
1) обеспечение контроля корректности (достоверности и непротиворечивости) входных данных;
2) обеспечение контроля временных ограничений.
Требования достоверности входных данных возникают из-за того, что возможны неисправности при формировании или передаче данных, например, появление неправильного (несуществующего) адреса памяти, или могут появляться так называемые запрещенные состояния, например, асинхронные входы R=S=1 в RS-, D-, JK-, T-триггерах, регистрах, счетчиках.
Временные ограничения включают:
- время установки сигнала (сигналы адреса и данных должны быть стабильны в течение определенного интервала времени перед тем, как произойдет изменение управляющего сигнала, например C — синхросигнала, разрешающего прием или сдвиг в регистре сдвига, CS — сигнала выборки микросхемы и т.д.);
- время удержания сигнала (сигналы на информационных входах должны сохранять свои значения в некотором промежутке времени после изменения управляющего сигнала);
- длительность сигнала, длительность фронта и среза сигнала (длительность импульса в состоянии 0 и 1 с учетом длительности фронта и среза для большинства схем не должна быть меньше
задержки переключения элементов, на которые поступает входной импульс).
На языке VHDL указанные ограничения могут описываться и обрабатываться различными способами, основанными на использовании соответствующих операторов контроля и атрибутов.
Операторы контроля (или оператор утверждения) обеспечивают проверку некоторого условия (булевого выражения), записываемого после зарезервированного ASSERT. Если это условие нарушается, т.е. принимает значение false, то после зарезервированного REPORT в строках отладчика DEBUG выдается сообщение об ошибке, которое следует заключать в кавычки. Затем после слова SEVERITY указывается уровень серьезности ошибки: warning, error, failure.
Таким образом, оператор утверждения имеет вид:
ASSERT <булево выражение или условие> REPORT "сообщение об ошибке" SEVERITY <уровень серьезности ошибки>
Для контроля временных ограничений в качестве условия записывается такое выражение (утверждение), которое принимает значение TRUE при соответствующих допустимых отношениях временных ограничений. При этом удобно использовать атрибуты сигналов. Используя механизм атрибутов, в VHDL-программе можно по-разному записать одни и те же условия.
Например, проверка условия появления фронта сигнала clock, т.е. перехода из 0 в 1, может быть записана тремя способами:
1. clock’event and clock = ’1′
2. not clock’stable and clock = ’1′
3. clock’last_value = ’0′ and not clock’stable
- Утверждения в SQL
- Редактор временных диаграмм – ALDEC Active-HDL
- Задачи, решаемые применением языка VHDL для анализа и синтеза дискретных систем
- Именование сущностей и атрибутов
- Контроль ошибок во встроенном SQL
- Механизм обработки сообщений в Delphi
- Процессы и сигналы в VHDL
- Генератор временных диаграмм в виде таблиц в Active-HDL
- Контроль за металлом и сварными соединениями в процессе эксплуатации
- Контроль и испытания при изготовлении оборудования
- Моделирование в VANTAGE
- Оператор присваивания: арифметический и логический – Pascal
- Оператор выбора CASE в Pascal
- Однострочный оператор SELECT во встроенном SQL
- Динамический SQL, оператор одноэтапного исполнения
- Способы выполнения и направления развития проектных работ
- Механизм коррозии металла под влиянием газовой среды и золы топлива