verilog语言编写八选一数据选择器
更新时间:2023-10-18 22:56:01 阅读量: 综合文库 文档下载
Verilog——八选一选择器
八选一选择器
一、
实验目的
编写一个八选一的选择器,并在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)用数据流描述的八选一多路选择器模块,采用了条件操作语句
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);
1
Verilog——八选一选择器
endmodule
(3)用行为及描述的八选一多路选择器模块
可描述为:
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)
begin
case({s2,s1,s0}) 3'b000:out=i0; 3'b001:out=i1; 3'b010:out=i2; 3'b011:out=i3; 3'b100:out=i4; 3'b101:out=i5; 3'b110:out=i6; 3'b111:out=i7;
defult:$dispiay(\ endcase end
endmodule 或者是:
module mux8_to_1(out,i0,i1,i2,i3,i4,i5,i6,i7,s2,s1,s0);
2
Verilog——八选一选择器
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)
begin
case({s2,s1,s0}) 3'd1:out=i0; 3'd2:out=i1; 3'd3:out=i2; 3'd4:out=i3; 3'd5:out=i4; 3'd6:out=i5; 3'd7:out=i6; 3'd8:out=i7;
defult:$dispiay(\ endcase end
endmodule 2、 激励模块
`timescale 1ns/100ps module mux8_to_1_tb;
reg I0,I1,I2,I3,I4,I5,I6,I7; reg S2,S1,S0; wire OUT;
3
Verilog——八选一选择器
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(S1), .s0(S0)
); initial begin
I0=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
4
Verilog——八选一选择器
endmodule
三、
仿真波形
四、
波形说明
波形图中,从上至下依次为:输入数据I0,I1,I2,I3,I4,I5,I6,I7,选择端口S2,S1,S0,输出COUT。该程序实现的是控制选择端口选择对应的数据并输出。
当S2=0,S1=0,S0=0时,选择I0,输出I0的值1; 当S2=0,S1=0,S0=1时,选择I1,输出I0的值0; 当S2=0,S1=1,S0=0时,选择I2,输出I0的值0; 当S2=0,S1=1,S0=1时,选择I3,输出I0的值1; 当S2=1,S1=0,S0=0时,选择I4,输出I0的值1; 当S2=1,S1=0,S0=1时,选择I5,输出I0的值1;
5
Verilog——八选一选择器
当S2=1,S1=1,S0=0时,选择I6,输出I0的值0; (当S2=1,S1=1,S0=1时,选择I7,输出I0的值0;)
在行为级描述的模块中,当输入端口的输入不符合既定要求的时候,则会输出 $dispiay(\五、
实验过程中碰到的问题
经过前两次的实验,本次实验在操作过程中基本很流畅,没有再碰到对软件不够熟悉的情况,但是,本次实验结果却存在一定问题,从波形中也可以看到,选择端口S2=1,S1=1,S0=1的波形没有出现,当时在实验过程中没有找到问题所在,后来实验过后,我自己分析,是时间的设置太短,没有跑出那段波形,但是由于自己没有modelsim软件,通过各种自己可以达到的方法也无法下载到,所以只能等下次实验的时候再对这个问题进行分析。 六、
实验心得
在实验过程中,不断的出现问题,然后修改问题,有时候还会在修改后出现新的问题,这个过程中,有过被一大堆问题弄的头晕眼花准备放弃的时候,但是自己写的程序,自己调试不好总觉得心有不甘,虽然这个实验报告可能达不到要求,因为里面是有错误的,但是我会尽力把这个错误纠正掉,最后提交一份合格的实验报告,也给自己的努力一个交代。
6
正在阅读:
verilog语言编写八选一数据选择器10-18
2015春电大物权法第一次考核03-10
水力学实验思考题答案09-29
英文预付账款询证函10-26
xxx质量通病防治监理实施细则01-10
职院校的办学理念及其制度保障研究06-12
VTS08同步控制器03-06
所有佛法精华中的总精华是什么? 八05-26
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 编写
- verilog
- 语言
- 选择
- 数据
- 7上Unit1-4复习练习
- PCB layout 注意事项
- 关于颁发2015—2016学年普高学生奖学金的决定
- 2014徐州专业技术人员职业道德试题试题及答案满分100分 - 83分
- 化工原理试卷
- 装饰装修工程施工方案大全
- 具有荧光的金属有机框架
- 无机化学样题1.doc(大连理工版)
- 2013春学期学前班数学期末试卷
- 线性代数应用题 - 图文
- 审计循环案例 - 图文
- 古诗词教学中的审美教育
- JSP 复习题及参考答案要点
- 电气《安规》考试及答案
- 染整工艺原理课后习题
- 不同类型新闻问题练习
- 沈阳支队“十项创新”全力打造消防铁军
- 微波电路及设计的基础知识 - 图文
- 《美丽中国与生态文明建设》继续教育作业6(6分)
- 李姓姓氏来源和文化论文