chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

FPGA學習系列:32. 二進制轉(zhuǎn)十進制的設計

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

掃碼添加小助手

加入工程師交流群

設計背景:

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

設計原理:

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

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

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

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

2.BCD

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

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

3.實現(xiàn)方法

1)10求余法

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

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

2)大四加三法

image.png


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



架構(gòu)圖如下










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

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

設計代碼:

設計模塊

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

測試模塊

`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

仿真:

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


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

    關注

    1650

    文章

    22211

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    偏移二進制二進制補碼如何和實際數(shù)據(jù)對應,如何轉(zhuǎn)換?

    偏移二進制二進制補碼如何和實際數(shù)據(jù)對應,如何轉(zhuǎn)換,請哪位高手解惑
    發(fā)表于 01-16 06:01

    bcd與十進制之間的關系

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

    bcd編碼的應用 bcd與二進制的區(qū)別

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

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

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

    為什么Gain=1對應的默認值不是16位二進制補碼的中間數(shù)而是最小數(shù)?

    十進制的-32768,7FFFh為十進制的32767;分別對應最大碼和最小碼,為什么Gain=1對應的默認值不是16位二進制補碼的中間數(shù)而是最小數(shù)?
    發(fā)表于 11-18 08:12

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

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

    base64字符串轉(zhuǎn)換為二進制文件

    Base64是一種編碼方法,用于將二進制數(shù)據(jù)轉(zhuǎn)換為ASCII字符串。這種編碼通常用于在不支持二進制數(shù)據(jù)的系統(tǒng)中傳輸數(shù)據(jù),例如電子郵件或網(wǎng)頁。將Base64字符串轉(zhuǎn)換為二進制文件的過程相對簡單,但需要
    的頭像 發(fā)表于 11-10 10:55 ?3403次閱讀

    ASCII碼和二進制的轉(zhuǎn)換關系

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

    二進制編碼器的精度與分辨率

    編碼器是一種將模擬信號(如電壓、溫度等)轉(zhuǎn)換為二進制代碼的設備。它通常包含一個模數(shù)轉(zhuǎn)換器(ADC),該轉(zhuǎn)換器通過比較輸入信號與一系列參考電壓來確定輸入信號的值。編碼器的輸出是一個二進制數(shù),表示輸入信號的數(shù)字等價。
    的頭像 發(fā)表于 11-06 09:56 ?1539次閱讀

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

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

    二進制編碼器的故障排除指南

    二進制編碼器是一種將二進制信號轉(zhuǎn)換為數(shù)字信號的電子設備,廣泛應用于計算機、通信和自動化控制系統(tǒng)中。當二進制編碼器出現(xiàn)問題時,有效的故障排除是確保系統(tǒng)正常運行的關鍵。 1. 初步檢查 1.1 檢查電源
    的頭像 發(fā)表于 11-06 09:49 ?1370次閱讀

    二進制編碼器在機器人中的應用

    隨著科技的不斷進步,機器人技術已經(jīng)成為現(xiàn)代工業(yè)、服務業(yè)乃至家庭生活中不可或缺的一部分。機器人的智能化程度不斷提高,這在很大程度上依賴于其傳感器系統(tǒng)。二進制編碼器作為一種傳感器,能夠?qū)⑽锢砹哭D(zhuǎn)換
    的頭像 發(fā)表于 11-06 09:48 ?1454次閱讀

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

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

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

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

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

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