DocsTech
/
VERILOG HDL
/

~ cd $time, $stime и $realtime verilog

17.7 Системные функции моделировании времени Verilog

Следующие системные функции Verilog обеспечивают доступ к текущему времени моделирования: $time, $stime и $realtime.

17.7.1 $time

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

Синтаксис системной функции $time показан в Синтаксис 17-14.

...
Копировать
time_function ::= $time
Синтаксис 17-14 — Синтаксис $time
Например:
...
Копировать
`timescale 10 ns / 1 ns
module test;
    parameter p = 1.55;
    reg set;

    initial begin
        $monitor($time,,"set=",set);
        #p set = 0;
        #p set = 1;
    end
endmodule
// выходные данные этого примера:
// 0 set=x
// 2 set=0
// 3 set=1

В этом примере набору reg присваивается значение 0 при времени моделирования 16 нс и значение 1 при времени моделирования 32 нс. Значения времени, возвращаемые системной функцией $time, определяются следующими шагами:

1) Времена моделирования 16 нс и 32 нс масштабируются до 1,6 и 3,2, поскольку единицей измерения времени для модуля является 10 нс. Поэтому значения времени, сообщаемые этим модулем, кратны 10 нс.

2) Значение 1.6 округляется до 2, а 3.2 округляется до 3, поскольку системная функция $time возвращает целое число. Точность времени не вызывает округления этих значений.

ПРИМЕЧАНИЕ — Время, в которое происходят назначения в этом примере, не совпадает с временем, о котором сообщает $time.

17.7.2 $stime

$stime — системная функция, которая возвращает беззнаковое целое число, представляющее собой 32-битное время, масштабированное до единицы временной шкалы вызвавшего ее модуля. Если фактическое время моделирования не укладывается в 32 бита, возвращаются 32 бита младшего порядка текущего времени моделирования.

Синтаксис системной функции $stime показан в Синтаксисе 17-15.

...
Копировать
stime_function ::= $stime
Синтаксис 17-15-Синтаксис $stime

17.7.3 $realtime

$realtime — это системная функция, которая возвращает вещественное число time, которое, как и $time, масштабируется до единицы времени вызвавшего ее модуля.

Синтаксис системной функции $realtime показан в Синтаксисе 17-16.

...
Копировать
realtime_function ::= $realtime
Синтаксис 17-16 — Синтаксис $realtime
Например:
...
Копировать
`timescale 10 ns / 1 ns
module test;
    parameter p = 1.55;
    reg set;

    initial begin
        $monitor($realtime,,"set=",set);
        #p set = 0;
        #p set = 1;
    end
endmodule
// выходные данные этого примера:
// 0 set=x
// 1.6 set=0
// 3.2 set=1

В этом примере времена событий в наборе reg кратны 10 нс, потому что 10 нс — это единица времени модуля. Это вещественные числа, потому что $realtime возвращает вещественное число.

Главная
Курсы
Вебинары
3. Лексические правила(Синтаксис) Verilog HDL
4. Типы данных Verilog HDL
5. Выражения и Операторы Verilog HDL
6. Назначения (Assignments) в Verilog HDL
7. Моделирование на уровне вентилей и переключателей в Verilog HDL
8. Примитивы, объявляемые пользователем (UDP) Verilog HDL
9. Процедурные назначения. Поведенческое моделирование в Verilog HDL.
9. If, case for, while и repeat Verilog HDL
9. Initial, always, задержки, блоки Verilog HDL
10. Задачи(task) и функции (function) в Verilog HDL
11. Семантика планирования. Стек (stack) в Verilog HDL
12. Модули(module). Переопределение параметров(defparam).
12. Порты. Иерархические имена в Verilog HDL
12. Generate блоки Verilog HDL
12. Иерархические имена Verilog HDL
13. Конфигурирование содержимого конструкции
13. Использование библиотек. Конфигурирование содержимого конструкции в Verilog HDL
14. Specify блоки в Verilog HDL
15. Setup, hold, setuphold и recovery в Verilog HDL
15. Skew, period, width и nochange Verilog HDL
15. Проверка синхронизации сигналов в Verilog HDL
16. Бэканнотирование с использованием стандартного формата задержки (SDF) в Verilog HDL
17. Системные задачи и функции
17.2 Файлы. Запись и чтение файлов Verilog
17. Задачи временной шкалы, управления, PLA и стохастического анализа Verilog
$time, $stime и $realtime Verilog
17.8. Функции преобразования Verilog
17.9. Функции распределения вероятностей Verilog
17.10. Ввод командной строки. 17.11. Математические функции
18. Дамп файлы изменения значений (VCD)
18. Формат файла VCD расширенные и четырьмя состояниями
19. Директивы компилятора Verilog HDL
20. Обзор интерфейса языка программирования (PLI) Verilog
28. Зашифрованные оболочки
Закрыть