对Verilog的简单问题我似乎无法找到答案:

Ani*_*Ani 0 verilog

  1. 在Verilog模块中,参数的正确术语是什么?

  2. 变量默认为什么时没有定义?

dav*_*_59 6

moduleVerilog中的A 表示仅用于按名称对对象进行分组并复制这些对象的层次结构.运行模拟或合成到硬件时,该层次结构会变平.模块的端口将两个信号名称连接在一起,并且在展平后,只有一个信号具有多个名称.所以modules通过端口进行结构连接.

术语参数是来自软件的术语,通常表示在程序上调用例如函数或任务的例程时复制或引用的对象.

对于第二个问题,如果在没有定义变量的情况下引用变量,那通常是编译器错误.对于懒惰的工程师来说,有一个例外.如果在端口连接中引用未定义的变量,则该变量将隐式声明为1位连线.如果没有任何东西驱动该线路,则它具有默认值'z,其在任何表达式中被视为与'x相同.

此功能最初用于自动生成的门级网表,其中每个信号都是1位线,但会导致RTL描述出现许多问题.我们强烈建议使用编译器指令`default_nettype none来防止粗略的拼写错误.