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