博客專欄

EEPW首頁(yè) > 博客 > 實(shí)驗(yàn)2:1位全加器

實(shí)驗(yàn)2:1位全加器

發(fā)布人:xiaxue 時(shí)間:2023-10-07 來(lái)源:工程師 發(fā)布文章
實(shí)驗(yàn)?zāi)康?div>
  • (1)熟悉和掌握FPGA開(kāi)發(fā)流程和Lattice Diamond軟件使用方法;

  • (2)通過(guò)實(shí)驗(yàn)理解基本邏輯門(mén)電路;

  • (3)學(xué)習(xí)在Verilog HDL語(yǔ)言中實(shí)例化基本邏輯單元,用結(jié)構(gòu)化描述電路的方法。

實(shí)驗(yàn)任務(wù)

用與非門(mén)和異或門(mén)設(shè)計(jì)一個(gè)1位全加器電路,然后在實(shí)驗(yàn)板上實(shí)現(xiàn)自己設(shè)計(jì)的邏輯電路,并驗(yàn)證是否正確。

實(shí)驗(yàn)原理

在將兩個(gè)多位二進(jìn)制數(shù)相加時(shí),除了最低位以外,每一位都應(yīng)該考慮來(lái)自低位的進(jìn)位,即將兩個(gè)對(duì)應(yīng)位的加數(shù)和來(lái)自低位的進(jìn)位三個(gè)數(shù)相加。這種運(yùn)算稱為全加,所用的電路稱為全加器。按照二進(jìn)制加法運(yùn)算規(guī)則,可以得到如下表所示全加器真值表。其中,A、B是兩個(gè)加數(shù),CI是來(lái)自低位的進(jìn)位,S是相加的和,CO是向高位的進(jìn)位。將S、CO和A、B、CI的關(guān)系寫(xiě)成邏輯表達(dá)式則得到:

S=CI’A’B+CI’AB’+CIA’B’+CIAB=A⊕B⊕CI
CO=CI’AB+CIA’B+CI’AB’+CIAB=AB+AC+BC


邏輯電路(使用與非門(mén)和異或門(mén)構(gòu)成)

Verilog HDL建模描述

1位全加器程序清單adder1.v

   module adder1    (
     input wire a,           //輸入的低位進(jìn)位及兩個(gè)加數(shù)cin、a、b
     input wire b,
     input wire cin,
     output wire sum,        //輸出的和與進(jìn)位
     output wire cout    );
     wire s1,s2,s3;   //定義中間變量
   xor (s1,a,b);                 //調(diào)用基本異或門(mén)
   xor (sum,s1,cin);
   nand (s2,a,b); //調(diào)用基本與非門(mén)
   nand (s3,s1,cin);
   and  (cout,s2,s3);
 endmodule 
 

實(shí)驗(yàn)步驟
  1. 打開(kāi)Lattice Diamond,建立工程。

  2. 新建Verilog HDL設(shè)計(jì)文件,并鍵入設(shè)計(jì)代碼。

  3. 綜合并分配管腳,將輸入信號(hào)cin、a、b分配至撥碼開(kāi)關(guān),將輸出信號(hào)sum、cout分配至板卡上的LED。cin/M7,a/M8,b/M9,sum/N13,cout/M12

  4. 構(gòu)建并輸出編程文件,燒寫(xiě)至FPGA的Flash之中。

  5. 按下對(duì)應(yīng)按鍵,觀察輸出結(jié)果。

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: FPGA Lattice Diamond 邏輯門(mén)

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉