EDA论文4选1多路选择器的设计

更新时间:2023-12-09 12:28:01 阅读量: 教育文库 文档下载

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

10机械电子工程专业《EDA电路设计》课程结课论文

4选1多路选择器的设计

班级 xxxxx 姓名 xxxxx 学号 xxxxxx

一、内容摘要

多路选择器是数据选择器的别称。在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开并。数据选择器的电路结构一般由于活门阵列而成,也有用传输门开关和门电路混合而成的。多路选择器可以从多组数据来源中选取一组送入目的地。它有4选1数据选择器、8选1数据选择器(型号为74151、74LS151、74251、74LS151)、16选1数据选择器(可以用两片74151连接起来构成)等之分。多路选择器还包括总线的多路选择,模拟信号的多路选择等,相应的器件也有不同的特性和使用方法

它的应用范围相当广泛,从组合逻辑的执行到数据路径的选择,经常可以看到它的踪影。另外在时钟、计数定时器等的输出显示电路中经常利用多路选择器制作扫描电路来分别驱动输出装置,以降低功率的消耗。有时也希望把两组没有必要同时观察的数据,设置为共享一组显示电路,以降低成本。

二、关键词

关键词:多路选择器,逻辑图,逻辑函数

三、问题分析

设计内容一:根据以下流程,利用QuartusII完成四选一多路选择器的文本编辑输入和

仿真测试等步骤,给出仿真波形。

设计内容二:在试验系统上硬件测试,验证此设计的功能。对于引脚锁定以及硬件下载测试。

设计内容三:对VHDL不同描述方式的四选一多路选择器进行硬件实验,比较他们的特性。 四选一选择器VHDL源程序如下:

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;

ENTITY mux4a1 IS PORT (input:IN STD_LOGIC_VECTOR(3 DOWNTO 0); a,b:IN STD_LOGIC; y:OUT STD_LOGIC ); END ENTITY mux4a1;

ARCHITECTURE rtl OF mux4a1 IS SIGNAL sel:STD_LOGIC_VECTOR (1 DOWNTO 0); BEGIN

1

10机械电子工程专业《EDA电路设计》课程结课论文

sel<=b&a;

PROCESS (input,sel) IS BEGIN IF(sel=\ y<=input(0); ELSIF(sel=\ y<=input(1); ELSIF(sel=\ y<=input(2); ELSE y<=input(3); END IF;

END PROCESS;

END ARCHITECTURE rtl;

程序分析:四选一多路选择器设计时,定义输入S为标准以内漏记为STD_LOGIC,输出的信号y的数据类型定义为2位标准逻辑矢量位STD_LOGIC_VECTOR( 1 DOWNTO 0 ).使用LIBRATY语句和USE语句,来打开IEEE库的程序包STD_LOGIC_1164.ALL。当输入信号时,程序按照输入的指令来选择输出,例如输入信号为“00”时,将a的值给y,进而输出y的值,输入信号为“11”是,将a的值给y,进而输出y的值。若输入信号是已经定义的四个信号之外的值时(即当IF条件语句不满足时),输出值为x,并将x的值给输出信号z。这样即可实现四选一数据选择的功能。

四、设计原理

选择器常用于数字信号的切换,四选一选择器可以用于4路信号的切换。四选一选择器有4个输入端input(0)~ input(3)、2个信号控制端a,b及一个信号输出端y。当a,b输入不同的选择信号时,就可以使input(0)~ input(3)中的一个输入信号与输出y端口接通。

逻辑图如右图所示: &D &D

≥1Y&D

&D

111

S ( E )AA

四选一多路选择器的逻辑功能真值表如下表1所示:(其中×表示为任意态)

012301

二进制选择输入 数据输入 input(0) input(1) Input(2) Input(3) 2

数据输出 a b Y 10机械电子工程专业《EDA电路设计》课程结课论文

0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 × × × × × × × × 0 1 × × × × × × × × 0 1 × × × × × × × × 0 1 0 1 0 1 0 1 0 1 表1

用拨码开关作四位数据及两位控制端的输入,LED作输出,通过拨码开关组成控制输入端a【同下右图的s1】和b【s2】不同组合,观察LED与数据输入端input(0) ,input(1), input(2) ,input(3)【a,b,c,d】的关系,验证4选一数据选择器设计的正确性。

4选1多路选择器函数表达式:

Y?D0A1A0?D1A1A0?D2A1A0?D3A1A0五、原理图

四选一多路选择器的原理图1如示:

图1

3

10机械电子工程专业《EDA电路设计》课程结课论文

六、编译 1.编辑文件

(1)启动Quartus

双击桌面上的QuartusⅡ图标或单击开始按扭,启动QuartusⅡ。 (2)编辑文件

单击标题栏中的File→New对话框。单击New对话框的Device Design Files选项卡,选择编译文件的语言类型。这里选择VHDL Files,选好后单击【OK】按钮,打开VHDL文本编辑器窗口,并在其中输入图1所示的程序,这是一个与门的VHDL程序。

图2

输入完成之后,单击File→Save As选项,将编辑的文本文件存在已建立的文件夹C:\\Users/asus/Desktop/38/下,存盘文件名应该与VHDL程序的实体名一致,即mux4a1.vhd。当出现问句Do you want to create?时,选择“否”。

2.创建工程

(1)打开建立新工程向导

单击File→New Project Wizard菜单,出现新建工程向导对话框,然后单击【Next】按钮,出现如图2所示的工程基本设置对话框。在最上面的输入框中输入工作库文件夹的地址,地址是C:\\Users/asus/Desktop/38/,并输入顶层设计文件实体的名称mux4a1。

4

10机械电子工程专业《EDA电路设计》课程结课论文

图3

(2) 将设计文件加入工程中

单击【Next】按钮,在弹出的对话框中,将与本工程有关的文件加入,有两种方法:一种是单击右边的【Add All】按钮,将设定工程目录中的所有VHDL文件加入到工程文件栏 (3) 选择仿真器和综合器类型

单击【Next】按钮,这时弹出选择仿真器和综合器类型的窗口,选择默认的NONE选项。 (4) 选择目标芯片

单击【Next】按钮,首先在Family栏选择芯片系列,选择CycloneⅢ系列。在此栏下方,选择此系列的具体芯片:EP3C5E144C8。然后单击【Next】按钮后,弹出工程设置统计窗口

(5) 结束设置

最后单击弹出窗口的【Finish】按钮,结束设置

3.目标芯片的配置

(1) 选择目标芯片

单击标题栏中的Assignments→Settings菜单,在弹出的对话框中选Category下的Device选项,然后在右侧选择目标芯片EP3C5E144C8。

(2) 选择目标器件编程配置方式 单击【Device & Pin Options?】按钮进入器件与管脚操作对话框,首先选择Configuration选项,选择其中的Active Serial选项。使用的配置器件选Auto选项,如图3所示

5

10机械电子工程专业《EDA电路设计》课程结课论文

图4

(3) 选择目标器件闲置管脚的状态

继续单击图3中的Unused Pins选项卡,选择为输入状态呈高阻态。再选择双目标端口设置页,将nCEO原来的“Use as programming pin”选项改为“Use as regular I/O”。

4.全程编译

(1)编译

单击标题栏中的Processing→Start Compilation选项,启动全程编译。 (2) 阅读编译报告

编译成功后可以看到编译报告,如图5所示:

图5

七.仿真

(1)建立波形文件 单击File→New选项,打开文件选择窗口。然后单击Other Files选项卡,选择其中的Vector Waveform File选项。单击OK按钮,即出现空白的波形编辑器。

(2)设置仿真时间区域

6

10机械电子工程专业《EDA电路设计》课程结课论文

单击Edit→End Time选项,在弹出窗口中的Time输入框键入50,单位选μs,整个仿真域的时间即设定为50μs,如图3所示。单击OK按钮,结束设置。

图6

(3)波形文件存盘

单击File→Save as选项,将以默认名为 mux4a1.vwf的波形文件存入文件夹C:\\Users/asus/Desktop/38/中。

(4)将工程mux4a1的信号节点选入波形编辑器中

单击View→Utility Windows→Node Finder选项后,便会弹出一个对Node Finder话框,在该对话框的Filter空白栏中选Pins:all,然后点击【list】按钮。用鼠标将输入端口节点a、b,input和输出信号节点y逐个拖到波形编辑窗口,然后关闭Node Finder窗口。 (5)编辑输入波形

单击图5中所示窗口的时钟信号名input(3),使之变成蓝色条,再单击砸死的时钟设置刍,在Clock窗口设置input(3)的各项如图5所示。再分别设置a,b, input(0),input(1),input(2),y的电平。

图7

(6)仿真器参数设置。

选择Assignment→Settings命令,在Settings窗口下选择Category→Simulator Settings。在右侧的Simulation mode下拉列表框中选择Timing,即选择时序仿真,并选择仿真激励文件名mux4a1.vwf。在Simulation period栏,确认选中了“Run simulation until all vector

7

10机械电子工程专业《EDA电路设计》课程结课论文

stimuli are used”选项。 (7)启动仿真器

单击标题栏中的Processing→Start Simulation选项,直到出现Simulation was successful,仿真结束

(8)仿真波形输出报告 结果如图6所示

图8

八、结论

结果分析:?当b='0',a='0'时候,选择出input(0),?当b='0',a='1',时候,选择出input(1)?当b='1',a='0'时候,选择出input(2),④当b='1',a='1'时候,选择出input(3),符合程序结果

随着现代计算机技术的发展,各方面的设计日渐趋于自动化的计算机设计。Quartus II作为一个功能强大的可编程逻辑器件软件开发平台,它电子线路设计自动化中的作用不言而喻。 通过这次论文设计,自己对多路选择器的工作原理有了更深入的了解。本次课程设计使用的是Quartus II可编程逻辑器件软件开发平台,经过本次课程设计后,自己能够更加熟悉Quartus II软件开发平台的各项功能的操作流程,并能使用该软件,还有应用VHDL的过程中让我真正领会到了其并行运行与其他软件(C语言)顺序执行的差别及其在电路设计上的优越性。用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。但也发现自己对一些基本原理很是缺乏,软件会用了但操作起来还是有点生疏,所以仍需要更多的训练。

参考文献

潘松,黄继业编著,EDA技术实用教程(VHDL版第四版) 科学出版社,2010.6

8

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

Top