|
当输入的端口上数据有变化时,输出一个负脉冲到MCU,
assign in_int = creat_int_function(read_reg,old_read_reg);
function creat_int_function;
input read_reg,old_read_reg;
if( old_read_reg == read_reg )
creat_int_function = 1'b1;
else
creat_int_function = 1'b0;
endfunction
read_reg的数据是时时在更新的, old_read_reg是保存前一次read_reg的值;
当MCU读取read_reg的值后,更新old_read_reg;
1.初始时read_reg = old_read_reg;
2.in_int = 1;
3.当端口上数据有变化时,根据以上程序,in_int=0;
4.外部MCU检测到in_int下降沿,读取数据,这时CPLD使old_read_reg = read_reg,那么in_int = 1;
但是实际上并没有这个下降沿,也就是说,无论端口数据怎么变化,in_int 总是为1;
刚学习verilog,希望明白的能指点一下下,,
谢谢了,, |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|