产生的问题是在FPGA上电启动时这部分引脚总是会快速的闪过一次高电平才恢复低电平,请问应该怎么做才能使避免高电平会闪一次的这种情况?程序中因为需要复位时保持输出结果,所以不能使用复位信号,关键代码:
always @(FPGA_KCEN or M_KCIO )
if ( FPGA_KCEN) begin
F_KC = M_KCIO ;
end
代码中F_KC即为输出管脚,M_KCIO为外部输入
输出是用来驱动继电器的,直观表现就是继电器在系统上电时会快速的闭合一次
我设置IO引脚为pulldown,还是会发生这种现象,另外我如果改成
if(!rst_n) F_KC = 0;
else if ( FPGA_KCEN) begin
F_KC = M_KCIO ;
end
这样的话就不会出现上述现象,但是这与要求不符合
貌似你用的是Xilinx. Quartus II用这种语句实施组合有点不灵光。从规范性来说,追问的语法比较规范——所有的REG/Wire都应该在RST#期间做确定性地初始化。
既然后面的可以实现你要的功能,那表明本FPGA芯片是有潜力实现你要的功能的。只是你尚不知道怎么运用或者因某种错误被引入了盲区。
不太推荐你用FPGA的组合语法实现预期功能,因为它内部并没有实质的门器件。当组合用很可能出现这种无法预知的问题,你可以用个高速时钟打一下看看是否就好了。