问题描述
当我在读取二维数组时尝试使用Verilog 2001组合灵敏度列表(总是@ *)时,会发生以下错误:
“错误:Xst:1468 – ”file.v“行xx:始终块敏感性列表中的意外事件”
例
reg [1:0] lock_valid [1:0];
注册;
总是@ *
开始
if(lock_valid [0] == 2’b00)
a = 1’b1;
其他
a = 1’b0;
结束
解决/修复方法
您必须在灵敏度列表中读取的二维数组中包含数组的所有元件。
要解决此问题,请使用以下命令:
reg [1:0] lock_valid [1:0];
注册;
总是@(lock_valid [0],lock_valid [1])
开始
if(lock_valid [0] == 2’b00)
a = 1’b1;
其他
a = 1’b0;
结束
此问题已针对Virtex-6和Spartan-6器件修复。
没有回复内容