HDL实验报告

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HDL实验报告

专业:电子科学与技术学号:1062910112

姓名:李斌斌

指导教师:梁瑞宇

实验一Modelsim 仿真软件的使用

一、实验目的

(1)熟悉Modelsim 软件;

(2)掌握Modelsim 软件的编译、仿真方法

(3)熟练运用Modelsim 软件进行HDL 程序设计开发

二、实验步骤

(1)学习,练习使用Modelsim软件

(2)用 Verilog HDL 程序实现一个异或门,Modelsim 仿真,观察效果

三、实验结果

(a)程序:module yhm(a,b,c);

input a,b;

output c;

assign c=a^b;

endmodule

module t_yhm;

reg a,b;

wire c;

initial

begin

a=1’b0;b=1’b0;

#10 a=1’b1;b=1’b0;

#10 a=1’b0;b=1’b1;

#10 a=1’b1;b=1’b1;

end

yhm u1(a,b,c);

endmodule

(b)波形

四、心得

1、只有多练习才能更好的使用软件

2、实验编程时要细心仔细

3、遇到问题应该多与同学、老师交流

4、一定要自己动手编程,找出问题所在才能有所收获

5、通过仿真我们才能知道自己编写的程序是否正确

实验二简单组合电路设计

一、实验目的

(1)掌握基于Modelsim 的数字电路设计方法;

(2)熟练掌握HDL 程序的不同实现方法

二、实验内容

设计一个三人表决器(高电平表示通过),实验内容如下:

(1)三个人,一个主裁判,两个副裁判;

(2)规则:只要主裁判同意,输出结果为通过;否则,按少数服从多数原则决定

是否通过。

使用 Verilog HDL 程序实现上述实验内容,并使用modelsim 仿真(要求:至少使用两种方法实现上述实验内容和testbench)。

三、实验结果

1、程序

(a)

module bjq(a,b1,b2,c);

input a,b1,b2;

output c;

assign c=a^((!a)&b1&c2);

endmodule

(b)

module bjq(a,b1,b2,c);

input a,b1,b2;

output c;

reg c;

always@(a or b1 or b2)

begin

if (a)

c=1;

else

if (b1&b2)

c=1;

else

c=0;

end

endmodule

module t_bjq;

reg ain,b1in,b2in;

wire cout;

initial

begin

ain=1;

b1in=0;

b2in=0;

#50 ain=1;b1in=1;b2in=0;

#50 ain=1;b1in=0;b2in=1;

#50 ain=1;b1in=1;b2in=1;

#50 ain=0;b1in=0;b2in=0;

#50 ain=0;b1in=1;b2in=0;

#50 ain=0;b1in=0;b2in=1;

#50 ain=0;b1in=1;b2in=1;

$stop;

end

bjq test(.a(ain),.b1(b1in),.b2(b2in),.c(cout));

endmodule

2、波形

四、心得体会

1、注意变量的遍历

2、每一个问题都不止有一种解决方法,学会寻求简便的方法完成任务

3、要熟悉掌握数电知识并且灵活运用

实验三二进制全加器设计

一、实验目的

(1)熟悉Verilog HDL 元件例化语句的作用

(2)熟悉全加器的工作原理

(3)用Verilog HDL 语言设计四位二进制全加器,并仿真,下载验证其功能

二、实验原理

(1)一位全加器原理:

Ai,Bi 分别是两个二进制位,Ci-1 是前级进位,Ci 是进位,Si 是加法结果。

表达式:

Si=A i⊕Bi⊕Ci-1 ;

Ci-1=Ai&Bi+Ai&Ci-1+Bi&Ci-1 ;

⑵四位全加器:

四个一位全加器串联;

三、实验内容

(1)用Verilog HDL 语言描述一位全加器,并使用modelsim 仿真验证结果。

(2)用Verilog HDL 元件例化语句实现四位全加器,modelsim 仿真并下载到实验箱,用按键模拟输入,led 灯模拟输出,验证结果。

(3)设计程序将加法结果分开输出,即十位数和个位数分别用四位数组表示。

四、实验结果

(1)、程序

module qjq1 (a, b, c, cout, out);

input a, b, c;

output cout, out;

assign cout =a~^b~^c;

assign out = (a & b) | (a &c) | (b & c);

波形

相关文档
最新文档