• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的自頂向下乘法器電路設(shè)計

      2018-01-11 14:37:21陳楚呂石磊孫道宗刁寅亮
      關(guān)鍵詞:乘法器

      陳楚+呂石磊+孫道宗+刁寅亮

      摘要:自頂向下電路設(shè)計方法是FPGA電路設(shè)計的重要內(nèi)容,和傳統(tǒng)的電子產(chǎn)品設(shè)計方法有很大區(qū)別,主要是通過EDA軟件對電路設(shè)計文件進行相關(guān)處理,最終實現(xiàn)專用集成電路的設(shè)計。本文結(jié)合移位相加型乘法器實際例子介紹了兩種電路設(shè)計輸入方式,純文本輸入利用硬件描述語言對底層元件和頂層文件的電路功能進行描述;文本和原理圖混合輸入對電路的底層元件進行硬件描述語言描述,而頂層文件則采用原理圖輸入方式來實現(xiàn)。對兩種輸入方式的仿真波形進行分析,論證了設(shè)計方法的正確性,說明了兩種輸入方式的特點。

      關(guān)鍵詞:自頂向下;硬件描述語言;文本輸入;原理圖輸入;乘法器

      中圖分類號:TN79 文獻標(biāo)識碼:A 文章編號:1007-9416(2017)11-0165-02

      FPGA全稱是現(xiàn)場可編程門陣列(Field Programmable Gate Array),可以通過軟件的方式實現(xiàn)數(shù)字邏輯電路設(shè)計[1],在傳統(tǒng)數(shù)字電路系統(tǒng)設(shè)計內(nèi)容的基礎(chǔ)上,增加了一系列的知識點。FPGA的用途比較廣泛,本文是利用FPGA進行乘法器電路設(shè)計,實現(xiàn)專用集成電路(ASIC)的功能。

      在傳統(tǒng)的電子產(chǎn)品設(shè)計過程當(dāng)中,重點是設(shè)計電路的結(jié)構(gòu),涉及到原理圖設(shè)計、布線、焊接、調(diào)試,整個過程需要付出很長的時間,一旦電路需要調(diào)整,必須重新進行一遍之前的步驟,增加了額外的成本和時間。

      而采用可編程邏輯器件對電路進行設(shè)計,重點是關(guān)心電路的功能,采用硬件描述語言(HDL)描述或者輸入原理圖等方式來進行電路設(shè)計。通過EDA軟件對設(shè)計好的文本或者原理圖文件進行編譯、綜合、適配、再編譯,生成對應(yīng)的電路網(wǎng)表文件,最后通過下載電纜配置到可編程邏輯器件芯片,該芯片就具有了設(shè)計者預(yù)期的功能。如果設(shè)計好的電路系統(tǒng)通過現(xiàn)場測試后,發(fā)現(xiàn)功能錯誤或者不理想,只需要在普通電腦上運行EDA軟件對設(shè)計文件進行修改[2],重新編譯,生成新的網(wǎng)表文件,重新配置到可編程邏輯器件芯片,直至芯片功能滿足設(shè)計要求。上述采用可編程邏輯器件進行電路設(shè)計的過程稱為自頂向下的電路設(shè)計技術(shù)。

      相對于傳統(tǒng)的電子產(chǎn)品設(shè)計過程,自頂向下的電路設(shè)計思路通過修改設(shè)計文件就可以改變電路功能,因而具有設(shè)計周期短、節(jié)約成本、靈活性強、可靠性高等優(yōu)點。

      1 自頂向下電路設(shè)計方法分類

      自頂向下電路設(shè)計主要有純文本輸入、文本和原理圖混合輸入兩種方式。純文本方式是指利用硬件描述語言(HDL)描述硬件電路的功能[3],即通過寫代碼的方式來描述芯片(ASIC)功能;而原理圖輸入方式是指設(shè)計完成電路原理圖之后,利用EDA軟件自帶或用戶自定義的元件庫,按照電路原理圖進行連接,側(cè)重于電路結(jié)構(gòu)的描述。在有的情況下,底層文件用硬件描述語言描述,由底層文件創(chuàng)建相應(yīng)的底層元件,然后采用原理圖輸入方式進行頂層文件的設(shè)計,在頂層文件中調(diào)用已創(chuàng)建的底層元件,這種輸入方式稱為文本和原理圖混合輸入方式。

      1.1 純文本輸入方式

      目前官方標(biāo)準(zhǔn)的硬件描述語言有兩大類,一類是VHDL語言,另外一類是Verilog HDL語言。本文采用VHDL語言來進行電路設(shè)計[4],實現(xiàn)純文本輸入;EDA軟件采用Altera公司開發(fā)的QuartusII,利用該軟件進行電路設(shè)計的輸入。

      自頂向下電路設(shè)計的技術(shù)思路是根據(jù)電子產(chǎn)品的說明書抽象出電路的功能,用自然語言描述,接著利用VHDL語言來描述電路的功能。在設(shè)計過程當(dāng)中,需要把一個復(fù)雜的系統(tǒng)劃分為多個簡單模塊,這些模塊也可以繼續(xù)劃分為規(guī)模更小的模塊??梢娫谧皂斚蛳码娐吩O(shè)計過程當(dāng)中,頂層文件是由多個底層元件組合連接而成。

      1.1.1 電路工作原理

      本文以移位相加型6位乘法器為例子來說明自頂向下的電路設(shè)計思路[5]。兩個6位的二進制數(shù)進行相乘可以采用移位相加的原理來實現(xiàn),乘2由邏輯左移1位來實現(xiàn),而乘4由邏輯左移2位來實現(xiàn),以此類推,最后把所有邏輯左移的中間結(jié)果累加起來,獲得相乘結(jié)果。由乘法器的移位相加原理可知,整個電路系統(tǒng)可以劃分為4個子模塊,即頂層文件由4個底層元件組成,分別是:右移移位寄存器、輸入數(shù)據(jù)開關(guān)、邏輯左移電路、6位相加器。

      具體的工作過程:參與乘法的其中一個數(shù)進入到右移移位寄存器,在輸入數(shù)據(jù)開關(guān)模塊利用右移移位寄存器的逐位輸入對另外一個參與相乘的數(shù)進行控制輸出;邏輯左移電路對鎖存進來的數(shù)據(jù)進行邏輯左移,并把上一周期的高7位數(shù)據(jù)和當(dāng)前低5位數(shù)據(jù)并置,輸出12位相乘結(jié)果,同時截取高6位數(shù)據(jù)傳送到6位加法器和另外一個6位輸入數(shù)據(jù)相加;6位加法器完成數(shù)據(jù)邏輯左移中間結(jié)果的累加功能,輸出7位數(shù)據(jù)。

      1.1.2 輸入步驟

      (1)運行QuartusII軟件,進入到VHDL文本輸入界面。根據(jù)上述的原理分析,逐一輸入4個模塊的VHDL代碼,逐一完成存盤、編譯、仿真等步驟;

      (2)利用VHDL語言的component例化語句,調(diào)用步驟(1)已完成設(shè)計的4個底層元件,利用端口映射port map語句實現(xiàn)底層元件在頂層文件的端口連接關(guān)系;調(diào)用4個底層元件及端口映射的頂層文件部分代碼如下:

      component accu is

      port(clk,clr:in std_logic;

      d:in std_logic_vector(6 downto 0);

      q:out std_logic_vector(11 downto 0);

      qqq:out std_logic_vector(5 downto 0));

      end component;

      component regshift is

      port(clk,load:in std_logic;

      din:in std_logic_vector(5 downto 0);endprint

      qb:out std_logic );

      end component;

      component switchdata is

      port(abin:in std_logic;

      din:in std_logic_vector(5 downto 0);

      dout:out std_logic_vector(5 downto 0));

      end component;

      component adder is

      port( a,b:in std_logic_vector(5 downto 0);

      s:out std_logic_vector(6 downto 0) );

      end component;

      ……

      u1:accu port map(clk=>clk,clr=>load,d=>net4,

      q=>q,qqq=>net3);

      u2:regshift port map(clk=>clk,load=>load,

      din=>a,qb=>net1);

      u3:switchdata port map(abin=>net1,din=>b,

      dout=>net2);

      u4:adder port map(a=>net3,b=>net2,s=>net4);

      (3)對頂層文件進行存盤、編譯、仿真等步驟,觀察仿真波形是否達到設(shè)計要求。

      1.1.3 仿真結(jié)果分析

      從頂層文件的仿真波形[6]可以看出,如圖1所示兩個相乘的6位二進制數(shù)分別為:1B和3D,得到最終的12位相乘結(jié)果是66F,同時也可以看出移位相加過程的中間累加結(jié)果隨著時鐘觸發(fā)而跳變。仿真波形驗證了底層元件和頂層文件VHDL代碼描述是正確的。

      1.2 文本和原理圖混合輸入方式

      在實際的電路設(shè)計當(dāng)中,經(jīng)常會采用底層元件用純文本描述,而頂層文件用原理圖來描述的混合輸入方式,移位相加型6位乘法器頂層文件原理圖如圖2所示,由移位寄存器模塊(regshift)、選通模塊(switchdata)、加法器模塊(adder)、累加模塊(accu)組成,實現(xiàn)整個電路系統(tǒng)的設(shè)計。

      1.2.1 輸入步驟

      (1)在VHDL文本輸入界面編輯各個子模塊的底層文件,利用QuartusII軟件生成底層元件;

      (2)在原理圖輸入界面調(diào)用步驟(1)生成的底層元件,用連線的方式完成頂層文件的電路原理圖設(shè)計;

      (3)對頂層文件進行存盤、編譯、仿真等步驟,觀察仿真波形是否達到設(shè)計要求。

      1.2.2 仿真結(jié)果分析

      仿真波形和純文本輸入方式一致,驗證了底層元件VHDL代碼和頂層文件原理圖混合輸入方式是可行的。

      1.3 純文本輸入和原理圖輸入的比較

      (1)原理圖輸入方式直接用連線的方式在EDA軟件的輸入界面繪制電路原理圖,這種方式的特點是直觀、方便,適合小規(guī)模的簡單電路系統(tǒng)設(shè)計;

      (2)純文本輸入方式通過編寫硬件描述語言代碼來描述電路功能[7],具有對電路功能的抽象作用。由于硬件描述語言表達的豐富多樣性,因而純文本輸入方式可以對大規(guī)模的復(fù)雜電路系統(tǒng)進行設(shè)計;

      (3)文本和原理圖混合輸入結(jié)合了兩種輸入方式的優(yōu)點。底層元件側(cè)重于功能描述,采用文本輸入;頂層文件側(cè)重于結(jié)構(gòu)描述,采用原理圖描述。

      2 設(shè)計過程的注意事項

      (1)同一工程的所有文件必須要存放在同一工程目錄(文件夾)下,工程名字必須是英文;對當(dāng)前文件進行編譯之前,要把當(dāng)前文件設(shè)置為頂層文件;必須在文件打開的界面下,才能創(chuàng)建該文件所對應(yīng)的元件,擴展名為bsf;

      (2)采用文本輸入方式時,存盤的文件名必須和代碼的實體名一致,擴展名為vhd;使用component例化語句時,要注意端口映射語句里面的端口順序和底層文件的端口定義順序一致;

      (3)采用原理圖輸入方式時,注意檢查連線的交叉點問題;文件存盤的擴展名為bdf,注意調(diào)用自創(chuàng)建元件的路徑和調(diào)用EDA軟件自帶元件庫的路徑。

      3 結(jié)語

      本文對6位乘法器的FPGA自頂向下電路設(shè)計方法進行了闡述,通過移位相加型乘法器重點介紹了純文本輸入方式、文本和原理圖混合輸入方式[8]的步驟。在實際的設(shè)計過程當(dāng)中,結(jié)合EDA軟件先對各個模塊電路進行仿真,然后對頂層電路進行仿真,整個設(shè)計思路就會清晰,排查錯誤就會更方便。

      參考文獻

      [1]李定川.FPGA技術(shù)在汽車電子中的應(yīng)用[J].汽車電器,2009,8:1-4.

      [2]周寧寧,劉勝.基于FPGA技術(shù)的CPU模型機的設(shè)計與實現(xiàn)[J].南京郵電學(xué)院學(xué)報,2003,23(1):77-80.

      [3]劉強,方錦清,趙耿,李永.基于FPGA技術(shù)的混沌加密系統(tǒng)研究[J].物理學(xué)報,2012,61(13):78-83.

      [4]潘松,黃繼業(yè).EDA技術(shù)實用教程(第五版)[M].科學(xué)出版社,2013.

      [5]陳友榮,楊海波.基于FPGA技術(shù)視頻采集系統(tǒng)的設(shè)計與實現(xiàn)[J].中國有線電視,2008,4:382-387.

      [6]文璧,張潔,徐謙.基于無線射頻與FPGA技術(shù)的數(shù)據(jù)采集系統(tǒng)[J].中國測試,2009,35(4):40-43.

      [7]王春花,黃厚寬,馬聰.一種基于FPGA技術(shù)的虛擬邏輯分析儀的研究與實現(xiàn)[J].自動化與儀器儀表,2000,3:39-42.

      [8]王建軍.用FPGA技術(shù)實現(xiàn)數(shù)字通信中的擾碼和解擾[J].電子技術(shù)應(yīng)用,1998,(5):48-49.endprint

      Abstract:From top to bottom circuit design mean is the emphasis during FPGA circuit design. There is great difference between this mean and traditional electronic design. From top to bottom circuit design mean processes circuit design file by the EDA software in order to fulfill application specific integrated circuit design. In this paper it introduces two circuit design input means in the shift and accumulate type multiplier example. The pure text input mean describes the top level and bottom level circuit behavior by hardware description language. The composed mean of text input and schematic input describes the bottom level component by hardware description language, on the same time the top level file will be fulfilled by the schematic input. There is analysis of simulate waveform about two different input means, it proves these design means are right and concludes their characteristics.

      Key Words:from top to bottom;hardware description language;text input;schematic input;multiplierendprint

      猜你喜歡
      乘法器
      一種基于中國剩余定理的高效乘法器設(shè)計
      一種低開銷的近似乘法器設(shè)計
      基于Karatsuba和Vedic算法的快速單精度浮點乘法器
      一種自動生成Wallace樹形乘法器Verilog源代碼方法
      基于FPGA的流水線單精度浮點數(shù)乘法器設(shè)計*
      基于VHDL的乘法器的設(shè)計與對比
      基于BoothCSD混合編碼的模2n+1乘法器的設(shè)計
      電子器件(2014年2期)2014-09-26 08:58:48
      復(fù)數(shù)乘法運算的優(yōu)化方法研究與實現(xiàn)
      乘法器模塊在FPGA中的實現(xiàn)
      基于FPGA 的數(shù)字乘法器性能比較*
      電子器件(2011年6期)2011-08-09 08:07:22
      卫辉市| 六安市| 城市| 北流市| 连州市| 烟台市| 巴林右旗| 城步| 东阿县| 集安市| 阿勒泰市| 祁东县| 丰原市| 百色市| 许昌市| 晋中市| 东安县| 克东县| 区。| 新建县| 环江| 商都县| 广安市| 宜君县| 南通市| 晋宁县| 沁源县| 瓦房店市| 梁河县| 革吉县| 台南县| 寿阳县| 长岛县| 福海县| 苏州市| 永胜县| 台中县| 黄冈市| 五家渠市| 江源县| 浦城县|