那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于FPGA的半加器設計

CHANBAEK ? 來源:小小研究生 ? 作者: xxyjs2020 ? 2023-05-12 14:50 ? 次閱讀

數電基礎

加法器用于兩個數或者多個數的加和,加法器又分為半加器(half adder)和全加器(full adder)。半加器電路是指對兩個輸入數據位相加,輸出一個結果位和進位,沒有進位輸入的加法器電路。是實現兩個一位二進制數的加法運算電路。而全加器除了加數和被加數之和外還要加上上一級傳進來的進位信號。如果沒有理解,看真值表和邏輯式就理解了。

A B C S A+B={C,S}
0 0 0 0 S=A⊕B
0 1 0 1 C=AB
1 0 0 1
1 1 1 0
A B Ci-1 Ci S A+B+Ci-1={Ci,S}
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

全加器可看作兩個半加器和一個或門組成。

設計規劃

本例中我們實現最簡單的半加器。這個示例中,采用兩個按鍵作為信號輸入A和B,兩個LED燈作為輸出C和S。按下按鍵為低電平,LED燈為低電平時點亮。需要實現的功能是,按下AB時CS點亮,按下其中一個時只有C點亮,都不按下時只有S點亮。

根據真值表很容易畫出波形。

編寫代碼

module half_adder
(
input wire in1 , 
input wire in2 , 
output wire sum , 
output wire cout
);


 assign {cout, sum} = in1 + in2;
 endmodule

添加.v文件后編譯通過。點擊RTL viewer可以查看設計的硬件電路結構,和我們設計所表達的意思相同。

編寫testbench

`timescale 1ns/1ns
module tb_half_adder();


reg in1;
reg in2;
wire sum;
wire cout;


 initial begin
 in1 <= 1'b0;
 in2 <= 1'b0;
 end


 always #10 in1 <= {$random} % 2;
 always #10 in2 <= {$random} % 2;




 //--------------------half_adder_inst-----------------
 half_adder half_adder_inst
 (
 .in1 (in1 ), //input in1
 .in2 (in2 ), //input in2


 .sum (sum ), //output sum
 .cout (cout ) //output cout
 );


 endmodule

又是超級熟悉的testbench。

對比波形

波形與預想的一致。

分配管腳

按照設計規劃:采用S0和S1作為信號輸入A和B,LED0和LED1作為輸出C和S。按下AB(0+0)時CS(=00)都亮,按下其中一個(0+1)時只有C(01)亮,都不按下(1+1)時只有S(=10)亮。

全編譯后上板驗證

都不按時LED1亮

任意按一個時,LED0亮。

兩個都按下時,LED0和LED1都亮。

在完成這幾個實例的過程中,遇到了很多錯誤,但是只要會上網,把報錯信息進行檢索,都能圓滿解決。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21796

    瀏覽量

    606002
  • 加法器
    +關注

    關注

    6

    文章

    183

    瀏覽量

    30232
  • 全加器
    +關注

    關注

    10

    文章

    62

    瀏覽量

    28562
  • 數電
    +關注

    關注

    15

    文章

    63

    瀏覽量

    30032
  • 半加器
    +關注

    關注

    1

    文章

    29

    瀏覽量

    8824
收藏 人收藏

    評論

    相關推薦

    #硬聲創作季 FPGA技術應用:設計

    fpga
    Mr_haohao
    發布于 :2022年10月19日 17:08:24

    和全加器是算術運算電路中的基本單元,它們是完成1位二進制數相加的一種組合邏輯電路。兩
    發表于 04-07 10:34 ?1.6w次閱讀
    <b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>

    最小邏輯電路 單電子成功研制

    在一項新研究中,韓國、日本和英國科學家組 成的科研小組僅用5個晶體管就制造出一個,它是 所有邏輯電路中最小的一種。
    的頭像 發表于 11-25 23:50 ?3482次閱讀

    全加器是什么?全加器和的區別?

    是能夠計算低位進位的二進制加法電路。與相比,全加器不只考慮本位計算結果是否有進位,也考慮上一位對本位的進位,可以把多個一位全加器級
    發表于 07-25 11:15 ?7.4w次閱讀
    全加器是什么?全加器和<b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>的區別?

    和全加器的原理及區別(結構和功能)

    +加法和全加法是算術運算電路中的基本單元,它們是完成1位二進制相加的一種組合邏輯電路。
    的頭像 發表于 07-25 11:37 ?33.8w次閱讀
    <b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>和全加器的原理及區別(結構和功能)

    全加器真值表和真值表詳細分析

    、全加器是組合電路中的基本元器件,也是CPU中處理加法運算的核心,理解、掌握并熟練應用是硬件課程的最基本要求。
    的頭像 發表于 07-25 14:39 ?14w次閱讀
    全加器真值表和<b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>真值表詳細分析

    電路原理圖資料免費下載

    電路是指對兩個輸入數據位相加,輸出一個結果位和進位,沒有進位輸入的加法器電路。 是實現兩個一位二進制數的加法運算電路。
    發表于 07-08 08:00 ?18次下載
    <b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>電路原理圖資料免費下載

    電路原理圖

    電路原理圖免費下載。
    發表于 06-11 10:51 ?24次下載

    基于CPLD/FPGA整數分頻設計方案

    基于CPLD/FPGA整數分頻設計方案
    發表于 06-17 09:37 ?21次下載

    真值表

    是實現兩個一位二進制數加法運算的電子器件,具有被加數A和加數B兩個輸入端、輸出端Y,經常被應用在算數運算電路中,用于計算兩個一位二進制相加,不考慮低位進位。
    的頭像 發表于 07-09 09:46 ?5.3w次閱讀
    <b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b> <b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>真值表

    vhdl描述

    vhdl描述
    發表于 02-24 11:08 ?0次下載

    如何去實現一個電路的設計呢?

    加法器用于兩個數或者多個數的和,加法器又分為(half adder)和全加器(full adder)。
    的頭像 發表于 05-22 15:22 ?5453次閱讀
    如何去實現一個<b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>電路的設計呢?

    FPGA常用運算模塊-乘

    本文是本系列的第三篇,本文主要介紹FPGA常用運算模塊-乘,xilinx提供了相關的IP以便于用戶進行開發使用。
    的頭像 發表于 05-22 16:17 ?1840次閱讀
    <b class='flag-5'>FPGA</b>常用運算模塊-乘<b class='flag-5'>加</b><b class='flag-5'>器</b>

    和全加器的功能特點

    和全加器是數字電路中的基本組件,用于執行二進制數的加法運算。它們在計算機、微處理和其他數字系統中扮演著重要角色。
    的頭像 發表于 10-18 11:10 ?1871次閱讀

    和全加器的區別是什么

    (Half Adder)和全加器(Full Adder)是數字電路中的基本組件,用于執行二進制加法運算。它們的主要區別在于功能和輸入輸出的數量。 1. 功能差異
    的頭像 發表于 10-18 11:12 ?4563次閱讀
    在线百家乐官方网| 川宜百家乐官网破解版| 百家乐3号眨眼技术| 龙虎斗网站| 凯旋门百家乐娱乐城| 马牌百家乐官网现金网| 巴比伦百家乐娱乐城| 百家乐官网特殊技巧| 波克城市棋牌中心| 赌百家乐的心得体会| 百家乐官网庄闲局部失衡| 大发888有赢钱的吗| 做生意选店铺位置| 百家乐猪仔路| 百家乐官网最好投注法是怎样的去哪儿能了解一下啊 | 同花顺百家乐娱乐城| 百家乐官网创立几年了| 百家乐官网免费路单| 威尼斯人娱乐城网上赌博| 巴宝莉百家乐官网的玩法技巧和规则 | 鼎丰娱乐城| 聚龍社百家乐的玩法技巧和规则 | 体球网| 百家乐双龙出| 百家乐官网技巧介绍| 台北市| 大发888娱乐城范本| 百家乐怎样捉住长开| 新干县| 大发888破解老虎机| 百家乐棋牌辅助| 百家乐官网博彩的玩法技巧和规则 | 永利百家乐赌场娱乐网规则 | 繁体子24画的有| 百家乐官网视频游戏聊天| 娱乐城开户送彩金| 不夜城百家乐的玩法技巧和规则| 百家乐官网必胜| 网上娱乐城老虎机| 国美百家乐的玩法技巧和规则| 百家乐百家乐游戏|