|
当输入的端口上数据有变化时,输出一个负脉冲到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周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|