下载此文档

Verilog-HDL实验报告.doc


文档分类:IT计算机 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
HDL实验报告
专 业 电子科学与技术
姓 名
学 号
指导老师
1
(3)用Verilog HDL 语言设计四位二进制全加器,并仿真,下载验证其功能。
实验原理
(1)一位全加器原理:
Ai ,Bi分别是两个二进制位,Ci-1是前级进位,Ci是进位,Si是加法结果。
Si=Ai^Bi^Ci-1 ; Ci=(Ai&Bi)|(Ai&Ci-1)|(Bi&Ci-1)
(2)四位二进制全加器原理:
在一位全加器基础上设计多位全加器,利用进位进行级联。
实验步骤
(1)分析原理及功能;
(2)根据原理用Verilog HDL编写程序;
(3)编写测试程序进行仿真;
(4)观察波形,分析仿真结果是否正确。
实验内容
(1)用Verilog HDL 语言描述一位全加器,并使用modelsim 仿真验证结果;
(2)用Verilog HDL 元件例化语句实现四位全加器,modelsim 仿真并下载到实验箱,
用按键模拟输入,led 灯模拟输出,验证结果;
(3)设计程序将加法结果分开输出,即十位数和个位数分别用四位数组表示。
一位全加器
程序
module add_1bit(a,b,ci,co,s);
input a,b,ci;
output co,s;
assign s=a^b^ci,
co=(a&b)|(a&ci)|(b&ci);
endmodule
module t_add1;
reg a,b,ci;
wire co,s;
initial
begin
a=1'b0;
forever #1 a=~a;
end
initial
begin
b=1'b0;
forever #2 b=~b;
end
5
initial
begin
ci=1'b0;
forever #4 ci=~ci;
end
add_1bit tt(.a(a),.b(b),.ci(ci),.co(co),.s(s));
endmodule
波形
四位全加器
程序
module add_1bit(a,b,ci,co,s);
input a,b,ci;
output co,s;
assign s=a^b^ci,
co=(a&b)|(a&ci)|(b&ci);
endmodule
module add_4bit(a,b,ci,co,s);
input[3:0] a,b;
input ci;
output[3:0] s;
output co;
wire[2:0] temp;
add_1bit add0(a[0],b[0],ci,temp[0],s[0]);
add_1bit add1(a[1],b[1],temp[0],temp[1],s[1]);
add_1bit add2(a[2],b[2],temp[1],temp[2],s[2]);
add_1bit add3(a[3],b[3],temp[2],co,s[3]);
endmodule
6
波形
结果分成十位数和个位数的全加器
程序
module add_4bit_2(a,b,ci,out1,out2);
input [3:0] a,b;
input ci;
output [3:0] out1,out2;
reg [3:0] out1,out2;
wire co;
wire [3:0] s;
add_4bit add4(a,b,ci,co,s);
always@(s)
begin
if(co==0)
begin
if(s<=4'b1001)
begin
out2=s;
out1=4'b0000;
end
else if(s>4'b1001)
begin
out2=s-4'

Verilog-HDL实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人buxiangzhid56
  • 文件大小493 KB
  • 时间2022-08-03