FPGA跨时钟域之多bit跨时钟域(1)
FPGA自学笔记分享 2023-03-22

上一篇文章已经讲过了单bit跨时钟域的处理方法,这次解说一下多bit的跨时钟域方法:

1、打两拍,比较,具体代码如下所示。






















































// ============================================================// File Name: cm_cdc_4bit// VERSION  : V1.0// DATA     : 2022/9/28// Author   : FPGA干货分享// ============================================================// 功能:4bit慢变信号跨时钟域模块// ============================================================  `timescale 1ns/1psmodule cm_cdc_4bit ( input wire          I_clk_a     , ///输入时钟a input wire          I_clk_b     , ///输入时钟b input wire [3:0]    I_data_a    , ///a时钟输入信号 output reg [3:0]    O_data_b ///b时钟输出信号 ); // ============================================================// wire reg// ============================================================ reg  [3:0]    S_data_b_d0  ;reg  [3:0]    S_data_b_d1  ;reg  [3:0]    S_data_b_d2  ;  // ============================================================// a时钟域// ============================================================   // ============================================================// b时钟域// ============================================================///使用第二个时钟进行打拍always @(posedge I_clk_b) begin S_data_b_d0 <= I_data_a ; S_data_b_d1 <= S_data_b_d0 ; S_data_b_d2 <= S_data_b_d1 ; end //打两拍之后的信号进行处理always @(posedge I_clk_b) if(S_data_b_d2 == S_data_b_d1) O_data_b <= S_data_b_d2; else O_data_b <= O_data_b ;  endmodule



声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • FPGA
  • 可编程
  • PLC
  • verilog
下载排行榜
更多
评测报告
更多
广告