91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA學(xué)習(xí)系列:33. 二進(jìn)制轉(zhuǎn)格雷碼轉(zhuǎn)二進(jìn)制的設(shè)計(jì)

FPGA學(xué)習(xí)交流 ? 2018-08-28 16:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

設(shè)計(jì)背景:

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

設(shè)計(jì)原理:

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

1位格雷碼有兩個(gè)碼字

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

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

設(shè)計(jì)代碼:

設(shè)計(jì)模塊

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

1

2 input[7:0]bin;//8位二進(jìn)制輸入

3

4 reg[8:0]bi;

5 outputreg[8:0]bo;//8位二進(jìn)制輸出

6 reg[8:0]g;

7

8 //二進(jìn)制轉(zhuǎn)格雷碼

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 //格雷碼轉(zhuǎn)二進(jìn)制

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

測(cè)試模塊

0`timescale1ns/1ps//仿真時(shí)標(biāo)

1

2moduletb;

3

4 reg[7:0]bi;

5 wire[7:0]bo;

6

7 initialbegin

8 bi =0;

9

10 #50bi =8'haa;//二進(jìn)制模擬

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

仿真圖:

設(shè)計(jì)背景:

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

設(shè)計(jì)原理:

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

1位格雷碼有兩個(gè)碼字

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

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

設(shè)計(jì)代碼:

設(shè)計(jì)模塊

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

1

2 input[7:0]bin;//8位二進(jìn)制輸入

3

4 reg[8:0]bi;

5 outputreg[8:0]bo;//8位二進(jìn)制輸出

6 reg[8:0]g;

7

8 //二進(jìn)制轉(zhuǎn)格雷碼

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 //格雷碼轉(zhuǎn)二進(jìn)制

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

測(cè)試模塊

0`timescale1ns/1ps//仿真時(shí)標(biāo)

1

2moduletb;

3

4 reg[7:0]bi;

5 wire[7:0]bo;

6

7 initialbegin

8 bi =0;

9

10 #50bi =8'haa;//二進(jìn)制模擬

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

仿真圖:

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



聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1660

    文章

    22408

    瀏覽量

    636240
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CDx4HC283與CDx4HCT283:4位二進(jìn)制全加器的技術(shù)解析與應(yīng)用指南

    CDx4HC283與CDx4HCT283:4位二進(jìn)制全加器的技術(shù)解析與應(yīng)用指南 在數(shù)字電路設(shè)計(jì)領(lǐng)域,加法器是實(shí)現(xiàn)數(shù)值運(yùn)算的基礎(chǔ)元件之一。今天我們要深入探討的CDx4HC283和CDx4HCT283
    的頭像 發(fā)表于 01-30 17:20 ?641次閱讀

    德州儀器4位二進(jìn)制全加器:SN54/74系列的技術(shù)剖析

    德州儀器4位二進(jìn)制全加器:SN54/74系列的技術(shù)剖析 在數(shù)字電路設(shè)計(jì)中,加法器是實(shí)現(xiàn)算術(shù)運(yùn)算的基礎(chǔ)組件。德州儀器的SN54283、SN54LS283、SN54S283、SN74283
    的頭像 發(fā)表于 01-28 17:05 ?472次閱讀

    探索CD54/74AC283與CD54/74ACT283:高效4位二進(jìn)制加法器的奧秘

    探索CD54/74AC283與CD54/74ACT283:高效4位二進(jìn)制加法器的奧秘 在電子設(shè)計(jì)領(lǐng)域,加法器是實(shí)現(xiàn)數(shù)字運(yùn)算的基礎(chǔ)元件之一。今天,我們將深入研究德州儀器(Texas
    的頭像 發(fā)表于 01-28 16:50 ?427次閱讀

    CDx4HC283和CDx4HCT283:高速CMOS邏輯4位二進(jìn)制全加器的詳細(xì)解析

    和CDx4HCT283系列包含4位二進(jìn)制加法器,其中HCT設(shè)備具有與TTL電壓兼容的輸入。這些器件能夠?qū)蓚€(gè)4位二進(jìn)制數(shù)相加,并在和超過(guò)15時(shí)生成
    的頭像 發(fā)表于 01-19 14:50 ?314次閱讀

    解析CD54/74AC283與CD54/74ACT283:4位二進(jìn)制加法器的卓越之選

    解析CD54/74AC283與CD54/74ACT283:4位二進(jìn)制加法器的卓越之選 在電子設(shè)計(jì)領(lǐng)域,加法器是實(shí)現(xiàn)數(shù)字運(yùn)算的基礎(chǔ)組件。今天我們要深入探討的是德州儀器(Texas
    的頭像 發(fā)表于 01-08 16:55 ?571次閱讀

    CD54/74AC283與CD54/74ACT283:高性能4位二進(jìn)制加法器的全面解析

    CD54/74AC283與CD54/74ACT283:高性能4位二進(jìn)制加法器的全面解析 在電子設(shè)計(jì)領(lǐng)域,加法器是一種基礎(chǔ)且關(guān)鍵的數(shù)字電路,廣泛應(yīng)用于各種計(jì)算和數(shù)據(jù)處理系統(tǒng)中。今天,我們要深入探討
    的頭像 發(fā)表于 12-31 17:10 ?1397次閱讀

    SN54F283與SN74F283:4位二進(jìn)制全加器的技術(shù)剖析

    SN54F283與SN74F283:4位二進(jìn)制全加器的技術(shù)剖析 在數(shù)字電路設(shè)計(jì)中,加法器是最基礎(chǔ)且關(guān)鍵的組件之一。今天我們要深入探討的是德州儀器(TI)的SN54F283和SN74F283這兩款4位
    的頭像 發(fā)表于 12-29 16:20 ?526次閱讀

    德州儀器4位二進(jìn)制全加器:SN54/74283系列深度解析

    德州儀器4位二進(jìn)制全加器:SN54/74283系列深度解析 在數(shù)字電路設(shè)計(jì)領(lǐng)域,加法器是構(gòu)建復(fù)雜算術(shù)邏輯單元的基礎(chǔ)組件。德州儀器(TI)的SN54/74283系列4位二進(jìn)制全加器憑借其
    的頭像 發(fā)表于 12-23 15:45 ?549次閱讀

    二進(jìn)制查找(Binary Search)介紹

    二進(jìn)制查找(Binary Search)用于在已排序的數(shù)組中執(zhí)行二進(jìn)制查找的函數(shù)。 int binary_search(int arr[], int size, int target
    發(fā)表于 12-12 06:54

    如何在vivado上基于二進(jìn)制碼對(duì)指令運(yùn)行狀態(tài)進(jìn)行判斷

    a0 -8 為例 獲取相應(yīng)的二進(jìn)制碼將其轉(zhuǎn)換為16進(jìn)制導(dǎo)入vivado,方法就是將代碼文件修改為.verilog文件并存入蜂鳥(niǎo)的tb文件夾,在vivado的tb中修改測(cè)試用例路徑即可進(jìn)行仿真。 得到
    發(fā)表于 10-24 06:46

    在vivado上基于二進(jìn)制碼對(duì)指令運(yùn)行狀態(tài)進(jìn)行判斷

    a0 -8 為例 獲取相應(yīng)的二進(jìn)制碼將其轉(zhuǎn)換為16進(jìn)制導(dǎo)入vivado,方法就是將代碼文件修改為.verilog文件并存入蜂鳥(niǎo)的tb文件夾,在vivado的tb中修改測(cè)試用例路徑即可進(jìn)行仿真。 得到結(jié)果
    發(fā)表于 10-24 06:31

    如何將圖像文件轉(zhuǎn)換為二進(jìn)制文件?

    如何將圖像文件轉(zhuǎn)換為二進(jìn)制文件
    發(fā)表于 09-05 08:28

    二進(jìn)制數(shù)據(jù)處理方法分享

    時(shí),我們?nèi)绾稳ソ馕鰯?shù)據(jù)并且應(yīng)用它們。本次的技術(shù)分享文章,我們就從如何傳輸數(shù)據(jù)和解析二進(jìn)制數(shù)據(jù)來(lái)一步一步剝絲抽繭,搞清楚他的運(yùn)作原理和二進(jìn)制數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。
    的頭像 發(fā)表于 07-30 15:41 ?2413次閱讀
    <b class='flag-5'>二進(jìn)制</b>數(shù)據(jù)處理方法分享

    如何使用Keil將二進(jìn)制文件加載到外部SPI Flash中?

    我想知道是否有辦法使用 Keil 將隨機(jī)二進(jìn)制文件加載到外部 SPI 閃存中。二進(jìn)制文件將通過(guò) LPC54102(OM13077 EVK 板)。我知道一些用于 FPGA 的 ISE 允許您執(zhí)行此作
    發(fā)表于 03-17 06:37

    無(wú)法使用密度化參數(shù)構(gòu)建OpenVINO?二進(jìn)制,怎么處理?

    無(wú)法使用密度化參數(shù)構(gòu)建OpenVINO?二進(jìn)制
    發(fā)表于 03-06 06:51