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的除法器純邏輯設(shè)計(jì)案例

姚小熊27 ? 來(lái)源:電路城論壇 ? 作者:yiqizhenshanhe ? 2020-06-17 10:17 ? 次閱讀

前邊寫(xiě)了很多關(guān)于板上外圍器件的評(píng)測(cè)文章,這篇是FPGA純邏輯設(shè)計(jì),是FPGA的另一部分——算法實(shí)現(xiàn),上篇文章做了HDC1000傳感器的使用,當(dāng)時(shí)說(shuō)FPGA是不支持小數(shù)的,本篇記述的是FPGA如何去做除法運(yùn)算。很多人覺(jué)得不就是除法嘛,直接打上/即可,但是,F(xiàn)PGA是不能正確綜合這個(gè)除法器的,綜合的結(jié)果只是一個(gè)固定數(shù)值,而不像其他微處理器??梢赃@么說(shuō),用FPGA實(shí)現(xiàn)除法運(yùn)算是比較麻煩的。

用軟件編程的時(shí)候,用到除法器的時(shí)候,一個(gè)/就能求商,一個(gè)%就能求余,很簡(jiǎn)單。但是,如果使用硬件來(lái)實(shí)現(xiàn)除法運(yùn)算,就需要了解計(jì)算機(jī)存儲(chǔ)結(jié)構(gòu),二進(jìn)制的除法和平常使用的十進(jìn)制除法是一樣的,都是通過(guò)輾轉(zhuǎn)相除的原理,

基于FPGA的觸發(fā)器純邏輯設(shè)計(jì)

原理如上所述,現(xiàn)在需要把這個(gè)原理轉(zhuǎn)換成可實(shí)現(xiàn)的設(shè)計(jì)方案,從圖可以看出,首先是將除數(shù)與被除數(shù)的最高3位做比較,如果除數(shù)(110)大于被除數(shù)(101),則將商賦值為0(最高位是0可以省略),被除數(shù)向右增加1位再進(jìn)行比較;當(dāng)被除數(shù)增加1位,除數(shù)(110)小于被除數(shù)(1010),則將商賦值為1,接著進(jìn)行二進(jìn)制減法運(yùn)算,被除數(shù)(1010)減去除數(shù)(110),變成100;然后被除數(shù)向右再增加1位,變成1001,再與除數(shù)(110)比較,以此類推,最后輸出結(jié)果。

設(shè)計(jì)好代碼,用Modelsim仿真驗(yàn)證,

基于FPGA的觸發(fā)器純邏輯設(shè)計(jì)

用$random產(chǎn)生隨機(jī)數(shù),實(shí)現(xiàn)效果如下:

i_dividend為被除數(shù),i_divisor為除數(shù),o_quotient為商,o_remainder為余數(shù)(下同)。

基于FPGA的觸發(fā)器純邏輯設(shè)計(jì)

$random是不能綜合的,所以,只能用其他的進(jìn)行代替,被除數(shù)用一個(gè)計(jì)數(shù)器,除數(shù)用數(shù)字3,再進(jìn)行Modelsim仿真驗(yàn)證:

基于FPGA的觸發(fā)器純邏輯設(shè)計(jì)

由2個(gè)圖可知,除法器設(shè)計(jì)滿足需求。

進(jìn)行板上調(diào)試,

基于FPGA的觸發(fā)器純邏輯設(shè)計(jì)

綜合后的RTL圖,

基于FPGA的觸發(fā)器純邏輯設(shè)計(jì)

Quartus ii軟件查看結(jié)果,一切與預(yù)期一致,設(shè)計(jì)成功。

總結(jié):用FPGA實(shí)現(xiàn)除法器真麻煩!

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

    1625

    文章

    21620

    瀏覽量

    601239
  • 除法器
    +關(guān)注

    關(guān)注

    2

    文章

    14

    瀏覽量

    13887
  • 邏輯設(shè)計(jì)
    +關(guān)注

    關(guān)注

    1

    文章

    41

    瀏覽量

    11559
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    法器是時(shí)序邏輯電路嗎

    法器不是時(shí)序邏輯電路 ,而是組合邏輯電路的一種。時(shí)序邏輯電路和組合邏輯電路的主要區(qū)別在于它們?nèi)绾翁幚磔敵鲂盘?hào)。 組合
    的頭像 發(fā)表于 08-28 11:05 ?361次閱讀

    具有10路解碼輸出的高速CMOS邏輯+進(jìn)位計(jì)數(shù)器/除法器CD74HC4017-EP 數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有10路解碼輸出的高速CMOS邏輯+進(jìn)位計(jì)數(shù)器/除法器CD74HC4017-EP 數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-28 09:47 ?0次下載
    具有10路解碼輸出的高速CMOS<b class='flag-5'>邏輯</b>+進(jìn)位計(jì)數(shù)器/<b class='flag-5'>除法器</b>CD74HC4017-EP 數(shù)據(jù)表

    具有10個(gè)解碼輸出的高速CMOS邏輯十進(jìn)位計(jì)數(shù)器/除法器CD74HC4017數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有10個(gè)解碼輸出的高速CMOS邏輯十進(jìn)位計(jì)數(shù)器/除法器CD74HC4017數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-28 09:46 ?0次下載
    具有10個(gè)解碼輸出的高速CMOS<b class='flag-5'>邏輯</b>十進(jìn)位計(jì)數(shù)器/<b class='flag-5'>除法器</b>CD74HC4017數(shù)據(jù)表

    FPGA學(xué)習(xí)筆記-關(guān)于FPGA資源

    在和別人討教FPGA的知識(shí)時(shí),初步得到的有關(guān)FPGA的印象是:通過(guò)程序或者其它設(shè)置,把集成在芯片中的各種邏輯電路組合起來(lái)使用。就像用CMOS、TTL門電路搭建處理邏輯更復(fù)雜的電路。帶著
    發(fā)表于 05-22 18:27

    CMOS14級(jí)重復(fù)進(jìn)位二進(jìn)制計(jì)數(shù)器/除法器和振蕩器CD4060B Types數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《CMOS14級(jí)重復(fù)進(jìn)位二進(jìn)制計(jì)數(shù)器/除法器和振蕩器CD4060B Types數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-20 09:41 ?0次下載
    CMOS14級(jí)重復(fù)進(jìn)位二進(jìn)制計(jì)數(shù)器/<b class='flag-5'>除法器</b>和振蕩器CD4060B Types數(shù)據(jù)表

    具有十個(gè)解碼輸出的十進(jìn)位計(jì)數(shù)器/除法器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有十個(gè)解碼輸出的十進(jìn)位計(jì)數(shù)器/除法器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-17 10:47 ?0次下載
    具有十個(gè)解碼輸出的十進(jìn)位計(jì)數(shù)器/<b class='flag-5'>除法器</b>數(shù)據(jù)表

    具有10個(gè)解碼輸出的高速CMOS LogicDecade計(jì)數(shù)器/除法器CD54HC4017/CD74HC4017數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有10個(gè)解碼輸出的高速CMOS LogicDecade計(jì)數(shù)器/除法器CD54HC4017/CD74HC4017數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-17 10:42 ?0次下載
    具有10個(gè)解碼輸出的高速CMOS LogicDecade計(jì)數(shù)器/<b class='flag-5'>除法器</b>CD54HC4017/CD74HC4017數(shù)據(jù)表

    FPGA學(xué)習(xí)資料分享

    的學(xué)習(xí)資源Verilog 教程,數(shù)字邏輯設(shè)計(jì) (點(diǎn)擊文字進(jìn)入鏈接). 具備一定硬件描述語(yǔ)言基礎(chǔ)是發(fā)開(kāi)FPGA通用的。此外就是根據(jù)廠家型號(hào)、環(huán)境和提供的資源,能有效使用組織起來(lái),實(shí)現(xiàn)目標(biāo)功能,這更傾向于實(shí)踐應(yīng)用。 大家有關(guān)于實(shí)踐應(yīng)用,由淺入深的資料,可以相互的學(xué)習(xí)交流,共同
    發(fā)表于 03-31 13:23

    fpga和數(shù)字ic區(qū)別 fpga和plc區(qū)別

    邏輯設(shè)計(jì)可以通過(guò)編程隨時(shí)改變應(yīng)用場(chǎng)景,模擬各種硬件的并行運(yùn)算。而數(shù)字IC則更專注于傳遞、加工、處理數(shù)字信號(hào),它是按照功能分類的集成電路的一種。 兩者在功能和應(yīng)用上也有所不同。FPGA設(shè)計(jì)更偏向于產(chǎn)品化,通過(guò)在產(chǎn)品上實(shí)現(xiàn)邏輯控制、
    的頭像 發(fā)表于 03-14 18:08 ?2434次閱讀

    fpga用的是什么編程語(yǔ)言 fpga用什么語(yǔ)言開(kāi)發(fā)

    和VHDL都是用于邏輯設(shè)計(jì)的硬件描述語(yǔ)言,并且都已成為IEEE標(biāo)準(zhǔn)。它們能形式化地抽象表示電路的結(jié)構(gòu)和行為,支持邏輯設(shè)計(jì)中層次與領(lǐng)域的描述,具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計(jì)的正確性,并便于文檔管理和設(shè)計(jì)重用。 fpga用什么語(yǔ)言
    的頭像 發(fā)表于 03-14 17:09 ?3245次閱讀

    fpga是干什么工作的

    FPGA(現(xiàn)場(chǎng)可編程門陣列)主要被用于進(jìn)行邏輯設(shè)計(jì)、算法實(shí)現(xiàn)、功能定義以及時(shí)序優(yōu)化等工作。具體來(lái)說(shuō),FPGA工程師的主要職責(zé)包括但不限于以下幾個(gè)方面。
    的頭像 發(fā)表于 03-14 17:09 ?1320次閱讀

    基于VHDL的組合邏輯設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于VHDL的組合邏輯設(shè)計(jì).ppt》資料免費(fèi)下載
    發(fā)表于 03-11 09:23 ?2次下載

    數(shù)字電路與邏輯設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《數(shù)字電路與邏輯設(shè)計(jì).ppt》資料免費(fèi)下載
    發(fā)表于 03-11 09:21 ?4次下載

    如何設(shè)計(jì)一個(gè)16比特的減法器呢?

    減法電路是基本集成運(yùn)放電路的一種,算術(shù)運(yùn)算電路主要包括數(shù)字**加法器電路、數(shù)字減法器電路、數(shù)字乘法器電路和數(shù)字除法器電路。
    的頭像 發(fā)表于 02-19 10:00 ?782次閱讀
    如何設(shè)計(jì)一個(gè)16比特的減<b class='flag-5'>法器</b>呢?

    基于TouchGFX的智能手表設(shè)計(jì) —MVP 架構(gòu)下的邏輯設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于TouchGFX的智能手表設(shè)計(jì) —MVP 架構(gòu)下的邏輯設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 01-05 11:21 ?1次下載