- 3
- 0
- 约 16页
- 2017-08-11 发布于浙江
- 举报
11331356_lab3_嵌入式系统设计实验报告.pdf
嵌入式系统设计实验报告lab3
4 位2 选1 多路选择器的设计与实现
姓名:杨培君
学号
邮箱:ypeij0805@
一、 实验目的
设计一个4 位2 选 1 的多路选择器
使用ISE 软件设计并仿真
学会程序下载
二、 实验原理
1. ISE 软件是一个支持数字系统设计的开发平台
2.用 ISE 软件进行设计开发时基于相应器件型号的。
注意:软件设计时选择 的器件型号是与实际下载板上的器件
型号相同。
3.下图为4 位2 选 1 多路选择器原理图,用Verilog 语句来描
述
三、 实验内容
(1)按照实验要求新建工程
(2 )新建verilog source 、test source
(3)编写verilog source
(4 )编写test source
(5)编写引脚文件
(6)将bit 文件下载到开发板上面调试运行
四、 实验结果
(1)综合的RTL 电路图
(2)综合的TECH 电路图
(3 )仿真波形图
(4)开发板显示效果图
s=0 y=a=0001
s=0 y=a=0011(2)
s=0 y=a=0011
s=0 y=a=0111(2)
s=0 y=a=0111
s=0 y=a=1010
s=1 y=b=0110
s=1 y=b=1001
s=1 y=b=1010
s=1 y=b=1100
s=1 y=b=1111
五、 实验代码
多路选择器实现代码choose_one_from_two.v:
仿真测试文件test.v:
引脚文件UCF.ucf:
六、 实验感想
这次试验遇到的问题有两个:
1) 刚开始想利用if else 来输出y,
if(s==0){
assign y[3] = a[3];
assign y[2] = a[2];
assign y[1] = a[1];
assign y[0] = a[0];
}
else{
assign y[3] = b[3];
assign y[2] = b[2];
assign y[1] = b[1];
assign y[0] = b[0];
}
结果程序出错了,最后还是用老办法来完成了,这个也
比较简单:
assign y[3] = (~s)a[3] | sb[3];
assign y[2] = (~s)a[2] | sb[2];
assign y[1] = (~s)a[1] | sb[1];
assign y[0] = (~s)a[0] | sb[0];
2 ) 遇到的第二个问题是这个是两个4 位的二进制数选择器,
需要输入两个二进制数,还需要一个输入s 来决定输出
选择哪个输入,这样就需要9 个开关,最后我将s 设置
为D9 按钮,需要手动按下,当按下时s=1,松开后s=0.
这次实验将数电中学到的选择器自己实现出来了,总体来说算比
较简单的一次实验,再就是通过手动来实现了s = 1 和s =
原创力文档

文档评论(0)