色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

FPGA學習系列:33. 二進制轉格雷碼轉二進制的設計

FPGA學習交流 ? 2018-08-28 16:16 ? 次閱讀

設計背景:

典型的二進制格雷碼(Binary Gray Code)簡稱格雷碼,因1953年公開的弗蘭克·格雷(Frank Gray,18870913-19690523)專利“Pulse Code Communication”而得名,當初是為了通信,現在則常用于模擬-數字轉換和位置-數字轉換中。法國電訊工程師波特(Jean-Maurice-émile Baudot,18450911-19030328)在1880年曾用過的波特碼相當于它的一種變形。1941年George Stibitz設計的一種8元二進制機械計數器正好符合格雷碼計數器的計數規律。

設計原理:

在一組數的編碼中,若任意兩個相鄰的代碼只有一位二進制數不同,則稱這種編碼為格雷碼(GrayCode),另外由于最大數與最小數之間也僅一位數不同,即“首尾相連”,因此又稱循環碼或反射碼。在數字系統中,常要求代碼按一定順序變化。例如,按自然數遞增計數,若采用8421碼,則數0111變到1000時四位均要變化,而在實際電路中,4位的變化不可能絕對同時發生,則計數中可能出現短暫的其它代碼(1100、1111等)。在特定情況下可能導致電路狀態錯誤或輸入錯誤。使用格雷碼可以避免這種錯誤。格雷碼有多種編碼形式。
格雷碼(GrayCode)曾用過GreyCode、葛萊碼、格萊碼、戈萊碼、循環碼、反射二進制碼、最小差錯碼等名字,它們有的不對,有的易與其它名稱混淆,建議不要再使用這些曾用名。

1位格雷碼有兩個碼字

(n+1)位格雷碼中的前2n個碼字等于n位格雷碼的碼字,按順序書寫,加前綴0

(n+1)位格雷碼中的后2n個碼字等于n位格雷碼的碼字,按逆序書寫,加前綴1

設計代碼:

設計模塊

0moduleb_g_b(bin,bo);//端口列表

1

2 input[7:0]bin;//8位二進制輸入

3

4 reg[8:0]bi;

5 outputreg[8:0]bo;//8位二進制輸出

6 reg[8:0]g;

7

8 //二進制轉格雷碼

9 integeri;

10 always@(*)

11 begin

12 bi =bin;

13 bi[8]=0;

14 for(i =7;i >=0;i =i -1)

15 g[i]=bi[i]^bi[1+i];

16

17 end

18

19 //格雷碼轉二進制

20 always@(*)

21 begin

22 bo[8]=0;

23 for(i =7;i >=0;i =i -1)

24 bo[i]=g[i]^bo[i +1];

25 end

26

27endmodule

測試模塊

0`timescale1ns/1ps//仿真時標

1

2moduletb;

3

4 reg[7:0]bi;

5 wire[7:0]bo;

6

7 initialbegin

8 bi =0;

9

10 #50bi =8'haa;//二進制模擬

11 #50bi =8'hff;

12 #50bi =8'h55;

13 #50bi =8'hff;

14

15 #200$stop;//停止

16

17 end

18

19 b_g_b dut(.bin(bi),.bo(bo));//端口例化

20

21endmodule

仿真圖:

設計背景:

典型的二進制格雷碼(Binary Gray Code)簡稱格雷碼,因1953年公開的弗蘭克·格雷(Frank Gray,18870913-19690523)專利“Pulse Code Communication”而得名,當初是為了通信,現在則常用于模擬-數字轉換和位置-數字轉換中。法國電訊工程師波特(Jean-Maurice-émile Baudot,18450911-19030328)在1880年曾用過的波特碼相當于它的一種變形。1941年George Stibitz設計的一種8元二進制機械計數器正好符合格雷碼計數器的計數規律。

設計原理:

在一組數的編碼中,若任意兩個相鄰的代碼只有一位二進制數不同,則稱這種編碼為格雷碼(GrayCode),另外由于最大數與最小數之間也僅一位數不同,即“首尾相連”,因此又稱循環碼或反射碼。在數字系統中,常要求代碼按一定順序變化。例如,按自然數遞增計數,若采用8421碼,則數0111變到1000時四位均要變化,而在實際電路中,4位的變化不可能絕對同時發生,則計數中可能出現短暫的其它代碼(1100、1111等)。在特定情況下可能導致電路狀態錯誤或輸入錯誤。使用格雷碼可以避免這種錯誤。格雷碼有多種編碼形式。
格雷碼(GrayCode)曾用過GreyCode、葛萊碼、格萊碼、戈萊碼、循環碼、反射二進制碼、最小差錯碼等名字,它們有的不對,有的易與其它名稱混淆,建議不要再使用這些曾用名。

1位格雷碼有兩個碼字

(n+1)位格雷碼中的前2n個碼字等于n位格雷碼的碼字,按順序書寫,加前綴0

(n+1)位格雷碼中的后2n個碼字等于n位格雷碼的碼字,按逆序書寫,加前綴1

設計代碼:

設計模塊

0moduleb_g_b(bin,bo);//端口列表

1

2 input[7:0]bin;//8位二進制輸入

3

4 reg[8:0]bi;

5 outputreg[8:0]bo;//8位二進制輸出

6 reg[8:0]g;

7

8 //二進制轉格雷碼

9 integeri;

10 always@(*)

11 begin

12 bi =bin;

13 bi[8]=0;

14 for(i =7;i >=0;i =i -1)

15 g[i]=bi[i]^bi[1+i];

16

17 end

18

19 //格雷碼轉二進制

20 always@(*)

21 begin

22 bo[8]=0;

23 for(i =7;i >=0;i =i -1)

24 bo[i]=g[i]^bo[i +1];

25 end

26

27endmodule

測試模塊

0`timescale1ns/1ps//仿真時標

1

2moduletb;

3

4 reg[7:0]bi;

5 wire[7:0]bo;

6

7 initialbegin

8 bi =0;

9

10 #50bi =8'haa;//二進制模擬

11 #50bi =8'hff;

12 #50bi =8'h55;

13 #50bi =8'hff;

14

15 #200$stop;//停止

16

17 end

18

19 b_g_b dut(.bin(bi),.bo(bo));//端口例化

20

21endmodule

仿真圖:

在仿真圖中可以得到,在設計文件中設計的輸入二進制為00 55 等等,在轉化后的輸出模塊中可以清楚的看到輸入和輸出是一樣的,通過仿真可以得到本次設計正確。



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

    關注

    1629

    文章

    21729

    瀏覽量

    603009
收藏 人收藏

    評論

    相關推薦

    hex格式和二進制的區別

    。 它以ASCII文本形式表示的十六進制數據,每兩個十六進制字符對應一個字節。 HEX文件包含了記錄類型、數據長度、地址、數據以及校驗和等信息,具有結構化且包含校驗的特點。 二進制
    的頭像 發表于 11-18 15:24 ?452次閱讀

    ASCII二進制的轉換關系

    。ASCII使用7位二進制數來表示128個不同的字符,包括大小寫英文字母、數字0-9以及一些控制字符和標點符號。后來,ASCII被擴展到了8位,即ASCII-8BIT,可以表示256個不同的字符。
    的頭像 發表于 11-10 09:50 ?1021次閱讀

    二進制編碼器在自動化領域的作用

    二進制編碼器是一種將二進制信號轉換為數字信號的電子設備,廣泛應用于自動化領域。 一、二進制編碼器的工作原理 二進制編碼器是一種將二進制信號轉
    的頭像 發表于 11-06 09:53 ?318次閱讀

    二進制編碼器的種類及特點

    二進制編碼器是一種電子電路,用于將二進制信號轉換為其他格式,如十進制等。以下是一些常見的
    的頭像 發表于 11-06 09:47 ?459次閱讀

    二進制編碼器應用場景 二進制編碼器與模擬編碼器比較

    編碼器是將信息從一種形式或格式轉換為另一種形式的設備。在數字和模擬系統中,編碼器扮演著至關重要的角色。二進制編碼器和模擬編碼器是兩種常見的編碼器類型,它們在不同的應用場景中有著各自的優勢和局
    的頭像 發表于 11-06 09:45 ?387次閱讀

    二進制編碼器工作原理 如何選擇二進制編碼器

    二進制編碼器是一種數字電路,它將輸入的二進制代碼轉換為對應的輸出信號。在數字系統中,編碼器用于將數據從一種形式轉換為另一種形式,以便于處理和傳輸。 二進制編碼器工作原理 輸入與輸出關系 :
    的頭像 發表于 11-06 09:44 ?669次閱讀

    二進制處理中的一些技巧

    二進制和十進制的處理中,有時候一些小技巧是很有用的。 1、把十進制數轉換成二進制數 (1)在MATLAB中有一個函數dec2bin,可以把正整數轉換為2
    的頭像 發表于 07-05 11:51 ?565次閱讀

    二進制串行計數器工作原理是什么?

    在數字電路設計中,計數器是一種非常關鍵的組件,用于測量時間、計數事件或跟蹤狀態變化等。其中,二進制串行計數器作為一種常用的計數器類型,在多種應用場景中都發揮著重要作用。本文將對二進制串行計數器
    的頭像 發表于 05-28 15:52 ?841次閱讀

    如何實現二進制和BCD碼數據的相互轉變?

    如何實現二進制和BCD碼數據的相互轉變? 二進制碼是將十進制數字表示為二進制數和十進制數的一種表示方法。在計算機系統中,
    的頭像 發表于 02-18 14:51 ?3531次閱讀

    二進制與邏輯電平的變化范圍

    二進制中的兩個數字0和1稱為位(bit, 是二進制數字binary digit的縮寫)。在數字電路中,使用兩個不同的電平表示這兩個位。一般情況下,1 用高電平表示,0用低電平表示,這種邏輯體制稱為正邏輯。
    的頭像 發表于 02-04 16:54 ?1337次閱讀
    <b class='flag-5'>二進制</b>與邏輯電平的變化范圍

    鴻蒙二進制數組創建

    背景 c++層數據都是二進制,需要轉換成arrayBuffer透傳到ets層給業務使用,但是鴻蒙的使用下面兩個api創建出來的二進制數組數據都是錯誤的。 接口
    的頭像 發表于 01-31 15:24 ?1267次閱讀

    二進制、八進制、十六進制在現實當中有什么意義?

    二進制、八進制、十六進制在現實當中有什么意義? 二進制、八進制和十六進制在現實生活中有著廣泛的應
    的頭像 發表于 01-16 11:14 ?5365次閱讀

    10進制轉換為二進制的算法

    進制轉換為二進制是計算機科學中非常基礎且重要的概念之一。在理解和應用計算機科學的基礎知識時,掌握這個算法是至關重要的。 在開始講解十進制轉換為二進制的算法之前,讓我們回顧一下十
    的頭像 發表于 01-15 10:32 ?3264次閱讀

    10進制轉換為二進制的算法

    10進制轉換為二進制是計算機領域中非常重要的一個問題。在計算機中,所有的數據都是以二進制形式進行存儲和處理的。因此,我們常常需要將10進制數轉換為
    的頭像 發表于 01-11 09:14 ?2346次閱讀

    labview二進制字符串轉數值

    LabVIEW是一種圖形化編程環境,用于實時數據采集、信號處理以及自動化控制等領域。它采取了數據流編程的思想,用戶可以通過將各種功能模塊進行連接,輕松搭建起復雜的系統。 在LabVIEW中,二進制
    的頭像 發表于 01-05 16:20 ?2650次閱讀
    主站蜘蛛池模板: 强行撕开衣服捏胸黄文| 亚洲 欧美 日韩 精品 自拍| 亚洲欧美日韩另类精品一区二区三区 | 在线观看国产视频| 国产高清美女一级毛片久久| 狂操空姐电影| 亚洲国产在线综合018| 超碰在线视频| 免费观看亚洲视频| 亚洲手机在线人成视频| 国产极品美女视频福利| 欧美日韩精品不卡在线观看| 在线观看免费精品国产| 国产亚洲AV无码成人网站| 色女仆影院| good神马电影伦理午夜| 老师xxxx69动漫| 亚洲免费网站在线观看| 国产精品乱码一区二区三| 日韩精品一区二区亚洲AV观看| 97视频在线观看视频最新| 久久久久久久电影| 亚洲国产精品嫩草影院永久| 国产浮力草草影院CCYY| 日韩无码在线| 扒开屁股眼往里面夹东西| 免费a视频在线观看| 中文字幕久精品视频在线观看| 国产又爽又黄又不遮挡视频| 哇嘎在线精品视频在线观看 | 66美女人体| 久久热在线视频精品| 一个人在线观看免费中文www| 国精产品砖一区二区三区糖心| 天天色狠狠干| 国产盗摄一区二区三区| 色婷婷狠狠97成为人免费| 俄罗斯12一15处交| 色哟哟网站入口在线观看视频| 哺乳期妇女挤奶水36d| 欧洲videosdesrxotv|