verilog语言编写八选一数据选择器

上传人:m**** 文档编号:488374536 上传时间:2024-01-10 格式:DOCX 页数:6 大小:67.90KB
返回 下载 相关 举报
verilog语言编写八选一数据选择器_第1页
第1页 / 共6页
verilog语言编写八选一数据选择器_第2页
第2页 / 共6页
verilog语言编写八选一数据选择器_第3页
第3页 / 共6页
verilog语言编写八选一数据选择器_第4页
第4页 / 共6页
verilog语言编写八选一数据选择器_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《verilog语言编写八选一数据选择器》由会员分享,可在线阅读,更多相关《verilog语言编写八选一数据选择器(6页珍藏版)》请在金锄头文库上搜索。

1、八选一选择器一、 实验目的编写一个八选一的选择器,并在verilog软件上进行仿真。二、 代码1、源代码(1) 用数据流描述的八选一多路选择器模块,采用了逻辑方程 module mux8_to_1(out,i0,i1,i2,i3,i4,i5,i6,i7,s2,s1,s0); output out;input i0,i1,i2,i3,i4,i5,i6,i7;input s2,s1,s0;assign out= s2?(s1?(s0?i7:i6):(s0?i5:i4):(s1?(s0?i3:i2):(s0?i1:i0);endmodule(2) 用数据流描述的八选一多路选择器模块,采用了条件操作语

2、句 module mux8_to_1(out,i0,i1,i2,i3,i4,i5,i6,i7,s2,s1,s0); output out;input i0,i1,i2,i3,i4,i5,i6,i7;input s2,s1,s0;assign out=(s2&s1&s0&i0)|(s2&s1&s0&i1)|(s2&s1&s0&i2)|(s2&s1&s0&i3)|(s2&s1&s0&i4)|(s2&s1&s0&i5)|(s2&s1&s0&i6)| (s2&s1&s0&i7);endmodule3)用行为及描述的八选一多路选择器模块可描述为:module mux8_to_1(out,i0,i1,i2

3、,i3,i4,i5,i6,i7,s2,s1,s0);output out;input i0,i1,i2,i3,i4,i5,i6,i7;input s2,s1,s0;reg out;always (s2 or s1 or s0 or i0 or i1 or i2 or i3 or i4 or i5 or i6 or i7)begincase(s2,s1,s0)3b000:out=i0;3b001:out=i1;3b010:out=i2;3b011:out=i3;3b100:out=i4;3b101:out=i5;3b110:out=i6;3b111:out=i7;defult:$dispiay(

4、Invalid control signals); endcaseendendmodule或者是:module mux8_to_1(out,i0,i1,i2,i3,i4,i5,i6,i7,s2,s1,s0);output out;input i0,i1,i2,i3,i4,i5,i6,i7;input s2,s1,s0;reg out;always (s2 or s1 or s0 or i0 or i1 or i2 or i3 or i4 or i5 or i6 or i7)begincase(s2,s1,s0)3d1:out=i0;3d2:out=i1;3d3:out=i2;3d4:out=i

5、3;3d5:out=i4;3d6:out=i5;3d7:out=i6;3d8:out=i7;defult:$dispiay(Invalid control signals); endcaseendendmodule2、激励模块timescale lns/100psmodule mux8_to_1_tb;reg I0,I1,I2,I3,I4,I5,I6,I7;reg S2,S1,S0;wire OUT;mux8_to_1 ul(.out(OUT),.i0(I0),.i1(I1),.i2(I2),.i3(I3),.i4(I4),.i5(I5),.i6(I6),.i7(I7),.s2(S2),.s1

6、(S1),.s0(S0);initialbeginI0=1;I1=0;I2=0;I3=1;I4=1;I5=1;I6=0;I7=0;S2=0;S1=0;S0=0;#10 S2=0;S1=0;S0=1;#10 S2=0;S1=1;S0=0;#10 S2=0;S1=1;S0=1;#10 S2=1;S1=0;S0=0;#10 S2=1;S1=0;S0=1;#10 S2=1;S1=1;S0=0;#10 S2=1;S1=1;S0=1;end三、endmodule 仿真波形piri! tii i, 1 药 Smri 工J?* 吐 Ji aL e4J AwiLki罰4 AHJWiOLlJMZ 克 EOUJWN

7、 .rwi.la.IjtMlniwn - 4ifa14E碁itsr|馬虫窕1鱼0亀宇*1|t |M 1U 11 ii | (-1 I) K7jD曲朋耀丨上fi空2 |斟!生屯J Irwce.ki.ljbia4 AWWO脚?J I,rwe_ta_i_tb/a* 血NOJil* 工IWIJ Epflki泗TEkfWll II 0冃七5a J 0 J l.J 燈:3S四、波形说明波形图中,从上至下依次为:输入数据10,11,12,13,14,15,16,17,选择端 口 S2,S1,S0,输出C0UT。该程序实现的是控制选择端口选择对应的数据并输出。当S2=0,S1=0,S0=0时,选择10,输出1

8、0的值1; 当S2=0,S1=0,S0=1时,选择11,输出10的值0; 当S2=0,S1=1,S0=0时,选择12,输出10的值0; 当S2=0,S1=1,S0=1时,选择13,输出10的值1; 当S2=1,S1=0,S0=0时,选择14,输出10的值1; 当S2=1,S1=0,S0=1时,选择15,输出10的值1;当S2=l, Sl=l, S0=0时,选择16,输出10的值0;(当S2=1, S1=1, S0=1时,选择17,输出10的值0;)在行为级描述的模块中,当输入端口的输入不符合既定要求的时候,则会输 出 $dispiay(Invalid control signals);五、实验

9、过程中碰到的问题经过前两次的实验,本次实验在操作过程中基本很流畅,没有再碰到对软件 不够熟悉的情况,但是,本次实验结果却存在一定问题,从波形中也可以看到, 选择端口 S2=1, S1=1, S0=1的波形没有出现,当时在实验过程中没有找到问题 所在,后来实验过后,我自己分析,是时间的设置太短,没有跑出那段波形,但 是由于自己没有modelsim软件,通过各种自己可以达到的方法也无法下载到, 所以只能等下次实验的时候再对这个问题进行分析。六、实验心得在实验过程中,不断的出现问题,然后修改问题,有时候还会在修改后出现 新的问题,这个过程中,有过被一大堆问题弄的头晕眼花准备放弃的时候,但是 自己写的程序,自己调试不好总觉得心有不甘,虽然这个实验报告可能达不到要 求,因为里面是有错误的,但是我会尽力把这个错误纠正掉,最后提交一份合格 的实验报告,也给自己的努力一个交代。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号