2016-12-07 4 views
0

Я новичок в verilog и пытаюсь вычислить , где функция может быть определена/объявлена ​​в verilog (например, я знаю, что функция может быть определена в пакетах, что еще?). Заранее спасибо.Какие конструкторы в Verilog могут содержать функцию?

+1

функции может быть использован в любом месте, используется значение, или где-нибудь процедурное заявление допускается. Это почти везде. –

+0

@ dave_59, где можно определить/объявить пакет? – 9121

+0

@ dave_59 Слишком широкий? Я ответил полностью (по-моему) на 72 слова. –

ответ

2

В Verilog, функция может быть объявлена ​​между

  • module и endmodule (т.е. в текущей области модуля - внутри модуля, но за пределами блока initial или always)
  • generate и endgenerate

Всё.

В System-Verilog, функция может быть объявлена ​​между

  • module и endmodule
  • generate и endgenerate

и

  • и endclass
  • interface и endinterface
  • checker и endchecker
  • package и endpackage
  • program и endprogram

и

  • вне module/interface/checker/package/program
0

Возможно, самый простой способ объявить и использовать функцию, как, объявить все ваши функции в <module_function_pkg>.vh и включить, что для создания файла verilog.

Используйте это как @ dave_59 в комментарии.