博客專欄

        EEPW首頁 > 博客 > 實驗2:1位全加器

        實驗2:1位全加器

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

        • (2)通過實驗理解基本邏輯門電路;

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

        實驗任務(wù)

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

        實驗原理

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

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


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

        Verilog HDL建模描述

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

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

        實驗步驟
        1. 打開Lattice Diamond,建立工程。

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

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

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

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

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



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

        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 永嘉县| 重庆市| 宁化县| 本溪市| 乡城县| 门源| 巴南区| 和政县| 东乡族自治县| 太仆寺旗| 尼勒克县| 青川县| 南投市| 常宁市| 红安县| 雷波县| 三河市| 东乌珠穆沁旗| 武隆县| 浠水县| 都江堰市| 丹巴县| 平罗县| 亚东县| 玛纳斯县| 阿勒泰市| 彰化县| 米易县| 顺昌县| 莱州市| 临猗县| 东乌| 尉氏县| 芜湖县| 新宾| 开原市| 黄陵县| 常熟市| 曲靖市| 二手房| 枝江市|