我用cpld做时序的转变,
其中用到接受信号A,延迟一段时间t后再输出,我用#100这种形式可以完成嘛?
可是程序始终没法综合,总是说
"The logic for <XXX> does not match a known FF or Latch template. "
请问可能是哪里的问题?
一般这种情况用什么语法呢?
程序较长我截个片段
always @ ( posedge CLK_IN or negedge CLK_IN )
begin
if ( CNT==1 ) //计数器为1时
begin
CNT<=CNT+1; //计数器+1
CS<=0;
CLK_OUT<=~(CLK_IN) ; //计数器1位置时,CLK_IN和CLK_OUT反向
#150 DATA_OUT<=0; //规定150ns的延迟
end
else if( CNT==24 ) //计数器为24
begin
CNT<=0; //计数器复位
CS<=0;
CLK_OUT<=0;
#150 DATA_OUT<=DATA_IN;
end
else
begin
CNT<=CNT+1; //计数器+1
CLK_OUT<=~( CLK_IN ) ; //计CLK_IN和CLK_OUT反向
#150 DATA_OUT<=DATA_IN; //延迟150ns
CS<=0;
end
end |