fpga 输入信号除了1和0还有别的状态?

最近写了段代码,其中有部分是检测下降沿的主要部分如下

input iSignal;
input iCLK;
reg rSignal;
always @(posedge iCLK)
begin
  rSignal <= iSignal;
  if({rSignal,iSignal} == 2'b10) ...
end

很奇怪的是,居然有部分下降沿没检测到,而我在iSignal改成如下一段就能检测了

input iSignal;
input iCLK;
reg rSignal;
reg rSignalb;

always @(negedge iCLK)
begin
  if(iSignal === 1'b0) rSignal <= 1'b0;
  else rSignal <= 1'b1;

end

always @(posedge iCLK)
begin
  rSignalb <= rSignal;
  if({rSignalb,rSignal} == 2'b10) ...
end

因为是初学fpga,可能对信号类型理解有问题,以为信号类型x在实际类型中不会出现,不知道是否如此,有空再找找资料学习。还出现次计数器不工作的情况,无法理解啊

posted on 2011-06-28 13:50  harry_lee  阅读(283)  评论(0编辑  收藏  举报