自闭症康复网,内容丰富有趣,生活中的好帮手!
自闭症康复网 > 加法器的实现(半加器 全加器 行波进位加法器 超前进位加法器 流水线加法器)

加法器的实现(半加器 全加器 行波进位加法器 超前进位加法器 流水线加法器)

时间:2018-11-03 06:54:21

相关推荐

加法器的实现(半加器 全加器 行波进位加法器 超前进位加法器 流水线加法器)

一、半加器和全加器

二、行波进位加法器

三、超前进位加法器(Carry-Lookahead Adder,CLA)

/p/6ce9cad8b467

四、流水线加法器

源文件:

`timescale 1ns / 1psmodule adder_pipeline2(input clk,input [7:0]a,input [7:0]b,input cin,output reg[7:0]sum,output reg cout);reg [3:0]tem_a;reg [3:0]tem_b;reg [3:0]sum1;reg cout1;always@(posedge clk)//第一级流水线begin{cout1,sum1}<=a[3:0]+b[3:0]+cin;endalways@(posedge clk)//将输入寄存一拍begintem_a<=a[7:4];tem_b<=b[7:4];endalways@(posedge clk)//第二级流水线{cout,sum}<={{1'b0,tem_a}+{1'b0,tem_b}+cout1,sum1};endmodule

测试文件:

`timescale 1ns / 1psmodule tb_adder2pipeline;reg clk;reg [7:0]a;reg [7:0]b;reg cin;wire [7:0]sum;wire cout;initialclk=0;always #10clk=~clk;always@(posedge clk)begina<={$random}%255;b<=2+{$random}%250;cin<={$random}%2;endadder_pipeline2 u_adder(.clk(clk),.a(a),.b(b),.cin(cin),.cout(cout),.sum(sum));endmodule

仿真波形:

两级流水线,加法器的和延迟两个周期输出结果。

如果觉得《加法器的实现(半加器 全加器 行波进位加法器 超前进位加法器 流水线加法器)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。