前言
FPGA中没有双边沿触发(上下边沿都触发),即使综合时没有报错,也无法正常下载FPGA中运行。
Verilog中always@()语句双边沿触发(语法与综合的差异)
解决
可以用单独的边沿触发和组合逻辑实现双边沿触发:
module top_module (
input clk,
input d,
output q
);
reg q1,q2;
always@(posedge clk)
q1 <= d;
always@(negedge clk)
q2 <= d ;
always@(clk)
if(clk)
q = q1;
else
q = q2;
endmodule
也可以使用这篇文章的异或法:双边沿触发器