verilog语言编写8位全加器
更新时间:2023-10-20 04:53:01 阅读量: 综合文库 文档下载
Verilog实验报告——8位全加器
由一位全加器构成8位全加器
电科6012202023 裴佳文
一、
实验目的
用verilog语言编写由1位全加器构成8位全加器,自行编写testbench代码并在modelsim软件上进行仿真。 二、代码 1、源代码: 1位全加器:
module P1(A,B,Cin,sum,Cout); input A,B,Cin; output sum,Cout; wire s1,t1,t2,t3; xor x1(s1,A,B), x2(sum,s1,Cin); and A1(t3,A,B), A2(t2,B,Cin), A3(t1,A,Cin); or o1(Cout,t1,t2,t3); endmodule
由1位全加器构成8位全加器
module P(J,W,Psum,PCout,PCin); input [7:0] J,W; input Pcin;
output [7:0] Psum; output Pcout; wire [7:1]Ptemp; P1:
PA1(.A(J[0]),.B(W[0]),.Cin(PCin),.sum(Psum[0]),.Cout(Ptemp[1])), PA2(.A(J[1]),.B(W[1]),.Cin(Ptemp[1]),.sum(Psum[1]),.Cout(Ptemp[2])),
PA3(.A(J[2]),.B(W[2]),.Cin(Ptemp[2]),.sum(Psum[2]),.Cout(Ptemp[3])), PA4(.A(J[3]),.B(W[3]),.Cin(Ptemp[3]),.sum(Psum[3]),.Cout(Ptemp[4])), PA5(.A(J[4]),.B(W[4]),.Cin(Ptemp[4]),.sum(Psum[4]),.Cout(Ptemp[5]))
1
Verilog实验报告——8位全加器
PA6(.A(J[5]),.B(W[5]),.Cin(Ptemp[5]),.sum(Psum[5]),.Cout(Ptemp[6])) PA7(.A(J[6]),.B(W[6]),.Cin(Ptemp[6]),.sum(Psum[6]),.Cout(Ptemp[7])) PA8(.A(J[7]),.B(W[7]),.Cin(Ptemp[7]),.sum(Psum[7]),.Cout(PCout). endmodule 2、激励:
`timescale 1ns/100ps module P_tb; reg[7:0] A,B; reg CIN;
wire [7:0] SUM; wire COUT;
P ul(
.Psum(SUM), .PCout(COUT), .J(A), .W(B), .PCin(CIN) );
initial begin
A=8'd0;B=8'd0;CIN=1'b0;
#10 A=8'd20;B=8'd129;CIN=1'b1; #10 A=8'd27;B=8'd19;CIN=1'b0; #10 A=8'd157;B=8'd29;CIN=1'b0; #10 A=8'd37;B=8'd68;CIN=1'b0; #10 A=8'd11;B=8'd69;CIN=1'b0; #10 A=8'd54;B=8'd67;CIN=1'b1; #10 A=8'd211;B=8'd0;CIN=1'b0; #10 A=8'd87;B=8'd43;CIN=1'b1; #10 A=8'd23;B=8'd171;CIN=1'b0; #10 A=8'd12;B=8'd12;CIN=1'b1; #10 A=8'd112;B=8'd115;CIN=1'b0; end
endmodule 三、实验过程 1、仿真过程
2
Verilog实验报告——8位全加器
2、仿真波形
3、波形说明
3
Verilog实验报告——8位全加器
波形图中,从上至下依次为:输入加数A、输入加数B、输入进位CIN、输出进位COUT、输出和SUM。该程序实现的是A+B+CIN=SUM+COUT。 0+0+0=0; 20+129+1=150; 27+19+0=46; 157+29+0=186; 37+68+0=105; 11+69+0=80; 54+67+1=122; 211+0+0=211; 87+43+1=131; 23+171+0=194; 12+12+1=25; 112+115+0=227; 四、实验过程中碰到的问题
1、对于modelsim软件太陌生,在开始实验的时候,经常做完了上一步就忘了下一步是什么,而且对老师反复强调的很多问题也在手忙脚乱间给忽略了,比如,实验一定要在计算机某一个盘里建立一个独立的文件夹,每次都是实验进行到这一步的时候才想起来还没有建这个文件夹,造成很多返工的情况。
2、开始的时候,由于C语言的习惯,程序的注解全部是用汉字写的,还有在实验刚开始时,将独立文件夹建在桌面上,使得程序在运行过程中出现了大量的汉字,最终结果就是程序莫名其妙的报错,还完全找不到错在哪里,不注重细节导致浪费大量时间。 四、实验心得
本次试验带我进入了verilog的大门,虽然磕磕绊绊,但是我发现我还是挺喜欢这样一个过程,我希望自己能认真努力,让自己的学习更进一步,让之后的实验能顺利一点。
4
Verilog实验报告——8位全加器
`timescale 1ns/1ns module taxt; reg [8:1]FA,FB; reg FCin; wire [8:1]FSum; wire Fout; initial begin
FA[8:1]=8'b01001110; FB[8:1]=8'b01101111; FCin=1; #3
FA[8:1]=8'b01111101; FB[8:1]=8'b01000111; FCin=0; #3
FA[8:1]=8'b01010111; FB[8:1]=8'b00011110; FCin=0; #3 $stop; end
P taxt (FA,FB,FSum,Fout,FCin); endmodule
5
正在阅读:
verilog语言编写8位全加器10-20
Book 2 Unit Two10-30
我心爱的文具盒作文600字07-12
设计院个人述职报告(精选多篇)09-27
岁月缝花02-14
会计从业资格会计实务操作题每日一练(2014.5.25)10-12
大学生个人理财规划书 - 012-06
混凝土结构设计原理 第四章斜截面受弯习题12-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 全加器
- 编写
- verilog
- 语言