17.8. Функции преобразования Verilog

Содержание
Функции системы преобразования могут использоваться в константных выражениях, как указано в п. 5. Следующие функции работают с вещественными значениями:
integer $rtoi(real_val) ; real $itor(int_val) ; [63:0] $realtobits(real_val) ; real $bitstoreal(bit_val) ;

$rtoi — это системная функция, которая преобразует вещественные значения в целые числа путем усечения цифр после запятой (например, 123.45 становится 123).

$itor — системная функция, которая преобразует целые числа в вещественные значения (например, 123 становится 123.0).

$realtobits — системная функция, которая передает битовые шаблоны через порты модуля; преобразует вещественное число в 64-битную репрезентацию (вектор) этого вещественного числа.

$bitstoreal — системная функция, которая является обратной функцией $realtobits. Преобразует битовый шаблон в вещественное число.

Вещественные числа, принимаемые или генерируемые этими функциями, должны соответствовать представлению вещественного числа IEEE 754. При преобразовании результат округляется до ближайшего действительного представления.

Например:

Следующий пример показывает, как функции $realtobits и $bitstoreal используются в в обычных объявлениях:
module driver (net_r); output net_r; real r; wire [64:1] net_r = $realtobits(r); endmodule module receiver (net_r); input net_r; wire [64:1] net_r; real r; initial assign r = $bitstoreal(net_r); endmodule

Описание $signed и $unsigned см. в разделе 5.5.