Verilog_radar1
.pdfОбращение к элементам вектора (3)
nЕсли число разрядов в левой части выражения больше чем в правой, то недостающие разряды правой части дополняются нулями (старшие разряды).
nЕсли число разрядов в левой части выражения меньше чем в правой, то лишние разряды (старшие разряды) отбрасываются
91
Массив для класса данных Net
nВ стандарте 2001 года определен массив для класса
Net:
nЗадание:
-net_type [ vector range ] net_name { [ first adr : last adr] …};
n Размерность массива может быть любая
n Диапазон элементов массива (для каждого измерения) может указываться в возрастающей и убывающей последовательности.
n Максимальный размер массива по каждому измерению – 2**24 элементов
n Если vector range не задан – массив цепей (каждый элемент массива – цепь), если задан – массив векторов (каждый элемент массива – вектор)
92
Объявление и использование массива цепей
93
Объявление и использование многомерного
массива цепей
94
Цепи со знаком
nШину (вектор) можно определить как знаковую – старший разряд
– знаковый разряд и данные представлены в доп.коде.
n Задание:
net_type signed [ vector range ] net_name { [ first adr : last adr] …};
n Выводы модуля также можно определить как знаковые цепи.
95
Непрерывное назначение
Continuous Assignment
n Описывает поведение комбинационных схем
nМожет быть сделано при объявлении цепи
или
nИспользуя оператор assign
wire [15:0] tmp = d_in ;
/*implicit continuous assignment */
эквивалентно
wire [15:0] tmp; assign tmp = d_in;
Особенности непрерывного назначения
nЛевая часть оператора Left-Hand Side (LHS) должна иметь тип данных Net
nПри изменении любого операнда в правой части оператора - Right-Hand Side (RHS) оценивается значение выражения и значение цепи LHS обновляется
nRHS может быть выражением, содержащим тип net, тип variable, вызов функции (или их комбинации)
n В оператор может быть добавлена задержка
Операторы
Операторы
nГруппы операторов:
-Арифметические - Arithmetic
-Побитовые – Bit-wise
-Свертки - Reduction
-Отношения - Relational
-Равенства - Equality
-Логические - Logical
-Сдвига - Shift
nОтдельные операторы:
-Сцепления – Concatenation
-Повторения - Replication
-Проверки условия - Conditional
Операторы отношения - Relational
|
Символ |
|
Функция |
|
Пример |
|
|
|
оператора |
|
|
ain = 3’b101 ; bin = 3’b110 ; cin = 3’b01x |
|
||
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
> |
|
Greater than |
|
ain > bin Ю 1’b0 |
bin > cin Ю 1’bx |
|
|
|
|
|
|
|
|
|
|
< |
|
Less than |
|
ain < bin Ю 1’b1 |
bin < cin Ю 1’bx |
|
|
|
|
|
|
|
|
|
|
>= |
|
Greater than or |
|
ain >= bin Ю 1’b0 |
bin >= cin Ю 1’bx |
|
|
|
|
equal to |
|
|
|
|
|
|
|
|
|
|
|
|
|
<= |
|
Less than or |
|
ain <= bin Ю 1’b1 |
bin <= cin Ю 1’bx |
|
|
|
|
equal to |
|
|
|
|
|
|
|
|
|
|
|
|
n Используется для сравнения значений
nЕсли один из операндов имеет меньший размер, то он дополняется слева необходимым числом разрядов
(дополняется нулями).
n |
Возвращает 1-битное значение true (1) / false (0) |
n |
X и Z рассматриваются как неизвестные значения |