范围规格Verilog

范围规格Verilog,verilog,Verilog,我正在阅读两个资料来源,它们似乎给了我关于范围规格的规则的矛盾信息。表示,“相同的实例名称不能在其他范围规范中出现两次(即使范围彼此不重叠)”,而Verilog Basic教程中有一个时间戳为34:28的4位移位器示例,代码如下: integer i; always@(inp,cnt)begin result[7:4] = 0; result[3:0] = inp; if(cnt==1)begin for(i=4; i<=7; i=i+1)begin

我正在阅读两个资料来源,它们似乎给了我关于范围规格的规则的矛盾信息。表示,“相同的实例名称不能在其他范围规范中出现两次(即使范围彼此不重叠)”,而Verilog Basic教程中有一个时间戳为34:28的4位移位器示例,代码如下:

integer i;

always@(inp,cnt)begin
  result[7:4] = 0;
  result[3:0] = inp;

  if(cnt==1)begin

    for(i=4; i<=7; i=i+1)begin
      result[i]=result[i-4];
    end

    result[3:0] = 0;

  end

end
整数i;
始终@(inp,cnt)开始
结果[7:4]=0;
结果[3:0]=inp;
如果(cnt==1)开始

对于(i=4;i“范围规范”指一次创建多个模块实例。例如,这是无效的:

my_module m [3:0] (...);
my_module m [7:4] (...);

您在示例中拥有的称为“”。

“范围规范”指的是一次创建多个模块实例。例如,这是无效的:

my_module m [3:0] (...);
my_module m [7:4] (...);
您的示例中的内容称为“”