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

verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

這篇具有很好參考價值的文章主要介紹了verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

2023.4.25


一、半加器

兩個數(shù)直接相加,無進位,真值表如下

verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

module add_half(
   input                A   ,
   input                B   ,
 
   output	wire        S   ,
   output   wire        C   
);

	assign S = A ^ B;
	assign C = A & B;
	
endmodule

verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

二、全加器

兩個數(shù)和進位一起相加,根據(jù)真值表畫出卡諾圖,對表達式進行化簡

verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

S = A ^ B ^ Cin;
CO = A & B | A & Cin | B & Cin;

{CO, S} = A + B + Cin;  //也可以直接寫成這種形式

用兩個半加器來組成一個全加器
verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

module add_full(
   input                A   ,
   input                B   ,
   input                Ci  , 

   output	wire        S   ,
   output   wire        Co   
);

	wire c_1;
	wire c_2;
	wire sum_1;
	
	add_half add_half_1(
	   .A   (A),
	   .B   (B),
	         
	   .S   (sum_1),
	   .C   (c_1)  
	);
	add_half add_half_2(
	   .A   (sum_1),
	   .B   (Ci),
	         
	   .S   (S),
	   .C   (c_2)  
	);
	
	assign Co = c_1 | c_2;
endmodule

三、串行/行波進位加法器(Ripple-Carry Adder/RCA)

原理N bit的加法器由N個1 bit的全加器組成。從低位開始,逐位相加, 每一bit需要等待前面計算出來得到進位,才能進行下一bit的計算

優(yōu)點:電路結構比較簡單
缺點:速度比較慢,組合邏輯延時較長

verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

內部的門延遲如下圖所示:

verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

module add_4(
   input         [3:0]  A   ,
   input         [3:0]  B   ,
   input                Ci  ,
 
   output   wire [3:0]  S   ,
   output   wire        Co  
);

    wire [3:0] C;
   
    genvar i;    //用generate來例化多個模塊
    generate
    for(i=0;i<4;i=i+1)begin:adder
        add_full add(
            .A(A[i]),
            .B(B[i]),
            .Ci(i==0?Ci:C[i-1]),
            .S(S[i]),
            .Co(C[i])
        );
    end
    endgenerate
    assign Co = C[3];     
endmodule

四、超前進位加法器(Lookahead Carry Adder/LCA)

原理:邏輯電路事先得出每一位全加器的進位輸入信號(并行計算各個加法器的進位),而無需再從最低位開始向高位逐位傳遞進位信號,一種用面積換性能的方法。

優(yōu)點:縮短路徑的延時
缺點:電路比較復雜,面積大

verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

只需要三級門電路就可以計算出進位CO

verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

而整個電路的計算結果需要四級延時
verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

module lca_4(
	input		[3:0]       A_in  ,
	input	    [3:0]		B_in  ,
    input                   C_1   ,
 
 	output	 wire			CO    ,
	output   wire [3:0]	    S
);

	wire [3:0] P,G,C;
	genvar i;
	generate for(i=0;i<4;i=i+1)
		begin:adder  //這個地方的名稱不可少
			assign P[i] = A_in[i] ^ B_in[i];
			assign G[i] = A_in[i] & B_in[i];
		    assign C[i] = (i==0)?(G[i] | P[i] & C_1) : (G[i] | P[i] & C[i-1]);
			assign S[i] = (i==0)?(P[i] ^ C_1) : (P[i] ^ C[i-1]);	
		end
	endgenerate

	assign CO = C[3];

endmodule

五、進位保存加法器(Carry Save Adder/CSA)

原理:把對應bit的數(shù)相加,分別得到進位和和的結果,再把進位和和進行相加。

優(yōu)點:把三個數(shù)相加變成了兩個數(shù)相加,門延遲最小

verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖

verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖文章來源地址http://www.zghlxwxcb.cn/news/detail-429657.html

到了這里,關于verilog手撕代碼2——各種加法器介紹——真值表、表達式、電路圖的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Verilog實現(xiàn)超前進位加法器

    Verilog實現(xiàn)超前進位加法器

    在CPU等對性能要求較高的電路中,一般都會采用超前進位加法器,因為超前進位加法器的延時相對來說比較小。下面講述超前進位加法器的原理: 我們知道,一個三輸入,二輸出的全加器,其邏輯關系為 S = A ⊕ B ⊕ C i n S=Aoplus Boplus C_{in} S = A ⊕ B ⊕ C in ? C o u t = ( A B ) ∣

    2023年04月08日
    瀏覽(17)
  • 【verilog】6位二進制數(shù)加法器

    【verilog】6位二進制數(shù)加法器

    1:掌握無符號二進制數(shù)加法器的設計方法。 2:掌握使用Modelsim對verilog程序進行仿真和驗證的方法。 二進制加法器由全加器構成,全加器功能和電路圖如下圖所示。 全加器對兩個1位二進制數(shù)和1位來自低位的進位做加法運算,產生1位和和1位向更高位的進位。圖中(a)是全加

    2024年02月06日
    瀏覽(29)
  • 【FPGA】Verilog:BCD 加法器的實現(xiàn) | BCD 運算 | Single-level 16 bit 超前進位加法器 | 2-level 16-bit 超前進位加法器

    【FPGA】Verilog:BCD 加法器的實現(xiàn) | BCD 運算 | Single-level 16 bit 超前進位加法器 | 2-level 16-bit 超前進位加法器

    0x00?BCD 運算 在 BCD 中,使用4位值作為操作數(shù),但由于只表示 0 到 9 的數(shù)字,因此只使用 0000 到 1001 的二進制數(shù),而不使用 1010 到 1111 的二進制數(shù)(don\\\'t care)。 因此,不能使用常規(guī)的 2\\\'complement 運算來計算,需要額外的處理:如果 4 位二進制數(shù)的運算結果在 1010 到 1111 的范圍

    2024年02月05日
    瀏覽(24)
  • 【FPGA】Verilog:二進制并行加法器 | 超前進位 | 實現(xiàn) 4 位二進制并行加法器和減法器 | MSI/LSI 運算電路

    【FPGA】Verilog:二進制并行加法器 | 超前進位 | 實現(xiàn) 4 位二進制并行加法器和減法器 | MSI/LSI 運算電路

    0x00 并行加法器和減法器 如果我們要對 4 位加法器和減法器進行關于二進制并行運算功能,可以通過將加法器和減法器以 N 個并行連接的方式,創(chuàng)建一個執(zhí)行 N 位加法和減法運算的電路。 4 位二進制并行加法器 4 位二進制并行減法器

    2024年02月05日
    瀏覽(23)
  • verilog全加器和四位加法器

    verilog全加器和四位加法器

    半加器: 保存為half_addr.bsf之后,可以在該項目中添加半加器 全加器: 通過RTL-Viewer查看半加器和全加器 添加全加器到項目 在process里面先后執(zhí)行start fitter 和start time analyzer 生成testbench模板 修改testbench文件: 添加到項目 注意在聯(lián)合modelsim時讓generate functinal simulation netlist值為

    2024年02月07日
    瀏覽(19)
  • verilog數(shù)組的定義、轉換和加法器的實現(xiàn)

    verilog數(shù)組的定義、轉換和加法器的實現(xiàn)

    看了別人的博客有的人也稱reg [31:0] add0[0:12]這樣的數(shù)組為二維數(shù)組,其實中二維數(shù)組不是真正意義上的數(shù)組,而是由多個寄存器組成的ROM或者RAM。我覺得這樣理解好記一點:這個是一維數(shù)組,一共有0到12共13組數(shù)據(jù),每組數(shù)據(jù)的寬度是0到31一共32個位寬。 優(yōu)勢:簡單易于編程

    2024年02月11日
    瀏覽(20)
  • Verilog數(shù)字系統(tǒng)設計——帶進位的8位加法器

    Verilog數(shù)字系統(tǒng)設計——帶進位的8位加法器

    試分別使用門級原語和always 語句設計帶進位的8位加法器,要求編制測試模塊對實現(xiàn)的邏輯功能進行完整的測試; 使用門級原語設計時注意先在草稿上做出該加法器的門級設計; 如有余力可以進一步使用門級原語設計出帶超前進位鏈的8位加法器(期末有加分); 實驗提交

    2024年02月15日
    瀏覽(21)
  • [FPGA]用Verilog寫一個簡單三位二進制加法器和減法器

    [FPGA]用Verilog寫一個簡單三位二進制加法器和減法器

    加法器和減法器是數(shù)字電路中的基本組件,它們可以對二進制數(shù)進行算術運算。加法器可以將兩個或多個二進制數(shù)相加,得到一個和和一個進位。減法器可以將兩個二進制數(shù)相減,得到一個差和一個借位。加法器和減法器可以用來實現(xiàn)更高級的運算,例如乘法、除法、移位等

    2024年02月04日
    瀏覽(18)
  • Verilog快速入門(8)—— 4bit超前進位加法器電路

    Verilog快速入門(8)—— 4bit超前進位加法器電路

    (1) 四選一多路器 (2)異步復位的串聯(lián)T觸發(fā)器 (3)奇偶校驗 (4)移位運算與乘法 (5)位拆分與運算 (6)使用子模塊實現(xiàn)三輸入數(shù)的大小比較 (7)4位數(shù)值比較器電路 (8)4bit超前進位加法器電路 (9)優(yōu)先編碼器電路① (10)用優(yōu)先編碼器①實現(xiàn)鍵盤編碼電路 (11)8線-3線優(yōu)先編碼器 (12)使用8線-3線

    2024年02月04日
    瀏覽(26)
  • FPGA學習筆記(1):使用Verilog實現(xiàn)常見的加法器

    FPGA學習筆記(1):使用Verilog實現(xiàn)常見的加法器

    本文使用VerilogHDL實現(xiàn)一些簡單的加法器,本人水平有限,希望大佬能夠多指證 Quartus Prime(18.0) Modelsim 半加器可以用于計算兩個單比特二進制數(shù)的和,C表征進位輸出,S表述計算的結果。 半加器的真值表 化簡以后的邏輯表達式可以表達為: s = a’b+ab’ c = ab Verilog 代碼塊 全加

    2024年02月09日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包