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

各種加法器的比對分析與Verilog實現(xiàn)(1)

這篇具有很好參考價值的文章主要介紹了各種加法器的比對分析與Verilog實現(xiàn)(1)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

????????接下來幾篇博客,我將介紹常見的幾種加法器設(shè)計,包括超前進位、Kogge-Stone、brent-kung、carry-skip、Conditional-Sum等加法器的原理及Verilog實現(xiàn)。

???????本文將介紹行波進位加法器、超前進位加法器的原理及Verilog實現(xiàn)。

1. 行波進位加法器 (Ripple Carry Adder,?RCA)

1.1 原理

???????從下方原理圖即可看出,行波進位加法器由一系列全加器級聯(lián)而成,這種加法器面積小,由于每一比特的進位輸入必須等待前一比特完成進位輸出的計算,所以這種加法器的速度慢。

行波進位加法器,FPGA求學(xué)之路,fpga開發(fā)
行波進位加法器結(jié)構(gòu)示意圖

1.2 Verilog實現(xiàn)

(1)完成單比特全加器的模塊

module full_adder(
    input a,
    input b,
    input c_in,
    output sum,
    output c_out
);
		
assign {c_out,sum} = a + b + c_in;
	
endmodule	

(2)全加器級聯(lián)

module RCA(
    input [3:0] a,
    input [3:0] b,
    input c_in,
    output [3:0] sum,
    output c_out
);
	
wire sum1,sum2,sum3,sum4;
wire c_out1,c_out2,c_out3;
	
assign sum = {sum4,sum3,sum2,sum1};
	
full_adder f0(
    .a(a[0]),
    .b(b[0]),
    .c_in(c_in),
    .sum(sum1),
    .c_out(c_out1)
);
		
full_adder f1(
    .a(a[1]),
    .b(b[1]),
    .c_in(c_out1),
    .sum(sum2),
    .c_out(c_out2)
);
		
full_adder f2(
    .a(a[2]),
    .b(b[2]),
    .c_in(c_out2),
    .sum(sum3),
    .c_out(c_out3)
);
		
full_adder f3(
    .a(a[3]),
    .b(b[3]),
    .c_in(c_out3),
    .sum(sum4),
    .c_out(c_out)
);
	
endmodule
行波進位加法器,FPGA求學(xué)之路,fpga開發(fā)
Vivado綜合電路(RCA)

2. 超前進位加法器 (Carry Look Ahead Adder , CLA)

2.1 設(shè)計原理

行波進位加法器,FPGA求學(xué)之路,fpga開發(fā)
一位全加器真值表

? ? ? ?我們可以按A、B異或結(jié)果和A·B結(jié)果分成3組(表中用不同顏色進行區(qū)分),不難發(fā)現(xiàn),第一組沒有進位,第三組必有進位,第二組中Ci為1則有進位。因此可以通過這種特性提前得到進位。

? ? ? ?定義:

行波進位加法器,FPGA求學(xué)之路,fpga開發(fā)

? ? ? ?根據(jù)真值表的特點可以推出:

行波進位加法器,FPGA求學(xué)之路,fpga開發(fā)

???????因此,CLA的計算流程如下:

? ? ? ?1)?對面向輸入的第一層,并行預(yù)計算gi和pi

? ? ? ?2) 計算進位ci

? ? ? ?3) 根據(jù)pi和ci計算si

???????超前進位加法器優(yōu)化改進行波進位器的關(guān)鍵路徑,通過采用并行計算進位的方法,解決了行波進位加法器的進位依賴問題。然而對于大位寬的超前進位加法器,進位邏輯計算單元面積耗費大。

2.2 Verilog實現(xiàn)

(1)pg單元設(shè)計

module pg_cell(
    input a,
    input b,
    output g,
    output p
);

assign g = a & b;
assign p = a ^ b;

endmodule

(2)CLA實現(xiàn)

module LCA #(width=4) (
    input  [width-1:0] op1,
    input  [width-1:0] op2,
    input  cin,
    output [width-1:0] sum1,
    output [width-1:0] sum2,
    output cout,
    output cout2
);
//CLA
wire [width-1:0] g;
wire [width-1:0] p;
wire [width:0] c;
//gp generator
genvar i;
for( i=0; i<width; i=i+1) begin
pg_cell pg_cell_u(
    .a( op1[i]),
    .b( op2[i]),
    .g( g[i]  ),
    .p( p[i]  )
);
end
//carry generator
assign c[0] = cin;
assign c[1] = g[0] + ( c[0] & p[0] );
assign c[2] = g[1] + ( (g[0] + ( c[0] & p[0]) ) & p[1] );
assign c[3] = g[2] + ( (g[1] + ( (g[0] + (c[0] & p[0]) ) & p[1])) & p[2] );
assign c[4] = g[3] + ( (g[2] + ( (g[1] + ( (g[0] + (c[0] & p[0]) ) & p[1])) & p[2] )) & p[3]);
assign cout = c[width];

genvar k;
for( k=0; k<width; k=k+1) begin
    assign sum1[k] = p[k] ^ c[k];
end

endmodule
行波進位加法器,FPGA求學(xué)之路,fpga開發(fā)
Vivado綜合電路(CLA)

求學(xué)路上,你我共勉(??????)??文章來源地址http://www.zghlxwxcb.cn/news/detail-720940.html

到了這里,關(guān)于各種加法器的比對分析與Verilog實現(xiàn)(1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

    verilog數(shù)組的定義、轉(zhuǎn)換和加法器的實現(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)
  • 【FPGA】Verilog:二進制并行加法器 | 超前進位 | 實現(xiàn) 4 位二進制并行加法器和減法器 | MSI/LSI 運算電路

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

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

    2024年02月05日
    瀏覽(23)
  • 【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ù)的運算結(jié)果在 1010 到 1111 的范圍

    2024年02月05日
    瀏覽(24)
  • FPGA學(xué)習(xí)筆記(1):使用Verilog實現(xiàn)常見的加法器

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

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

    2024年02月09日
    瀏覽(14)
  • Verilog 加法器/減法器

    Verilog 加法器/減法器

    目錄 1位加法器 8位加法器 8位補碼加減法器? 32位補碼加減法器? ? ? ?

    2024年02月11日
    瀏覽(15)
  • 【verilog】6位二進制數(shù)加法器

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

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

    2024年02月06日
    瀏覽(29)
  • 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ù)字系統(tǒng)設(shè)計——帶進位的8位加法器

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

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

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

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

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

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

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

    (1) 四選一多路器 (2)異步復(fù)位的串聯(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)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包