Verilog HDL实验报告

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

HDL实验报告

专业电子科学与技术

姓名

学号

指导老师

1 实验一Modelsim仿真软件的使用

1.1 实验目的

(1)熟悉Modelsim 软件;

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

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

1.2 实验步骤

(1)学习使用Modelsim软件;

(2)分析原理及功能;

(3)用Verilog HDL编写程序;

(4)编写测试程序进行仿真;

(4)观察波形,分析仿真结果是否正确。

1.3 实验内容

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

1.4.1 程序

module my_xor(ina,inb,out);

input ina,inb;

output out;

assign out=ina^inb;

endmodule

module t_xor;

reg ina,inb;

wire out;

initial

begin

ina=1'b0;

forever #20 ina=~ina;

end

initial

begin

inb=1'b0;

forever #10 inb=~inb;

end

my_xor tt(.ina(ina),.inb(inb),.out(out));

endmodule

2 实验二简单组合电路设计

2.1 实验目的

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

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

2.2 实验步骤

(1)分析原理及功能;

(2)根据原理用Verilog HDL编写程序;

(3)编写测试程序进行仿真;

(4)观察波形,分析仿真结果是否正确。

2.3 实验内容

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

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

(2)规则:只要主裁判同意,输出结果为通过;否则,按少数服从多数原则决定是否通过。使用Verilog HDL 程序实现上述实验内容,并使用modelsim 仿真(要求:至少使用两种方法实现上述实验内容和testbench)。

2.4.1 程序

方法1:

module voter(v0,v1,v2,y);

input v0,v1,v2;

output y;

assign y=v0|(v1&v2);

endmodule

方法2:

module voter(v0,v1,v2,y);

input v0,v1,v2;

output reg y;

always @(v0,v1,v2)

begin

if(v0)

y=1;

begin

if(v1&v2)

y=1;

else

y=0;

end

end

endmodule

module t_voter;

reg v0,v1,v2;

wire y;

initial

begin

v0=1'b0; v1=1'b0; v2=1'b0;

#10 v2=1'b1;

#10 v1=1'b1; v2=1'b0;

#10 v1=1'b1; v2=1'b1;

#10 v0=1'b1; v1=1'b0; v2=1'b0;

#10 v2=1'b1;

#10 v1=1'b1; v2=1'b0;

#10 v1=1'b1; v2=1'b1;

#10 $finish;

end

voter tt(.v0(v0),.v1(v1),.v2(v2),.y(y));

endmodule

2.4.2 波形

2.5 心得体会

同样的功能可以通过不同的方法来实现,可以根据情况灵活选择。

3 实验三二进制全加器设计

3.1 实验目的

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

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

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

3.2 实验原理

(1)一位全加器原理:

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

Si=Ai^Bi^Ci-1 ;Ci=(Ai&Bi)|(Ai&Ci-1)|(Bi&Ci-1)

(2)四位二进制全加器原理:

在一位全加器基础上设计多位全加器,利用进位进行级联。

3.3 实验步骤

(1)分析原理及功能;

(2)根据原理用Verilog HDL编写程序;

(3)编写测试程序进行仿真;

(4)观察波形,分析仿真结果是否正确。

3.4 实验内容

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

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

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

3.4.1 一位全加器

3.4.1.1 程序

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

相关文档
最新文档