国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Verilog 半減器和全減器

這篇具有很好參考價(jià)值的文章主要介紹了Verilog 半減器和全減器。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

系列目錄

Verilog 半加器和全加器

Verilog 半減器和全減器

串行加法器

11位全加器verilog設(shè)計(jì)


目錄

系列目錄

文章目錄

前言

一、什么是半減器和全減器

半減器

全減器

二、半減器的verilog代碼和testbench代碼如下:

三、全減器的verilog代碼和testbench代碼如下:

?四、全減器仿真結(jié)果:

RTL:

?波形圖:


前言

大二的數(shù)字邏輯課程和考試已經(jīng)結(jié)束了,栽在了沒(méi)細(xì)致研究的狀態(tài)機(jī)上,但是對(duì)于一名計(jì)科學(xué)生來(lái)說(shuō),F(xiàn)PGA的領(lǐng)域仍然是廣闊的,所以我將會(huì)把我之前學(xué)習(xí)所寫(xiě)的資料進(jìn)行一個(gè)整理。

一、什么是半減器和全減器

半減器

半減器原理:兩個(gè)二進(jìn)制數(shù)相減叫做半減,實(shí)現(xiàn)半減器操作的電路稱(chēng)為半減器,半減器用于計(jì)算兩bit x和y 的減法,輸出結(jié)果diff和減法借位標(biāo)志輸出cin

半減器只考慮當(dāng)前兩位二進(jìn)制數(shù)相減,輸出為差以及是否向高位借位,而全減器還要考慮當(dāng)前位的低位是否曾有借位。它們的真值表如下:

被減數(shù) 減數(shù) 表示本位最終運(yùn)算結(jié)果 表示本位是否向高位借位
x y diff cin
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
diff = x ^ y;  cin = (~x) & y;

全減器

要理解真值表,可以用舉列子的方法得到:

被減數(shù) 減數(shù) 表示低位是否向本位借位 表示本位最終運(yùn)算結(jié)果 表示本位是否向高位借位
x y cout diff cin
0 0 0 0

0

0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

比如4'b1000 - 4b'0001,

則第一位對(duì)應(yīng)0 1 0 1 1第二位對(duì)應(yīng)的是0 0 1 1 1

?從真值表中,可以得到

diff = x ^ y ^ cout, cin = (~x & (y ^ cout))|(y & cout)

注意: +和|都表示或。?

推導(dǎo)過(guò)程:

Verilog 半減器和全減器

Verilog 半減器和全減器

二、半減器的verilog代碼和testbench代碼如下:

代碼如下(示例):

module halfsub(x,y,d,cin);

  input x;
  input y;

  output d;
  output cin;

  assign d = x ^ y;
  assign cin = (~x) & y;

endmodule

testbench:

`timescale 1ns/1ns
`define clock_period 20

module halfsub_tb;
  reg  x,y;

  wire cin; //carryover
  wire d;
  reg clk;

  halfsub halfsub_0(
            .x(x),
            .y(y),
            .d(d),
            .cin(cin)
                  );

  initial clk = 0;
  always #(`clock_period/2) clk = ~clk;

  initial begin
     x = 0;
     repeat(20)
      #(`clock_period) x = $random;

  end

  initial begin
     y = 0;
     repeat(20)
      #(`clock_period) y = $random;

  end


  initial begin
     #(`clock_period*20)
    $stop;
  end
  
endmodule

三、全減器的verilog代碼和testbench代碼如下:

module fullsub(cout,x,y,d,cin);

  input cout; // carry out bit, borrowed by its next low bit
  input x;
  input y;

  output d;
  output cin;

  assign d = x ^ y ^ cout;
  assign cin = (~x & (y ^ cout)) | (y & cout);


endmodule

`timescale 1ns/1ns
`define clock_period 20

module fullsub_tb;
  reg  x,y,cout;

  wire cin; //carryover
  wire d;
  reg clk;

  fullsub fullsub_0(
                  .cout(cout),
            .x(x),
            .y(y),
            .d(d),
            .cin(cin)
                  );

  initial clk = 0;
  always #(`clock_period/2) clk = ~clk;

  initial begin
     x = 0;
     repeat(20)
      #(`clock_period) x = $random;

  end

  initial begin
     y = 0;
     repeat(20)
      #(`clock_period) y = $random;

  end

   initial begin
     cout = 0;
     repeat(20)
      #(`clock_period) cout = $random;

  end

  initial begin
     #(`clock_period*20)
    $stop;
  end


endmodule


?四、全減器仿真結(jié)果:

RTL:

Verilog 半減器和全減器

?波形圖:

Verilog 半減器和全減器文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-481017.html

到了這里,關(guān)于Verilog 半減器和全減器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Verilog教程系列文章導(dǎo)航

    ? ? ? ? 學(xué)習(xí)FPGA,最重要的是要先掌握開(kāi)發(fā)語(yǔ)言Verilog。 ? ? ? ? 這10篇文章來(lái)自網(wǎng)站 FPGA Tutorial ,都是一些綜合、總結(jié)型的文章。 ?????????第1篇:Verilog Tutorial(1)如何編寫(xiě)一個(gè)基本的 Verilog Module(模塊) ?????????第2篇:Verilog Tutorial(2)數(shù)據(jù)類(lèi)型和數(shù)組簡(jiǎn)介

    2024年02月06日
    瀏覽(58)
  • 【基礎(chǔ)知識(shí)】~ 半加器 & 全加器

    【基礎(chǔ)知識(shí)】~ 半加器 & 全加器

    半加器,就是不考慮進(jìn)位的加法器,只有兩個(gè)輸入和兩個(gè)輸出:輸入A和B,輸出和數(shù)sum和進(jìn)位cout,半加器真值表如下: 全加器就是在半加器的基礎(chǔ)上引入一個(gè)進(jìn)位輸入,總共三個(gè)輸入兩個(gè)輸出。全加器真值表如下: 這里的輸出一共有兩個(gè),一個(gè)sum,一個(gè)進(jìn)位cout。sum的值是

    2024年02月11日
    瀏覽(23)
  • 條件概率和全概率公式

    條件概率公式 1.條件概率公式:設(shè)A,B為兩個(gè)事件,且P(B)0,則稱(chēng)為事件B已經(jīng)發(fā)生的條件下事件A發(fā)生的條件概率,記為P(A|B),即: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?=? ? 2.乘法定理:由條件概率定義???,兩邊同乘以P(A)可得P(AB)=P(A)P(B|A),由此可得定理: ? ? ?

    2024年01月21日
    瀏覽(9)
  • 離線數(shù)據(jù)倉(cāng)庫(kù)-關(guān)于增量和全量

    離線數(shù)據(jù)倉(cāng)庫(kù)-關(guān)于增量和全量

    應(yīng)用系統(tǒng)所產(chǎn)生的業(yè)務(wù)數(shù)據(jù)是數(shù)據(jù)倉(cāng)庫(kù)的重要數(shù)據(jù)來(lái)源,我們需要每日定時(shí)從業(yè)務(wù)數(shù)據(jù)庫(kù)中抽取數(shù)據(jù),傳輸?shù)綌?shù)據(jù)倉(cāng)庫(kù)中,之后再對(duì)數(shù)據(jù)進(jìn)行分析統(tǒng)計(jì)。 為了方便上層指標(biāo)的統(tǒng)計(jì),數(shù)據(jù)的同步策略有 全量同步 和 增量同步 。 同步方式是針對(duì)對(duì)應(yīng)的表而言的! 為什么要做數(shù)據(jù)

    2024年01月17日
    瀏覽(38)
  • 【FPGA實(shí)驗(yàn)一】半加器全加器實(shí)現(xiàn)

    【FPGA實(shí)驗(yàn)一】半加器全加器實(shí)現(xiàn)

    半加器 什么是半加器? 半加器是能夠?qū)蓚€(gè)一位的二進(jìn)制數(shù)進(jìn)行相加得到半加和以及半加進(jìn)位的組合電路。 半加器的真值表 半加器表達(dá)式: 半加器電路圖: 建立原理圖 啟動(dòng) Quartus II 軟件,選擇File-New Project Wizard,在出現(xiàn)的界面下先Next,填寫(xiě)工程的路徑和名稱(chēng),然后接著

    2024年02月12日
    瀏覽(29)
  • 小馳私房菜系列-目錄

    01_Android Camera該如何入門(mén) 02_Qcom 高通平臺(tái) 新增加driver,需要準(zhǔn)備哪些東西? 03_了解Remosaic 04_Camera2 - Image中YUV格式理解 05_camx 添加水印信息 06_camx Camera facing、orientation信息 07_camx EIS使能 08_camx 幀率相關(guān)問(wèn)題如何debug 09_應(yīng)用集成Raw域算法流程 10_camx Otp Dump 11_mm-camera 添加客制化分

    2023年04月11日
    瀏覽(13)
  • VHDL學(xué)習(xí)筆記——半加器 多路選擇器 分頻器

    VHDL學(xué)習(xí)筆記——半加器 多路選擇器 分頻器

    VHDL程序結(jié)構(gòu): 條件語(yǔ)句 if_then_else_end if 數(shù)據(jù)類(lèi)型 BIT類(lèi)型(取邏輯位’1’或’0’)、整數(shù)類(lèi)型INTEGER、布爾類(lèi)型BOOLEAN(取TRUE或FALSE)、標(biāo)準(zhǔn)邏輯類(lèi)型STD_LOGIC等 進(jìn)程語(yǔ)句與順序語(yǔ)句 process(敏感信號(hào)表)_endprocess VHDL中所有的順序語(yǔ)句都必須放在進(jìn)程語(yǔ)句中 端口語(yǔ)句 port(端口模式

    2024年02月02日
    瀏覽(22)
  • Linux系列 目錄和文件管理

    Linux系列 目錄和文件管理

    作者簡(jiǎn)介:一名在校云計(jì)算網(wǎng)絡(luò)運(yùn)維學(xué)生、每天分享網(wǎng)絡(luò)運(yùn)維的學(xué)習(xí)經(jīng)驗(yàn)、和學(xué)習(xí)筆記。? ?座右銘:低頭趕路,敬事如儀 個(gè)人主頁(yè):網(wǎng)絡(luò)豆的主頁(yè)?????? 目錄 ? 前言 簡(jiǎn)介 本章重點(diǎn) 一.檢查文本內(nèi)容 ?編輯 1.cat命令——顯示并連接(Concatenate)文件的內(nèi)容 2.more和le

    2024年02月03日
    瀏覽(23)
  • 【Quartus | verilog 系列】實(shí)現(xiàn) 3-8譯碼器

    【Quartus | verilog 系列】實(shí)現(xiàn) 3-8譯碼器

    實(shí)驗(yàn)一:?3-8譯碼器(原理圖輸?設(shè)計(jì)) ?2.1設(shè)計(jì)輸? ????1.?將3-8譯碼器A、B、C端作為輸?,Y作為輸出。 ????2.?其余引腳按照3-8譯碼器功能要求連接。 ????1.?激勵(lì)?件的輸?包含A、B、C的8種狀態(tài) ????2.?功能仿真 1.?給出3-8譯碼器的真值表: 2.?實(shí)驗(yàn)步驟、實(shí)驗(yàn)內(nèi)容

    2024年02月11日
    瀏覽(23)
  • 加法器、半加器、全加器、超前進(jìn)位加法器

    加法器、半加器、全加器、超前進(jìn)位加法器

    簡(jiǎn)單來(lái)講,半加器不考慮低位進(jìn)位來(lái)的 進(jìn)位值 ,只有兩個(gè)輸入,兩個(gè)輸出。由一個(gè)與門(mén)和異或門(mén)構(gòu)成. 真值表: 輸入 輸出 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 半加器不考慮低位向本位的[進(jìn)位],因此它不屬于[時(shí)序邏輯電路],有兩個(gè)輸入端和兩個(gè)輸出。 設(shè)加數(shù)(輸入端)為A、B

    2024年02月02日
    瀏覽(35)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包