0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何去實(shí)現(xiàn)一個半加器電路的設(shè)計呢?

冬至子 ? 來源:小小研究生 ? 作者:xxyjs2020 ? 2023-05-22 15:22 ? 次閱讀

數(shù)電基礎(chǔ)

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

圖片

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

設(shè)計規(guī)劃

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

根據(jù)真值表很容易畫出波形。

圖片

編寫代碼

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


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

添加.v文件后編譯通過。點(diǎn)擊RTL viewer可以查看設(shè)計的硬件電路結(jié)構(gòu),和我們設(shè)計所表達(dá)的意思相同。

圖片

編寫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。

對比波形

圖片

波形與預(yù)想的一致。

分配管腳

圖片

圖片

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

圖片

全編譯后上板驗(yàn)證

都不按時LED1亮

任意按一個時,LED0亮。

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led燈
    +關(guān)注

    關(guān)注

    22

    文章

    1592

    瀏覽量

    107999
  • 加法器
    +關(guān)注

    關(guān)注

    6

    文章

    183

    瀏覽量

    30125
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59785
  • 全加器
    +關(guān)注

    關(guān)注

    10

    文章

    62

    瀏覽量

    28506
收藏 人收藏

    評論

    相關(guān)推薦

    怎樣通過門電路實(shí)現(xiàn)種運(yùn)算設(shè)計

    運(yùn)算的工作原理是什么?怎樣通過門電路實(shí)現(xiàn)種運(yùn)算
    發(fā)表于 10-20 07:14

    如何實(shí)現(xiàn)種交通燈電路的設(shè)計

    交通燈電路實(shí)現(xiàn)的功能有哪些?如何實(shí)現(xiàn)種交通燈電路的設(shè)計
    發(fā)表于 11-02 09:25

    如何實(shí)現(xiàn)基于STM32的心率傳感故障檢測設(shè)計

    如何實(shí)現(xiàn)基于STM32的心率傳感故障檢測設(shè)計?其代碼是如何
    發(fā)表于 11-25 07:13

    如何實(shí)現(xiàn)TF廣播

    TF廣播是怎樣定義的?如何實(shí)現(xiàn)TF廣播
    發(fā)表于 02-14 07:56

    和全加器是算術(shù)運(yùn)算電路中的基本單元,它們
    發(fā)表于 04-07 10:34 ?1.6w次閱讀
    <b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>

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

    項(xiàng)新研究中,韓國、日本和英國科學(xué)家組 成的科研小組僅用5晶體管就制造出
    的頭像 發(fā)表于 11-25 23:50 ?3453次閱讀

    全加器是什么?全加器和的區(qū)別?

    是能夠計算低位進(jìn)位的二進(jìn)制加法電路。與相比,全加器不只考慮本位計算結(jié)果是否有進(jìn)位,也考
    發(fā)表于 07-25 11:15 ?7.4w次閱讀
    全加器是什么?全加器和<b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>的區(qū)別?

    和全加器的原理及區(qū)別(結(jié)構(gòu)和功能)

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

    電路原理圖資料免費(fèi)下載

    電路是指對兩輸入數(shù)據(jù)位相加,輸出結(jié)果位和
    發(fā)表于 07-08 08:00 ?18次下載
    <b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b><b class='flag-5'>電路</b>原理圖資料免費(fèi)下載

    電路原理圖

    電路原理圖免費(fèi)下載。
    發(fā)表于 06-11 10:51 ?24次下載

    真值表

    實(shí)現(xiàn)位二進(jìn)制數(shù)加法運(yùn)算的電子器件,具有被加數(shù)A和加數(shù)B兩
    的頭像 發(fā)表于 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描述
    發(fā)表于 02-24 11:08 ?0次下載

    基于FPGA的設(shè)計

    加法器用于兩個數(shù)或者多個數(shù)的和,加法器又分為(half adder)和全加器(full adder)。
    的頭像 發(fā)表于 05-12 14:50 ?1073次閱讀
    基于FPGA的<b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>設(shè)計

    和全加器的功能特點(diǎn)

    和全加器是數(shù)字電路中的基本組件,用于執(zhí)行二進(jìn)制數(shù)的加法運(yùn)算。它們在計算機(jī)、微處理和其他數(shù)字系統(tǒng)中扮演著重要角色。
    的頭像 發(fā)表于 10-18 11:10 ?1362次閱讀

    和全加器的區(qū)別是什么

    (Half Adder)和全加器(Full Adder)是數(shù)字電路中的基本組件,用于執(zhí)行二進(jìn)制加法運(yùn)算。它們的主要區(qū)別在于功能和輸入輸出的數(shù)量。 1. 功能差異
    的頭像 發(fā)表于 10-18 11:12 ?3607次閱讀