数电实验2

更新时间:2023-03-08 05:44:30 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

组合逻辑电路实验1

1. 设计要求

1)设计新的多路选择器(三选一、五选一等等),并在开发板上验证 2)查看74LS138的Datasheet,用Verilog语言设计一个3-8译码器。用三个逻辑开关作为输入,8个LED灯作为输出,验证所设计的3-8译码器的逻辑功能。

2. 设计硬件原理图 1)画原理图 a b 三选一MUX y A2 74LS138 A1 Y0 Y1 Y2 Y3 Y4 Y5 A2 Y6 Y7 c

2)确定信号和FPGA引脚关系

三选一多路选择器

NET\ NET\NET\NET\NET\NET\

3-8译码器 NET\NET\NET\NET\NET\ NET\NET\NET\NET\NET\NET\

3. 实验方法和步骤 1)输入Verilog程序

①三选一多路选择器: module MUX( input a, input b, input c, input s1, input s2, output y );

assign y=(a&(~s1)&(~s2))|(b&(~s1)&(s2))|(c&(s1)&(~s2)); endmodule ②3-8译码器: module yimaqi38( input [2:0]a, output [7:0]y );

assign y[0]=~a[2]&~a[1]&~a[0]; assign y[1]=~a[2]&~a[1]&a[0]; assign y[2]=~a[2]&a[1]&~a[0]; assign y[3]=~a[2]&a[1]&a[0]; assign y[4]=a[2]&~a[1]&~a[0]; assign y[5]=a[2]&~a[1]&a[0]; assign y[6]=a[2]&a[1]&~a[0]; assign y[7]=a[2]&a[1]&a[0]; endmodule

2)编写约束文件

①三选一多路选择器: NET\NET\NET\NET\NET\NET\②3-8译码器: NET\NET\NET\

NET\

NET\NET\NET\NET\NET\NET\NET\

3)仿真与波形

(只进行对三选一选择器的仿真) 仿真程序 #100 a<=1; b<=0; c<=0; s1<=0; s2<=0; #100 a<=0; b<=1; c<=0; s1<=0; s2<=1; #100 a<=0; b<=0; c<=1; s1<=1; s2<=0; #100 a<=0; b<=0; c<=0; s1<=1; s2<=1; end

仿真波形图为:

4)实际Basys2实现(实际图片)

①三选一多路选择器:

图3.4.1 三选一选择器

解释说明:SW0与SW1代表s1与s2,图中均表示为低电平0,选择的是a端,SW2、SW3、SW4代表a、b、c三路,图中a为高电平1,b、c均为低电平0,故对应的LED0灯亮起,其他的不一一举例。 ②3-8译码器

图3.4.2 3-8译码器

解释说明:SW5、SW6、SW7分别代表a0、a1、a2,而LED0--LED7分别表示y0--y7,图中a0a1a2=001,即y1有效,故LED1发光,其他的不一一举例。

4. 讨论与分析 1)实验问题分析

无问题

2)实验心得体会及建议

心得体会:本次实验偏简单,没有涉及到时钟的输入,是对Verilog初学者十分不错的锻炼。

本文来源:https://www.bwwdw.com/article/slv.html

Top