《四选一数据选择器实验报告》由会员分享,可在线阅读,更多相关《四选一数据选择器实验报告(4页珍藏版)》请在金锄头文库上搜索。
1、- 1 -四选一数据选择器11 微电子 黄跃 1117426021【实验目的】1四选一数据选择器,2学习Verilog HDL文本文件进行逻辑设计输入;3学习设计仿真工具modelsim的使用方法;【实验内容】1. 实现四选一数据选择器的“ Verilog ”语言设计。2. 设计仿真文件,进行验证。【实验原理】数据选择器又称为多路转换器或多路开关,它是数字系统中常用的一种典型电路。其主要功能是从多路数据中选择其中一路信号发送出去。所以它是一个多输入、单输出的组合逻辑电路。4 选 1 数据选择器的元件符号如图一所示,其中 D0、D1 、D2、D3 是 4 位数据输入端,A0 和 A0 是控制输入
2、端,Y 是数据输出端。当 A1A0=00 时,输出Y=D1; A1A0=01 时,Y=D1 ;A1A0=10 时,Y=D2;A1A0=11,Y=D3。 。A1 A0 D YD0D1D20 0 D00 1 D11 0 D21 1 D3 D3图 一 4 选 1 数据选择器的元件符号- 2 -由真值表写出输出逻辑表达式3012010101 )()()()( DADAF+=由逻辑表达式做出逻辑电路图。【程序源代码】module mux4_1(sel,in,out);input 1:0 sel;input 3:0 in;output out;reg out;always(sel or in) begin
3、case (sel1,sel0)2b00: out=in0;2b01: out=in1;2b10: out=in2;2b11: out=in3;default: out=1bx;endcaseend图 二 4 选 1 数据选择器原理图- 3 -Endmodule测试程序代码如下:module test_mux4_1;reg 1:0 S;reg 3:0 IN;wire Y;mux4_1 M1(.sel(S),.in(IN),.out(Y);always #10 IN0=IN0;always #20 IN1=IN1;always #40 IN2=IN2;always #80 IN3=IN3;ini
4、tialbegin S=1b0;IN=4h0;#100 $stop;endalways #10 S=S+1;endmodule【仿真和测试结果】【实验心得和体会】这次实验与上次相比有明显的进步,通过这次实验我对 modelsim 的应用更加得心应手,深切的体会到了 verilog 是一种描述性语言,这次实验总的来说是比较顺利的,但在实验过程中还是遇到了一些问题,比如端口的匹配问题,在写程序的时候误将位宽写在了变量名的后面,虽然程序能够运行但有警告,仿真波形是错误的,可见在写程序时警告有时也是致命的,这要求我们在学习的过程中思想一定要严谨!其次在做实验时一定要多想,例如在学习这门课时,书上说在模块外部输入可以是 wire 型或reg 型,但在写程序时激励模块往往要初始化数据,所以编程时其类型往往声明为 reg型,通过这个例子我明白了书上所说的有时往往是一个比较笼统的,而更多的需要我们自己去实践、探索、勤思考,只有这样我们才能把书本上的知识转化为属于我们自己的知识,才能在学习的道路上走的更远!- 4 -