verilog 上下边沿同时触发 可综合代码实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了verilog 上下边沿同时触发 可综合代码实现相关的知识,希望对你有一定的参考价值。
always@(posedge active_row_en)
active_row[cnt1]<=1'd1;
always@(negedge active_row_en)
active_row[cnt1]<=1'd0;
这样的代码为什么不可以综合,求解决办法。就是想在active_row_en 的上下边沿都触发,acitve_row_en的频率是1M
其次,在FPGA里面,有双沿触发的触发器吗?没有吧,所以即使可以综合,最后map的时候也会报错。
要么用沿检测实现,但是这时就不能叫“上下沿都触发了”。 参考技术A 这个active_row_en很有问题它可能会有很多的毛刺,并非是真正的上沿和下降沿,再一个如此设计会导致触发器所用时钟彼此不一致,应该用系统的时钟做一个上升沿检测和一个下降沿检测! 参考技术B active_row[cnt1]不可以在两个always块中都赋值,会报错的。
你可以试试不加posedge和nededge ,就是 always @(active_row_en),这样只要active_row_en值变化就触发。
以上是关于verilog 上下边沿同时触发 可综合代码实现的主要内容,如果未能解决你的问题,请参考以下文章