Cтраница 4
Битовые данные преобразуются к литерному представлению битово-строчных констант, заключающихся в апострофы с литерой В, указывающей на битовые данные. Список данных при выводе может включать в себя выражения. При этом в выводной поток помещается результат вычисления выражения. [46]
Управление изнутри присвоения. [47] |
Но такая конструкция не вполне соответствует поведению большинства реальных триггерных схем, которые реагируют только на один из фронтов. В принципе, конечно, можно использовать в качестве управляемого оператора не простое присвоение, а условный оператор с целью блокирования действий на одном из фронтов, но Verilog предоставляет более компактную запись такого поведения. Префикс, содержащий слово posedge, обеспечивает исполнение оператора только при изменении результата вычисления выражения, записанного в скобках, из нулевого состояния в единичное. [48]
Арифметические операторы Модулы-2. [49] |
Хотя во всех приведенных выше примерах используются целочисленные константы и в результате получаются числовые значения, выражения могут применяться и для комбинирования других типов данных, как показано в гл. Важно помнить, что выражение задает точные правила объединения объектов данных, указывая определенные операции в конкретной последовательности. В зависимости от того, какие типы данных, значения и операторы используются, результатом вычисления выражения будет объект данных конкретного типа, имеющий конкретное значение. [50]
Операторы языка могут приводить иногда к совершенно неожиданным результатам, которые не регистрируются в качестве ошибки. Например, выражение EBASE EQU BASE - - 2 FIRST может быть обработано как ( BASE-2) FIRST или как BASE - ( 2 FIRST) в зависимости от приоритета операций. Результатом вычисления выражения CON EQU 3 5 может оказаться 3, если транслятор воспримет пробел после 3 как начало поля комментария. [51]