跨时钟域设计是FPGA设计中经常遇到的问题,特别是对Trigger信号进行同步设计,往往需要把慢时钟域的Trigger信号同步到快时钟域下,下面是我工作中用到的慢时钟域到快时钟域的Verilog HDL设计。
// Trigger Cross Domain Design, Slow to fast clock domain
module Trig_ CrossDomain _S2F (
input clkB,
input rst_n,
input TrigIn_clkA,
output TrigOut_clkB
);
reg [2:0] Trig_dealy;
always @(posedge clkB or negedge rst_n)
if(!rst_n)
Trig_dealy <= 0;
else
begin
Trig_dealy[0] <= TrigIn_clkA;
Trig_dealy[1] <= Trig_dealy[0];
Trig_dealy[2] <= Trig_dealy[1];
end
assign TrigOut_clkB = Trig_dealy[1] & (!Trig_dealy[2]);
endmodule
用户377235 2013-3-16 14:38
快时钟不停采集慢时钟,但是这么做有什么意义么 不懂 请指教