к какому $finish будет применена система в verilog?

#verilog #register-transfer-level

#verilog #уровень передачи регистра

Вопрос:

Для цифрового компьютера всегда есть режим остановки, который в основном означает отключение системы.

В verilog в коде verilog используется $ finish.

Мне просто интересно, как синтезатор будет синтезировать это.

Ответ №1:

В Verilog команды, начинающиеся со знака $, называются системными функциями (/task). системные функции вызываются только при моделировании для управления событиями, и инструменты синтеза будут их игнорировать. (в зависимости от вашего инструмента синтеза некоторые из них (например, $ readmem) могут быть синтезированы.)

$finish завершает симуляцию при вызове в simulation.

HDLS предоставляют только описание разработанного аппаратного обеспечения для моделирования или (например, FPGA) синтезируют порпусы. в конце концов, все высокоуровневые коды проекта RTL должны быть переведены (* синтезированы) в схему уровня вентиля. Так что совершенно бессмысленно думать об этом с точки зрения программирования и вызывать функцию, имитирующую поведение оборудования.

Комментарии:

1. означает ли это, что в реальной системе $ finish должен быть реализован с помощью специального дополнительного оборудования (либо последовательности завершения работы программного обеспечения, либо аппаратной логики для отключения процессора)?