精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA多bit跨時鐘域之格雷碼(一)

CHANBAEK ? 來源:FPGA自學筆記分享 ? 作者:FPGA自學筆記分享 ? 2023-05-25 15:21 ? 次閱讀

FPGA多bit跨時鐘域適合將計數器信號轉換為格雷碼。

格雷碼的特點:從一個數變為相鄰的一個數時,只有一個數據位發生跳變,

這種特點,就可以將跨時鐘域中的多bit跨時鐘域轉換為單bit跨時鐘域,最大限度的提高系統穩定性。

格雷碼常用于通信,FIFO 或者 RAM 地址尋址計數器中。

圖片

格雷碼編碼

原碼:b[0~n];格雷碼:g0~n;編碼:g=G(b);

編碼:g=b XOR bi+1,g[n]=b[n];

最高位不變,其它位和高1位信號做異或

圖片

其代碼如下:

//============================================================
// File Name: cm_bin2gray
// VERSION  : V1.0
// DATA     : 2022/10/2
// Author   : FPGA干貨分享
// ============================================================
// 功能:二級制編碼轉格雷碼
// 
// 原碼:b[0~n];格雷碼:g[0~n](n∈N);編碼:g=G(b);解碼:b=F(g);
// 編碼:g=b XOR b[i+1](i∈N,0≤i≤n-1),g[n]=b[n];
// 解碼:b[n]=g[n],b=g XOR b[i+1](i∈N,0≤i≤n-1).
// 
// ============================================================
`timescale 1ns/1ps
module cm_bin2gray #(
    parameter                         C_DATA_WIDTH = 4 )
    (                  
    input wire                        I_sys_clk   , ///輸入時鐘
    input wire [C_DATA_WIDTH-1:0]     I_data_bin  , ///輸入二進制數據
    output reg [C_DATA_WIDTH-1:0]     O_data_gray   ///輸出二進制數據
    );


// ============================================================
// main code
// ============================================================


always @(posedge I_sys_clk)
    O_data_gray <= I_data_bin ^ (I_data_bin >> 1);




endmodule

代碼綜合結果如下:

圖片

下一篇將介紹gray轉二進制及其仿真

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21667

    瀏覽量

    601843
  • fifo
    +關注

    關注

    3

    文章

    387

    瀏覽量

    43552
  • 格雷碼
    +關注

    關注

    2

    文章

    34

    瀏覽量

    13176
  • bit
    bit
    +關注

    關注

    0

    文章

    48

    瀏覽量

    31988
  • 時鐘域
    +關注

    關注

    0

    文章

    52

    瀏覽量

    9529
收藏 人收藏

    評論

    相關推薦

    FPGA設計中解決時鐘的三大方案

    介紹3種時鐘處理的方法,這3種方法可以說是FPGA界最常用也最實用的方法,這三種方法包含了單bit
    的頭像 發表于 11-21 11:13 ?3837次閱讀
    <b class='flag-5'>FPGA</b>設計中解決<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>的三大方案

    異步FIFO設計

    相鄰的只有1bit的差異,因此常常用于異
    的頭像 發表于 11-01 17:37 ?1347次閱讀
    異步FIFO設計<b class='flag-5'>之</b><b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b>

    如何處理好FPGA設計中時鐘問題?

    以手到擒來。這里介紹的三種方法時鐘處理方法如下:打兩拍;異步雙口 RAM;轉換。01方
    發表于 09-22 10:24

    探尋FPGA中三種時鐘處理方法

    以手到擒來。這里介紹的三種方法時鐘處理方法如下:打兩拍;異步雙口 RAM;轉換。01方
    發表于 10-20 09:27

    三種時鐘處理的方法

    的三種方法時鐘處理方法如下:  1. 打兩拍;  2. 異步雙口RAM;  3. 轉換
    發表于 01-08 16:55

    三種FPGA界最常用的時鐘處理法式

    時鐘處理方法如下:打兩拍;異步雙口RAM;轉換。01方法:打兩拍大家很清楚,處理
    發表于 02-21 07:00

    FPGA初學者的必修課:FPGA時鐘處理3大方法

    時鐘處理方法如下:打兩拍;異步雙口RAM;轉換。01方法:打兩拍大家很清楚,處理
    發表于 03-04 09:22

    如何處理好FPGA設計中時鐘間的數據

    介紹3種時鐘處理的方法,這3種方法可以說是FPGA界最常用也最實用的方法,這三種方法包含了單bit
    發表于 07-29 06:19

    FPGA界最常用也最實用的3種時鐘處理的方法

    介紹3種時鐘處理的方法,這3種方法可以說是FPGA界最常用也最實用的方法,這三種方法包含了單bit
    發表于 11-15 20:08 ?1.4w次閱讀

    如何把二進制轉換為是如何判斷讀空寫滿呢?

    在傳遞讀寫時鐘的指針使用來傳遞,如何把二進制轉換為
    的頭像 發表于 09-15 09:38 ?8285次閱讀
    如何把二進制轉換為<b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b>?<b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b>是如何判斷讀空寫滿呢?

    揭秘FPGA時鐘處理的三大方法

    時鐘處理的方法,這三種方法可以說是 FPGA 界最常用也最實用的方法,這三種方法包含了單 bit
    的頭像 發表于 12-05 16:41 ?1613次閱讀

    如何解決單bitbit時鐘處理問題?

    、簡要概述: 在芯片設計過程中,個系統通常是同步電路和異步電路并存,這里經常會遇到CDC也就是時鐘處理的問題,常見的處理方法,可能大
    的頭像 發表于 03-22 10:28 ?6764次閱讀

    FPGA時鐘處理方法()

    時鐘FPGA設計中最容易出錯的設計模塊,而且時鐘
    的頭像 發表于 05-25 15:06 ?1928次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理方法(<b class='flag-5'>一</b>)

    FPGA時鐘處理方法(二)

    篇文章已經講過了單bit時鐘的處理方法,這次解說
    的頭像 發表于 05-25 15:07 ?989次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理方法(二)

    FPGAbit時鐘(二)

    篇文章我們講了二進制轉gray,這次我們聊下gray轉二進制
    的頭像 發表于 05-25 15:22 ?1733次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>多</b><b class='flag-5'>bit</b><b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>之</b><b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b>(二)