0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA跨时钟域处理方法(二)

CHANBAEK 来源: FPGA自学笔记分享 作者: FPGA自学笔记分享 2023-05-25 15:07 次阅读

图片

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

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

// ============================================================
// File Name: cm_cdc_4bit
// VERSION  : V1.0
// DATA     : 2022/9/28
// Author   : FPGA干货分享
// ============================================================
// 功能:4bit慢变信号跨时钟域模块
// ============================================================




`timescale 1ns/1ps
module 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

图片

第二种方法就是计数器转gray码。

下一篇将为大家讲解格雷码与二进制码的转换代码及仿真

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593199
  • 信号
    +关注

    关注

    11

    文章

    2639

    浏览量

    75388
  • 计数器
    +关注

    关注

    32

    文章

    2121

    浏览量

    92977
  • bit
    bit
    +关注

    关注

    0

    文章

    47

    浏览量

    31853
  • 时钟域
    +关注

    关注

    0

    文章

    49

    浏览量

    9455
收藏 人收藏

    评论

    相关推荐

    FPGA设计中有多个时钟时如何处理

    FPGA设计中有多个时钟时如何处理时钟的基本
    发表于 02-24 15:47

    FPGA设计实例】FPGA跨越多时钟

    跨越时钟FPGA设计中可以使用多个时钟。每个时钟形成一个FPGA内部
    发表于 03-19 15:16

    如何处理FPGA设计中时钟问题?

    时钟处理方法,这三种方法可以说是 FPGA 界最常用也最实用的
    发表于 09-22 10:24

    探寻FPGA中三种时钟处理方法

    时钟处理方法,这三种方法可以说是 FPGA 界最常用也最实用的
    发表于 10-20 09:27

    三种时钟处理方法

    时钟处理方法,这三种方法可以说是FPGA界最常用也最实用的
    发表于 01-08 16:55

    三种FPGA界最常用的时钟处理法式

    处理方法,这三种方法可以说是FPGA界最常用也最实用的方法,这三种方法包含了单bit和多bit
    发表于 02-21 07:00

    FPGA初学者的必修课:FPGA时钟处理3大方法

    处理方法,这三种方法可以说是FPGA界最常用也最实用的方法,这三种方法包含了单bit和多bit
    发表于 03-04 09:22

    如何处理FPGA设计中时钟间的数据

    介绍3种时钟处理方法,这3种方法可以说是FPGA
    发表于 07-29 06:19

    如何处理时钟间的数据呢

    时钟处理是什么意思?如何处理时钟
    发表于 11-01 07:44

    两级DFF同步器时钟处理简析

    异步bus交互(一)— 两级DFF同步器时钟处理 & 亚稳态处理1.问题产生现在的芯片(比如SOC,片上系统)集成度和复杂度越来越高,通
    发表于 02-17 06:34

    FPGA时钟处理简介

    (10)FPGA时钟处理1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4
    发表于 02-23 07:47

    IC设计中多时钟处理的常用方法相关资料推荐

    1、IC设计中的多时钟处理方法简析我们在ASIC或FPGA系统设计中,常常会遇到需要在多个时钟
    发表于 06-24 16:54

    看看Stream信号里是如何做时钟握手的

    一些,适用于追求高吞吐的场景。写在最后逻辑处理里很多总线都是基于Stream这种信号来实现的(如AXI4家族),通过上面的方法,可以很容易根据应用需求,做时钟
    发表于 07-07 17:25

    FPGA时钟处理方法(一)

    时钟域是FPGA设计中最容易出错的设计模块,而且一旦跨时钟域出现问题,定位排查会非常困难,因为跨时钟域问题一般是偶现的,而且除非是构造特殊用例一般的仿真是发现不了这类问题的。
    的头像 发表于 05-25 15:06 1240次阅读
    <b class='flag-5'>FPGA</b>跨<b class='flag-5'>时钟</b>域<b class='flag-5'>处理</b><b class='flag-5'>方法</b>(一)

    FPGA时钟处理方法(三)

    所谓数据流跨时钟域即:时钟不同但是时间段内的数据量一定要相同。
    的头像 发表于 05-25 15:19 1242次阅读
    <b class='flag-5'>FPGA</b>跨<b class='flag-5'>时钟</b>域<b class='flag-5'>处理</b><b class='flag-5'>方法</b>(三)