cdc模块实现较简单,主要是实现单比特数据跨时钟域转换的实现。
module(clka,clka_rst_b,din,clkb,clkb_rst_b,dout)
output dout;
input clka;
input clkb;
input clka_rst_b;
input clkb_rst_b;
input din;
wire data1;
wire data2;
dsync_pre dsync_pre(.dout(data1), .clk(clka), rst_b(clka_rst_b), .din(din)); //打一拍
dsync dsync(dout2(data2),clk(clkb), rst(clkb_rst_b), din(data1) ); //打两拍或者多拍
assign dout = data2;
endmodule
写这个模块的目的主要是记住cdc模块的功能。