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

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

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

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

在FPGA開發(fā)板實(shí)現(xiàn)二-十進(jìn)制轉(zhuǎn)碼器設(shè)計(jì)

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-10-07 12:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為了實(shí)現(xiàn)測(cè)量數(shù)據(jù)的實(shí)時(shí)顯示,電子測(cè)量系統(tǒng)常用到二-十進(jìn)制(BCD)轉(zhuǎn)碼器來完成數(shù)據(jù)的實(shí)時(shí)轉(zhuǎn)換。目前,電子系統(tǒng)中的二-十進(jìn)制(BCD)數(shù)制轉(zhuǎn)換有三類實(shí)現(xiàn)方法,一是采用軟件算法的實(shí)現(xiàn)方式,傳統(tǒng)的方法是用DAA調(diào)節(jié)指令實(shí)現(xiàn),但效率較低;其次是純硬件運(yùn)算實(shí)現(xiàn)方式,這種實(shí)現(xiàn)方式從數(shù)據(jù)轉(zhuǎn)換運(yùn)算到硬件的直接映射,常采用邏輯運(yùn)算和數(shù)據(jù)移位來實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)換效率較高,但是在轉(zhuǎn)換數(shù)據(jù)位數(shù)較多時(shí),運(yùn)算量會(huì)顯著增加,硬件實(shí)現(xiàn)代價(jià)也較大;三是基于數(shù)據(jù)查找表LUT(Lookup Table)的實(shí)現(xiàn)方式。

本文提出了一個(gè)高效、易于重構(gòu)的二-十進(jìn)制(BCD)轉(zhuǎn)碼器設(shè)計(jì)方案,并在FPGA開發(fā)板上成功地進(jìn)行了設(shè)計(jì)驗(yàn)證。

1 二-十進(jìn)制(BCD)碼的轉(zhuǎn)換算法

在FPGA開發(fā)板實(shí)現(xiàn)二-十進(jìn)制轉(zhuǎn)碼器設(shè)計(jì)

在FPGA開發(fā)板實(shí)現(xiàn)二-十進(jìn)制轉(zhuǎn)碼器設(shè)計(jì)

從以上的二-十進(jìn)制(BCD)碼變換算法中可以看到,二進(jìn)制數(shù)據(jù)的最低位b1不需要轉(zhuǎn)換而直接輸出,而且每個(gè)轉(zhuǎn)換運(yùn)算單元的低3位輸出數(shù)據(jù)始終不會(huì)大于(4)D/(100)B,這樣就能夠保證最后得到的每一位BCD碼不會(huì)大于(9)D/(1001)B,從而得到BCD碼的正確轉(zhuǎn)換輸出。

2 二-十進(jìn)制(BCD)轉(zhuǎn)碼器的實(shí)現(xiàn)

2.1 二-十進(jìn)制(BCD)轉(zhuǎn)碼器的ASIC實(shí)現(xiàn)

首先,構(gòu)造出5 bit二進(jìn)制數(shù)的轉(zhuǎn)換單元,然后再以此轉(zhuǎn)換單元為基本單位擴(kuò)展成其他的多位二-十進(jìn)制(BCD)轉(zhuǎn)碼器,TI公司的SN74185A芯片就是這樣的一個(gè)5 bit數(shù)據(jù)轉(zhuǎn)換單元,用它實(shí)現(xiàn)的10 bit二-十進(jìn)制(BCD)碼轉(zhuǎn)換器如圖2所示。

在FPGA開發(fā)板實(shí)現(xiàn)二-十進(jìn)制轉(zhuǎn)碼器設(shè)計(jì)

圖2所示的轉(zhuǎn)碼器與圖1的結(jié)構(gòu)區(qū)別在于采用了5 bit的轉(zhuǎn)換單元而不是4 bit的基本單元(高3 bit轉(zhuǎn)換單元的最高位輸入接地),從而簡(jiǎn)化了多位轉(zhuǎn)碼器的電路結(jié)構(gòu)。每個(gè)轉(zhuǎn)換單元(SN74185A)的6個(gè)輸出位權(quán)依次是(20、10、5、4、2、1),因此也保證了每個(gè)轉(zhuǎn)換運(yùn)算單元的低3位輸出數(shù)據(jù)始終不會(huì)大于(4)D/(100)B,使最后得到的每位BCD碼都不會(huì)大于(9)D/(1001)B。使用時(shí)要求轉(zhuǎn)換單元(SN74185A)的無用輸入端作接地處理。假如需要轉(zhuǎn)換的10 bit數(shù)據(jù)是(1110011011)B,每個(gè)轉(zhuǎn)換模塊完成輸入二進(jìn)制數(shù)據(jù)的位權(quán)轉(zhuǎn)換,如圖2所示,經(jīng)過第一層數(shù)據(jù)轉(zhuǎn)換后得到(10101111011),再依次經(jīng)過后面第2層至第4層的數(shù)據(jù)轉(zhuǎn)換,得到各層次相應(yīng)轉(zhuǎn)換輸出分別是:(10111000011)、(100011000011)、(0100100100011),第4層的轉(zhuǎn)換輸出就是十進(jìn)制(BCD)碼:(0100100100011)BCD=(923)D。

2.2 基于FPGA的二-十進(jìn)制(BCD)轉(zhuǎn)碼器設(shè)計(jì)

在片上數(shù)字系統(tǒng)(SOPC)中實(shí)現(xiàn)二-十進(jìn)制(BCD)碼轉(zhuǎn)換器,如果直接依據(jù)圖2所示的結(jié)構(gòu),使用SN74185A芯片的IP核(Quartus II工具提供)來實(shí)現(xiàn)轉(zhuǎn)碼器不但存在著2.1中所述的不足之處,而且還會(huì)面臨著更大的硬件資源浪費(fèi)問題,這是由于FPGA中的邏輯單元(LEs)都是基于4輸入的數(shù)據(jù)查找表(LUT),如果要實(shí)現(xiàn)5輸入的轉(zhuǎn)換單元(SN74185A),就需要查找表級(jí)聯(lián)擴(kuò)展,從而會(huì)造成路徑延遲進(jìn)一步增大、邏輯單元利用率降低、硬件實(shí)現(xiàn)代價(jià)提高。

為了克服以上的轉(zhuǎn)碼器設(shè)計(jì)缺陷,針對(duì)FPGA的結(jié)構(gòu)特點(diǎn),提出了以下設(shè)計(jì)思路:(1)以4 bit數(shù)據(jù)轉(zhuǎn)換作為基本的轉(zhuǎn)換單元來適應(yīng)FPGA結(jié)構(gòu)特點(diǎn),而提高邏輯單元利用率,達(dá)到降低硬件代價(jià)的目的;(2)利用Verilog HDL層次化設(shè)計(jì)描述的靈活性,以4 bit數(shù)據(jù)轉(zhuǎn)換單元為最底層模塊,構(gòu)造出更大的5 bit和6 bit轉(zhuǎn)換單元(模塊)。這種設(shè)計(jì)方法為二-十進(jìn)制(BCD)轉(zhuǎn)碼器的構(gòu)建提供了4 bit、5 bit和6 bit三種不同大小的單元模塊,可使每一個(gè)轉(zhuǎn)換單元模塊的使用恰到好處(需要小模塊的地方就不會(huì)使用大模塊)。

2.2.1 二-十進(jìn)制(BCD)轉(zhuǎn)碼器單元模塊設(shè)計(jì)

采用上文所述基于FPGA的二-十進(jìn)制(BCD)轉(zhuǎn)碼器設(shè)計(jì)方案,關(guān)鍵在于要做好最底層模塊(4 bit轉(zhuǎn)碼模塊)的優(yōu)化設(shè)計(jì),對(duì)4 bit轉(zhuǎn)碼模塊的不同Verilog HDL描述方式也會(huì)帶來不同的實(shí)現(xiàn)代價(jià);本文使用結(jié)構(gòu)描述實(shí)現(xiàn)4 bit轉(zhuǎn)碼模塊(Bin2Bcd_4),再通過4 bit轉(zhuǎn)碼模塊層次實(shí)例化構(gòu)成5 bit轉(zhuǎn)碼模塊(Bin2Bcd_5)和6 bit轉(zhuǎn)碼模塊(Bin2Bcd_6)的設(shè)計(jì),4 bit、5 bit和6 bit三種單元模塊的構(gòu)造示意圖如圖3所示。

在FPGA開發(fā)板實(shí)現(xiàn)二-十進(jìn)制轉(zhuǎn)碼器設(shè)計(jì)

2.2.2 基于混合模塊的二-十進(jìn)制(BCD)轉(zhuǎn)碼器設(shè)計(jì)

根據(jù)二-十進(jìn)制(BCD)轉(zhuǎn)碼算法,使用上文2.2.1中得到的4 bit、5 bit和6 bit三種二-十進(jìn)制轉(zhuǎn)碼單元模塊,構(gòu)造出7 bit、10 bit和12 bit二-十進(jìn)制(BCD)轉(zhuǎn)碼器結(jié)構(gòu),如圖4所示,轉(zhuǎn)碼單元模塊的多余輸入端接地,多余輸出端懸空。

3 二-十進(jìn)制(BCD)轉(zhuǎn)碼器的設(shè)計(jì)驗(yàn)證

本文使用Quartus II 6.0(Full Version)開發(fā)工具,對(duì)于圖4所示的3個(gè)混合模塊構(gòu)建的二-十進(jìn)制(BCD)轉(zhuǎn)碼器,在Altera公司的FPGA(Altera EP1K30QC208-2)芯片上分別進(jìn)行了設(shè)計(jì)驗(yàn)證,驗(yàn)證結(jié)果完全達(dá)到設(shè)計(jì)預(yù)期。其中12 bit二-十進(jìn)制(BCD)轉(zhuǎn)碼器的功能仿真和時(shí)序仿真結(jié)果如圖5所示。

在FPGA開發(fā)板實(shí)現(xiàn)二-十進(jìn)制轉(zhuǎn)碼器設(shè)計(jì)

在FPGA開發(fā)板實(shí)現(xiàn)二-十進(jìn)制轉(zhuǎn)碼器設(shè)計(jì)

在完全相同的軟硬件驗(yàn)證環(huán)境下,把圖4所示的轉(zhuǎn)碼器設(shè)計(jì)和使用中規(guī)模集成電路IP核(SN74185A)實(shí)現(xiàn)的7 bit、10 bit和12 bit的轉(zhuǎn)碼器進(jìn)行了性能對(duì)比,驗(yàn)證結(jié)果進(jìn)一步表明了這種采用混合模塊構(gòu)建二-十進(jìn)制(BCD)轉(zhuǎn)碼器的行之有效性;表1所示為采用這兩種構(gòu)建方法得到的7 bit、10 bit和12 bit轉(zhuǎn)碼器的驗(yàn)證結(jié)果對(duì)比。

在FPGA開發(fā)板實(shí)現(xiàn)二-十進(jìn)制轉(zhuǎn)碼器設(shè)計(jì)

Altera EP1K30QC208-2(FPGA)芯片上的7 bit、10 bit和12 bit轉(zhuǎn)碼器設(shè)計(jì)驗(yàn)證結(jié)果和使用IP核(SN74185A)實(shí)現(xiàn)的轉(zhuǎn)碼器驗(yàn)證結(jié)果對(duì)比更加充分證明了這種設(shè)計(jì)思路的可行性;這種高效、易于重構(gòu)的二-十進(jìn)制(BCD)轉(zhuǎn)碼器設(shè)計(jì)為基于FPGA的片上數(shù)字測(cè)量系統(tǒng)實(shí)現(xiàn)做出了有意義的積極探索。

聲明:本文內(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)注

    1660

    文章

    22423

    瀏覽量

    636688
  • 芯片
    +關(guān)注

    關(guān)注

    463

    文章

    54031

    瀏覽量

    466467
  • BCD
    BCD
    +關(guān)注

    關(guān)注

    1

    文章

    99

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

    設(shè)計(jì)背景: 二進(jìn)制轉(zhuǎn)十進(jìn)制設(shè)計(jì)應(yīng)用中分的廣泛。尤其AD轉(zhuǎn)化中是必須所用到的一個(gè)小知識(shí)點(diǎn),學(xué)習(xí)二進(jìn)制
    的頭像 發(fā)表于 09-20 09:38 ?1.7w次閱讀
    <b class='flag-5'>FPGA</b>學(xué)習(xí)系列:32. 如何<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>二進(jìn)制</b>轉(zhuǎn)<b class='flag-5'>十進(jìn)制</b>的設(shè)計(jì)

    十進(jìn)制計(jì)數(shù)

    十進(jìn)制計(jì)數(shù) 二進(jìn)制計(jì)數(shù)器具有電路結(jié)構(gòu)簡(jiǎn)單、運(yùn)算方便等特點(diǎn),但是日常生活中我們所接觸的大部分都是十進(jìn)制數(shù),特別是當(dāng)二進(jìn)制數(shù)的位數(shù)較多時(shí),閱
    發(fā)表于 06-20 13:46 ?5613次閱讀

    十進(jìn)制二進(jìn)制之間的轉(zhuǎn)換

    十進(jìn)制二進(jìn)制之間的轉(zhuǎn)換   既然一個(gè)數(shù)可以用二進(jìn)制十進(jìn)制兩種不同形式來表示,那么兩著之間就必然有一定的轉(zhuǎn)換關(guān)系?! ∮?b class='flag-5'>十進(jìn)制數(shù)的一
    發(fā)表于 04-06 23:53 ?9447次閱讀
    <b class='flag-5'>十進(jìn)制</b>和<b class='flag-5'>二進(jìn)制</b>之間的轉(zhuǎn)換

    十進(jìn)制8421碼一二~十進(jìn)制2421碼變換電路

    十進(jìn)制8421碼一二~十進(jìn)制2421碼變換電路
    發(fā)表于 04-10 10:06 ?5227次閱讀
    <b class='flag-5'>二</b>~<b class='flag-5'>十進(jìn)制</b>8421碼一二~<b class='flag-5'>十進(jìn)制</b>2421碼變換電路

    十進(jìn)制碼變換電路

    十進(jìn)制碼變換電路
    發(fā)表于 04-10 10:07 ?1402次閱讀
    <b class='flag-5'>二</b>~<b class='flag-5'>十進(jìn)制</b>碼變換電路

    七段一十進(jìn)制十進(jìn)制碼變換

    七段一十進(jìn)制十進(jìn)制碼變換
    發(fā)表于 04-10 10:10 ?620次閱讀
    七段一<b class='flag-5'>十進(jìn)制</b>或<b class='flag-5'>二</b>~<b class='flag-5'>十進(jìn)制</b>碼變換<b class='flag-5'>器</b>

    驅(qū)動(dòng)CMOS器件的十進(jìn)制一二~十進(jìn)制變換

    驅(qū)動(dòng)CMOS器件的十進(jìn)制一二~十進(jìn)制變換
    發(fā)表于 04-10 10:10 ?605次閱讀
    驅(qū)動(dòng)CMOS器件的<b class='flag-5'>十進(jìn)制</b>一二~<b class='flag-5'>十進(jìn)制</b>變換<b class='flag-5'>器</b>

    消除了開關(guān)反跳干擾的十進(jìn)制一二~十進(jìn)制變換

    消除了開關(guān)反跳干擾的十進(jìn)制一二~十進(jìn)制變換
    發(fā)表于 04-10 10:11 ?771次閱讀
    消除了開關(guān)反跳干擾的<b class='flag-5'>十進(jìn)制</b>一二~<b class='flag-5'>十進(jìn)制</b>變換<b class='flag-5'>器</b>

    十進(jìn)制計(jì)數(shù),十進(jìn)制計(jì)數(shù)原理是什么?

    十進(jìn)制計(jì)數(shù),十進(jìn)制計(jì)數(shù)原理是什么? 二進(jìn)制計(jì)數(shù)器具有電路結(jié)構(gòu)簡(jiǎn)單、運(yùn)算方便等特點(diǎn),但是日常生活中我們所接觸的大部分都是
    發(fā)表于 03-08 13:19 ?2.6w次閱讀

    十進(jìn)制加法器,十進(jìn)制加法器工作原理是什么?

    十進(jìn)制加法器,十進(jìn)制加法器工作原理是什么?   十進(jìn)制加法器可由BCD碼(十進(jìn)制碼)來設(shè)計(jì),它可以
    發(fā)表于 04-13 10:58 ?1.5w次閱讀

    十進(jìn)制數(shù)的二進(jìn)制編碼

    十進(jìn)制數(shù)的二進(jìn)制編碼     人機(jī)交互過程中,為了既滿足系統(tǒng)中使用二進(jìn)制數(shù)的要求,又適應(yīng)人們使用十進(jìn)制數(shù)
    發(fā)表于 05-02 19:04 ?1.1w次閱讀

    二進(jìn)制十進(jìn)制數(shù)對(duì)照顯示實(shí)驗(yàn),十進(jìn)制二進(jìn)制對(duì)照

    計(jì)數(shù)脈沖,分別輸出到二進(jìn)制計(jì)數(shù)CD4040和一個(gè)十進(jìn)制計(jì)數(shù)如CD40110、CD4033,從而得到一個(gè)任意數(shù)字的二進(jìn)制
    的頭像 發(fā)表于 09-20 18:26 ?3867次閱讀

    二進(jìn)制編碼的十進(jìn)制表示轉(zhuǎn)換解碼

    二進(jìn)制編碼小數(shù)的主要優(yōu)點(diǎn)是它允許decimal(base-10)和binary(base-2)表單之間輕松轉(zhuǎn)換。但是,缺點(diǎn)是BCD代碼是浪費(fèi)的,因?yàn)椴皇褂?1010 (十進(jìn)制10)和 1111 (
    的頭像 發(fā)表于 06-24 09:31 ?1.7w次閱讀
    <b class='flag-5'>二進(jìn)制</b>編碼的<b class='flag-5'>十進(jìn)制</b>表示轉(zhuǎn)換解碼<b class='flag-5'>器</b>

    基于FPGA十進(jìn)制計(jì)數(shù)

    本方案是一個(gè)基于 FPGA ?的十進(jìn)制計(jì)數(shù)。共陽極 7 段顯示上的 0 到 9 十進(jìn)制計(jì)數(shù)
    發(fā)表于 12-20 14:52 ?4次下載

    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位
    的頭像 發(fā)表于 12-20 17:15 ?4829次閱讀