- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
一、实验目的:
1.熟悉并掌握Modelsim仿真工具的使用方法;
2.初步了解VerilogHDL描述简单数字电路的方法;
3.学习用VerilogHDL编写测试模块。
二、实验设备:
1.PC机一台
2.Sword实验平台
三、实验任务:
1.实现课本P30例2.3-8的2选1数据选择器,并编写测试文件进行功能仿真,观察输
出波形。
2.实现课本P32例2.4-1的D触发器,并编写测试模块,进行仿真。
3.根据例2.3-8,试着设计4选1的数据选择器电路,并编写测试模块,进行仿真。
四、实验原理:
2选1数据选择器:若该数据选择器的sel端为不定态x,则out由in1和in2按位运算
的结果得出。若in1=4’b0011,in2=4’b0101,则out=4’b0xx1。
当sel为低电平0时,out等于in1,反之为in2。
五、实验步骤:
三个题的实验步骤一样,这里以第一题为例:
1.新建一个工程,取名为mux21。
2.在mux21工程中新建一个Verilog文件,取名为mux21。
3.打开mux21.v文件,编写程序源代码。
4.编译源程序。
5.在mux21工程中再新建一个测试文件,取名为mux21_tb。
6.打开mux21_tb.v文件,编写测试程序源代码。
7.编译测试程序。
8.进行仿真,观察波形
六、实验结果:
2选1数据选择器modelsim功能仿真图:
当sel信号为低电平0时,数据选择器选择in1信号,所以out输出信号与in1信号一致,
当sel信号为高电平1时,数据选择器选择in2信号,所以out输出信号与in2信号一致。
D触发器modelsim功能仿真图:
D触发器:仿真刚开始时,clk时钟信号的上升沿未到来,out为不定态。当时钟信号的
上升沿到来时,out端输出in信号,因此在每一个上升沿到来时,out的值变为in并保持到
下一个上升沿时刻到来后作出变化。
4选1数据选择器modelsim功能仿真图:
当选择信号为00时,输出信号与in0一致;当选择信号为01时,输出信号与in1一致;
当选择信号为10时,输出信号与in2一致;当选择信号为11时,输出信号与in3一致。
七、心得体会:
此次实验需要用到Modelsim仿真软件,我在此前安装的软件不能编辑代码,然后上网
查找原因,是因为我的安装路径中有空格,然后我重新安装了一次后解决了这个问题。实验
题目是实现2选1数据选择器,第一次写代码的时候不注意文件命名规范,对测试文件中变
量初始化的时候,命名和程序名不一样,这就导致不能通过编译,仿真无法顺利进行。因此,
在给模型起名的时候要多注意。还有就是新建程序文件的时候一定要选择Verilog语言描述,
因为系统默认文件类型为VHDL语言描述。因为第一次试验不熟悉软件,所以我在课余一定
要多动手写代码,熟悉Modelsim软件的环境,为以后的实验打好基础。
八、附录
1.mux21
modulemux21(in1,in2,sel,out);
input[3:0]in1,in2;
inputsel;
output[3:0]out;
wire[3:0]out;
assignout=(!sel)?in1:in2;
endmodule
2.mux21_tb
modulemux21_tb;
regin1,in2;
regsel;
wireout;
mux21uut(.in1(in1),.in2(in2),.sel(sel),.out(out));
initial
begin
in1=0;in2=0;sel=0;
#100in1=1;in2=0;sel=0;
#100in1=1;in2=1;sel=1;
文档评论(0)