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
用爱心和耐心感化学生06-25
把微笑留给伤害你最深的人11-03
矿山机电实习报告10-26
2011英国《金融时报》全球500强金融类企业排行榜及简介04-12
徐汇精品恒高补习班 - 教案鉴赏09-13
清华大学学分分布与课程设置10-31
计算机基础知识试题答案及详细解释03-21
“心手相牵,关爱留守儿童”献爱心小分队04-28
- 冀教版版五年级科学下册复习资料
- 微生物学复习提纲
- 2013—2014学年小学第二学期教研组工作总结
- 国有土地转让委托服务合同协议范本模板
- 我的固废说明书
- 企业管理诊断报告格式
- 东鼎雅苑施工组织设计
- 谈谈如何做好基层党支部书记工作
- 浮梁县环保局市级文明单位创建工作汇报
- 管理学基础知识
- 大学物理实验报告23 - PN结温度传感器特性1
- 计算机网络实践
- 酒桌上这四种情况下要坐牢,千万别不当回事……
- 国家康居示范工程建设技术要点
- 中国贴布行业市场调查研究报告(目录) - 图文
- 新课标下如何在高中物理教学中培养学生的创新能力初探
- 营养师冬季养生食谱每日一练(7月4日)
- 关注江西2017年第3期药品质量公告
- 建设海绵城市专题习题汇总
- 10万吨年环保净水剂建设项目报告书(2).pdf - 图文
- 全加器
- 编写
- verilog
- 语言