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

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

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

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

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

FPGA學(xué)習(xí)交流 ? 2018-08-28 16:16 ? 次閱讀

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

二進(jìn)制轉(zhuǎn)十進(jìn)制在設(shè)計(jì)應(yīng)用中十分的廣泛。尤其在AD轉(zhuǎn)化中是必須所用到的一個(gè)小知識(shí)點(diǎn),學(xué)習(xí)二進(jìn)制轉(zhuǎn)十進(jìn)制的方法顯的非常的重要。今天就和筆者來學(xué)習(xí)二進(jìn)制轉(zhuǎn)十進(jìn)制的方法,通過簡(jiǎn)單的學(xué)習(xí)來掌握這么一門知識(shí)。

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

本次的設(shè)計(jì)主要是一個(gè)簡(jiǎn)單的二選一數(shù)據(jù)選擇器,我們的設(shè)計(jì)主

二進(jìn)制中只有 0 和 1 兩個(gè)狀態(tài),可以表示 0、1 兩種狀態(tài)的電 子器件很多,如開關(guān)的接通和斷開,晶體管的導(dǎo)通和截止、磁元 件的正負(fù)剩磁、電位電平的低與高等都可表示 0、1 兩個(gè)數(shù)碼。使 用二進(jìn)制,電子器件具有實(shí)現(xiàn)的可行性。

二進(jìn)制數(shù)的運(yùn)算法則少,運(yùn)算簡(jiǎn)單,使計(jì)算機(jī)運(yùn)算器的硬件結(jié) 構(gòu)大大簡(jiǎn)化。由于二進(jìn)制 0 和 1 正好和邏輯代數(shù)的假(false)和 真(true)相對(duì)應(yīng),有邏輯代數(shù)的理論基礎(chǔ),用二進(jìn)制表示二值 邏輯很自然。

電子器件中,所有的數(shù)據(jù)都是用二進(jìn)制來表示的。

2.BCD

BCD 碼(Binary-Coded Decimal)亦稱二進(jìn)碼十進(jìn)數(shù)或二-十

進(jìn)制代碼。用4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù)中的0~910個(gè) 數(shù)碼。BCD 碼是一種二進(jìn)制的數(shù)字編碼形式,用二進(jìn)制編碼的十 進(jìn)制代碼。BCD 碼這種編碼形式利用了四個(gè)位元來儲(chǔ)存一個(gè)十進(jìn) 制的數(shù)碼,使二進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換得以快捷的進(jìn)行。

3.實(shí)現(xiàn)方法

1)對(duì)10求余法

將需要轉(zhuǎn)換的數(shù)字除權(quán)然后對(duì)10求余,得出數(shù)各個(gè) 位上的數(shù)字。8b1000_000010進(jìn)中的128,將此數(shù) 字對(duì)10余,個(gè)“8,“8”賦最低的4。 此數(shù)字(128)10,得出12(在FPGA計(jì)算,自動(dòng)取整, 對(duì)10,然得出“2,2”賦給低的4。將此 數(shù)字(128)除以100,得出1,對(duì)10余,然得出“1, “1”賦給另外的4位。這樣就轉(zhuǎn)換出了BCD碼。

這類方法中,利用了大量的除法和求余,占用了大量的邏輯資 源。但是,實(shí)現(xiàn)比較簡(jiǎn)單,如果芯片的邏輯資源足夠的話,可以 采取使用這種方法。

2)大四加三法

image.png


進(jìn)行移位,然后進(jìn)行判斷。如果大于四,則加三。最后得出我 們想要的BCD(下是按轉(zhuǎn)換7講解的



架構(gòu)圖如下










bin_data[7:0]:輸入的二進(jìn)制數(shù)據(jù)。

bin_data[11:0]:輸出的BCD碼(輸入的二進(jìn)制數(shù)據(jù)為8位,最大 8’b1111_1111(255),四位進(jìn)表示一個(gè)BCD,故而12

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

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

module bin_to_bcd(bin, bcd);

input [7:0] bin;

output [11:0] bcd;


wire [19:0] shift_reg [5:0];


assign shift_reg[5] = {9'b0,bin,3'b0};


bcd_modify u1(.bcd_in(shift_reg[5]), .bcd_out(shift_reg[4]));

bcd_modify u2(.bcd_in(shift_reg[4]), .bcd_out(shift_reg[3]));

bcd_modify u3(.bcd_in(shift_reg[3]), .bcd_out(shift_reg[2]));

bcd_modify u4(.bcd_in(shift_reg[2]), .bcd_out(shift_reg[1]));

bcd_modify u5(.bcd_in(shift_reg[1]), .bcd_out(shift_reg[0]));


assign bcd = shift_reg[0][19:8];


endmodule

module bcd_modify(bcd_in, bcd_out);

input [19:0] bcd_in;

output [19:0] bcd_out;

wire [19:0] bcd_reg;


bcd_sigle_modify u1(.bcd_in(bcd_in[19:16]), .bcd_out(bcd_reg[19:16]));

bcd_sigle_modify u2(.bcd_in(bcd_in[15:12]), .bcd_out(bcd_reg[15:12]));

bcd_sigle_modify u3(.bcd_in(bcd_in[11:8]), .bcd_out(bcd_reg[11:8]));

assign bcd_reg[7:0] = bcd_in[7:0];

assign bcd_out = {bcd_reg[18:0],1'b0};


endmodule

module bcd_sigle_modify(bcd_in, bcd_out);

input [3:0] bcd_in;

output reg [3:0] bcd_out;


always @ (*)

begin

if (bcd_in > 4)

bcd_out = bcd_in + 3;

else

bcd_out = bcd_in;

end

endmodule

測(cè)試模塊

`timescale 1ns/1ps

module tb();


reg [7:0] bin;

wire [11:0] bcd;


initial begin


bin = 255;

#500 bin = 20;


#500 bin = 125;


#500 $stop;

end

bin_to_bcd bin_to_bcd_dut(

.bin(bin),

.bcd(bcd)

);

endmodule

仿真:

從仿真中可以看出本次設(shè)計(jì)的正確性,測(cè)試中我們輸出的二進(jìn)制和為8個(gè)1也就是255,轉(zhuǎn)化為10進(jìn)制后 按16進(jìn)制顯示,也就是255,通過驗(yàn)證設(shè)計(jì)正確。


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

    關(guān)注

    1630

    文章

    21796

    瀏覽量

    605224
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    bcd與十進(jìn)制之間的關(guān)系

    4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù)中的0~9這10個(gè)數(shù)碼,是一種二進(jìn)制的數(shù)字編碼形式。 表示方法 :在BCD碼中,每一位十進(jìn)制數(shù)都被編碼為4位二進(jìn)制
    的頭像 發(fā)表于 12-20 17:15 ?967次閱讀

    bcd編碼的應(yīng)用 bcd與二進(jìn)制的區(qū)別

    BCD(Binary-Coded Decimal)編碼是一種二進(jìn)制編碼形式,用于表示十進(jìn)制數(shù)字。它將每個(gè)十進(jìn)制數(shù)字(0-9)直接編碼為一個(gè)四位二進(jìn)制數(shù)。BCD編碼的主要優(yōu)點(diǎn)是易于閱讀和
    的頭像 發(fā)表于 12-20 17:11 ?916次閱讀

    hex格式和二進(jìn)制的區(qū)別

    HEX格式和二進(jìn)制在多個(gè)方面存在顯著的區(qū)別。以下是對(duì)這兩者的對(duì)比: 一、定義與表示方式 HEX格式 : HEX,全稱為Intel HEX,是一種用于存儲(chǔ)和傳輸數(shù)據(jù)到嵌入式系統(tǒng)(如單片機(jī))的文件格式
    的頭像 發(fā)表于 11-18 15:24 ?699次閱讀

    在線二進(jìn)制編碼器:數(shù)據(jù)轉(zhuǎn)換的快捷通道

    。為此,我們推出了在線二進(jìn)制編碼器,一個(gè)便捷、高效的數(shù)據(jù)轉(zhuǎn)換工具。 在線二進(jìn)制編碼器以其簡(jiǎn)潔直觀的界面和強(qiáng)大的功能,為用戶提供了數(shù)據(jù)轉(zhuǎn)換的快捷通道。用戶只需輸入待轉(zhuǎn)換的數(shù)據(jù),選擇轉(zhuǎn)換方向(如十進(jìn)制
    的頭像 發(fā)表于 11-15 09:01 ?944次閱讀

    二進(jìn)制編碼器的種類及特點(diǎn)

    二進(jìn)制編碼器是一種電子電路,用于將二進(jìn)制信號(hào)轉(zhuǎn)換為其他格式,如十進(jìn)制、格雷碼等。以下是一些常見的二進(jìn)制編碼器種類及其特點(diǎn): 優(yōu)先編碼器(Priority Encoder) : 特點(diǎn) :
    的頭像 發(fā)表于 11-06 09:47 ?638次閱讀

    二進(jìn)制編碼器應(yīng)用場(chǎng)景 二進(jìn)制編碼器與模擬編碼器比較

    編碼器是將信息從一種形式或格式轉(zhuǎn)換為另一種形式的設(shè)備。在數(shù)字和模擬系統(tǒng)中,編碼器扮演著至關(guān)重要的角色。二進(jìn)制編碼器和模擬編碼器是兩種常見的編碼器類型,它們?cè)诓煌膽?yīng)用場(chǎng)景中有著各自的優(yōu)勢(shì)和局
    的頭像 發(fā)表于 11-06 09:45 ?562次閱讀

    二進(jìn)制編碼器工作原理 如何選擇二進(jìn)制編碼器

    二進(jìn)制編碼器是一種數(shù)字電路,它將輸入的二進(jìn)制代碼轉(zhuǎn)換為對(duì)應(yīng)的輸出信號(hào)。在數(shù)字系統(tǒng)中,編碼器用于將數(shù)據(jù)從一種形式轉(zhuǎn)換為另一種形式,以便于處理和傳輸。 二進(jìn)制編碼器工作原理 輸入與輸出關(guān)系 :
    的頭像 發(fā)表于 11-06 09:44 ?1091次閱讀

    十進(jìn)制數(shù)據(jù)轉(zhuǎn)十六進(jìn)制字符_轉(zhuǎn)ASCII碼

    十進(jìn)制數(shù)據(jù)轉(zhuǎn)十六進(jìn)制字符_轉(zhuǎn)ASCII碼
    發(fā)表于 09-18 10:17 ?0次下載

    二進(jìn)制處理中的一些技巧

    二進(jìn)制十進(jìn)制的處理中,有時(shí)候一些小技巧是很有用的。 1、把十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù) (1)在MATLAB中有一個(gè)函數(shù)dec2bin,可以把正整數(shù)轉(zhuǎn)換為2
    的頭像 發(fā)表于 07-05 11:51 ?618次閱讀

    十進(jìn)制和4位二進(jìn)制計(jì)數(shù)器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《十進(jìn)制和4位二進(jìn)制計(jì)數(shù)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-31 09:32 ?1次下載
    <b class='flag-5'>十進(jìn)制</b>和4位<b class='flag-5'>二進(jìn)制</b>計(jì)數(shù)器數(shù)據(jù)表

    二進(jìn)制串行計(jì)數(shù)器工作原理是什么?

    在數(shù)字電路設(shè)計(jì)中,計(jì)數(shù)器是一種非常關(guān)鍵的組件,用于測(cè)量時(shí)間、計(jì)數(shù)事件或跟蹤狀態(tài)變化等。其中,二進(jìn)制串行計(jì)數(shù)器作為一種常用的計(jì)數(shù)器類型,在多種應(yīng)用場(chǎng)景中都發(fā)揮著重要作用。本文將對(duì)二進(jìn)制串行計(jì)數(shù)器
    的頭像 發(fā)表于 05-28 15:52 ?943次閱讀

    雙4位十進(jìn)制二進(jìn)制計(jì)數(shù)器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《雙4位十進(jìn)制二進(jìn)制計(jì)數(shù)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-13 11:12 ?0次下載
    雙4位<b class='flag-5'>十進(jìn)制</b>和<b class='flag-5'>二進(jìn)制</b>計(jì)數(shù)器數(shù)據(jù)表

    同步4位十進(jìn)制二進(jìn)制計(jì)數(shù)器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《同步4位十進(jìn)制二進(jìn)制計(jì)數(shù)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-09 11:29 ?3次下載
    同步4位<b class='flag-5'>十進(jìn)制</b>和<b class='flag-5'>二進(jìn)制</b>計(jì)數(shù)器數(shù)據(jù)表

    如何實(shí)現(xiàn)二進(jìn)制和BCD碼數(shù)據(jù)的相互轉(zhuǎn)變?

    如何實(shí)現(xiàn)二進(jìn)制和BCD碼數(shù)據(jù)的相互轉(zhuǎn)變? 二進(jìn)制碼是將十進(jìn)制數(shù)字表示為二進(jìn)制數(shù)和十進(jìn)制數(shù)的一種表示方法。在計(jì)算機(jī)系統(tǒng)中,
    的頭像 發(fā)表于 02-18 14:51 ?3837次閱讀

    鴻蒙二進(jìn)制數(shù)組創(chuàng)建

    背景 c++層數(shù)據(jù)都是二進(jìn)制,需要轉(zhuǎn)換成arrayBuffer透?jìng)鞯絜ts層給業(yè)務(wù)使用,但是鴻蒙的使用下面兩個(gè)api創(chuàng)建出來的二進(jìn)制數(shù)組數(shù)據(jù)都是錯(cuò)誤的。 接口
    的頭像 發(fā)表于 01-31 15:24 ?1318次閱讀
    主站蜘蛛池模板: 老太脱裤子让老头玩xxxxx | 久欠热视频精品首页 | 久久精品亚洲国产AV涩情 | 男人电影天堂手机 | 菠萝菠萝蜜免费播放高清 | 青青草在现线免费观看 | 风车动漫(p)_在线观看官网 | 日本日本熟妇中文在线视频 | 国产精品伦理一二三区伦理 | 亚洲人成网站在线播放 | 国产亚洲精品线视频在线 | 一边摸一边桶一边脱免费 | 吃春药后的女教师 | 嫩小幼处在线 | 国产成人久久婷婷精品流白浆 | 国产 在线 亚洲 欧美 动漫 | 最新国产亚洲亚洲精品视频 | 92午夜理论第1000集 app | 色久久久综合88一本道 | 国产精品久久久久久AV免费不卡 | 边摸边吃奶玩乳尖视频 | 国产又粗又猛又爽黄老大爷 | 亚洲黄色免费观看 | 国产成人精品久久久久婷婷 | 五花大绑esebdsm国产 | 肉动漫3D卡通无修在线播放 | 国产精品无码无卡毛片不卡视 | 恋夜影院支持安卓视频美女 | 久久亚洲伊人中字综合精品 | 久久视频这里只精品99热在线 | 理论片午午伦夜理片I | 少妇伦子伦情品无吗 | 伊伊人成亚洲综合人网 | 亚洲国产在线精品国 | 动漫人物差差差30分钟免费看 | 久久精品热播在线看 | 欧美日韩视频一区二区三区 | 午夜宅宅伦电影网 | 精品无人区麻豆乱码1区2 | 午夜向日葵高清在线观看 | 伊人久久大香线蕉影院95 |