博客專欄

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

        實驗2:1位全加器

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

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

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

        實驗任務

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

        實驗原理

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

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


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

        Verilog HDL建模描述

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

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

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

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

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

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

        5. 按下對應按鍵,觀察輸出結果。

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。




        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 同仁县| 双城市| 银川市| 沙河市| 肥城市| 西峡县| 兰西县| 湛江市| 贵州省| 天镇县| 启东市| 东源县| 延庆县| 高雄市| 西宁市| 格尔木市| 哈密市| 镇安县| 富民县| 长垣县| 博兴县| 浮山县| 峨边| 临泉县| 如皋市| 博客| 太仓市| 香港 | 定边县| 大石桥市| 陇南市| 丹江口市| 兴山县| 洛南县| 沂源县| 武乡县| 巢湖市| 南华县| 栾城县| 南岸区| 岐山县|