2选1多路选择器 EDA实验报告
- 格式:wps
- 大小:77.00 KB
- 文档页数:3
实验报告⼀多路选择器..
计算机组成原理实验报告
——实验⼀多路选择器的设计与实现
专业:计算机科学与技术(师范)
姓名:XXX
学号:
指导⽼师:
完成⽇期:
⼀、实验⽬的
1、回顾多路选择器的原理
2、熟悉Logisim软件的使⽤⽅法
3、熟悉ISE软件的开发过程
4、锻炼使⽤VHDL语⾔⾯熟硬件的能⼒
5、熟悉Digilent Nexy3 FPGA开发板
⼆、实验内容
⽤两种⽅法实现⼀个两位数据的2选1多路选择器
1、⽤Logisim软件设计2选1多路选择器并进⾏仿真
2、使⽤VHDL语⾔设计2选1多路选择器,并在ISE环境下进⾏综合、仿真、调试,并下载到Digilent Nexy3 FPGA开发板进⾏验证
三、实验过程
第⼀部分:⽤Logisim实现2选1多路选择器
Step 1:创建⼯程
2选1多路选择器的逻辑表达式:Z=(A* S)+
(B*S),由此可知⼀个2选1多路选择器需要
⽤到与、或、⾮三种逻辑门电路
Step 2:添加元件
添加U1、U2、U3、U4四个与门电路,U5⼀个
⾮门电路,U6、U7两个或门电路
添加A0、A1、B0、B1、S五个输⼊端⼝,Z0、
Z1两个输出端⼝
完成后如下图所⽰:
Step3:连线
完成后如下图所⽰:
Step 4:仿真
Step 5:编辑电路外观
Step 6: 电路应⽤
四、实验结果
第⼀部分:⽤Logisim实现2选1多路选择器实验结果1、表格:
2、截图
五、实验⼼得
通过实验我熟悉了Logisim 软件的使⽤⽅法,并且掌握了多路选择器的设计与实现。
2选1多路选择器EDA实验报告EDA实验报告学⽣姓名:asfmla;m 学号:eafvpa[cv专业班级:电⼦3班组合电路设计⼀、实验⽬的熟悉quartusⅡ的VHDL⽂本设计全过程,学习简单组合电路的设计、多层次电路设计、仿真。
⼆、实验内容实验内容:⾸先利⽤quartusⅡ完成2选1多路选择器(例4-3)的⽂本编译输⼊(mux21a.vhd)和仿真测试等步骤,最后在实验系统上硬件测试,验证此设计的功能。
将此多路选择器看成⼀个元件mux21a,利⽤元件例化语句描述成三选⼀,然后进⾏编译、综合、仿真。
引脚锁定以及硬件下载测试。
建议选实验电路模式5,⽤键1(PIO0)控制s0;⽤键2(PIO1)控制s1;a3、a2和a1分别接clock5、clock0和clock2;输出信号outy仍接扬声器spker。
通过短路帽选择clock0接256HZ信号,clock5接1024HZ信号,clock2接8HZ信号。
最后选⾏编译、下载和硬件测试实验。
三、实验器材Quartus II软件。
四、设计思路/原理图五、实验程序实验内容1:⼆选⼀:library ieee;use ieee.std_logic_1164.all;entity mux21a isport(a,b: in std_logic;s: in std_logic;y: out std_logic);end entity;architecture dataflow of mux21a isbeginy<=a when s='0' else b;end architecture;实验内容2:三选⼀library ieee;use ieee.std_logic_1164.all;entity mux31a isport(a1,a2,a3: in std_logic;s0,s1: in std_logic;outy: out std_logic);end entity mux31a;architecture m31a of mux31a iscomponent mux21aport( a,b: in std_logic;s: in std_logic;y: out std_logic);end component;signal tmp: std_logic;beginu1: mux21a port map(a=>a2,b=>a3,s=>s0,y=>tmp);u2: mux21a port map(a=>a1,b=>tmp,s=>s1,y=>outy);end architecture;六、实验步骤在E盘新建⼀个⽂件夹,⽤于存放⼯程。
实验一二选一数据选择器VHDL设计Quartus II 6.0开发环境与EDA实验箱使用一实验目的1.熟悉在Quartus II 6.0环境下原理图输入方法。
2.熟悉Quartus II 6.0环境下编辑、编译综合、仿真的操作方法。
3、掌握利用EDA软件进行电路设计的详细流程;4、熟悉EDA实验箱的基本使用方法。
学会对实验板上的FPGA/CPLD进行编程下载,硬件验证自己的设计项目。
二实验仪器PC机、Quartus II 6.0软件三实验内容1.详细解读教材117页。
2.在QuartusⅡ上输入该设计的原理图,并进行编辑、编译、综合、适配、仿真。
3.给出其所有信号的时序仿真波形。
四实验原理及步骤1.启动Quartus II 6.0软件在桌面上双击Quartus II 6.0图标或者在开始—>所有程序—>Altera—> Quartus II 6.0,如下图2.建立工作库文件夹及工程任何一次设计都是一项工程(Project),所有此工程相关的所有设计文件都需要放在同一个文件夹里。
不同的设计放在不同的文件夹中。
在E盘下建立一个存放本次设计的工程文件夹,比如“shiyan1”。
注意不要使用中文文件夹,文件夹的存放路径也不要包含中文。
注意本实验室计算机C盘和D盘是重启后复原,不要将任何文件和文件夹放置在桌面或者C、D盘下。
初次打开Quartus II 6.0,会有如图提示:选择是的情况下,首先是新工程向导:介绍下一步下一步下一步,选择目标芯片,首先在Family栏选择ACEX1K系列,然后选择此系列的具体芯片:EP1K30TC144-3。
注意不要选成了EP1K30TC144-3。
下一步就点完成。
3.建立文本程序文件选择File菜单下的New或者直接点击工具栏中的新建图标,选择新建文件类型为VHDL File。
接下来另存文件:保存时需更改文件名与项目名称一样,注意保存在同一个工程文件夹下面。
实验一:不同设计输入方式比较1、实验目的(1) 学习MAX+plus II软件的基本使用方法。
(2) 学习EDA实验开发系统的基本使用方法。
(3) 掌握VHDL程序的原理图和文本输入方式。
2、实验内容(1) 原理图输入(mux21.vhd) 方式的2选1多路选择器的设计(2) 文本编辑输入(mux41.vhd) 方式的4选1多路选择器的设计3、实验要求(1) MAX+plus II软件画出系统的原理框图,说明系统中各主要组成部分的功能。
(2) 编写VHDL源程序。
(3) 在MAX+plus II工具下编译、综合、适配、仿真、实验板上的硬件测试。
(4) 根据EDA实验开发装置编好用于硬件验证的管脚锁定文件。
(5) 记录系统仿真、硬件验证结果。
(6) 记录实验过程中出现的问题及解决办法。
4:实验步骤:程序编译过程:新建text文件→输入程序并保存其中保存名为实体名,并以vhd类型结尾→点击file下的project设定为current file点击maxplus 中的compiler按钮→显示无误后→点击新建按钮建立wave 文件→点击node 按钮添加管脚→保存并按text 的步骤检验wave 文件。
(1):用原理图法实现二选一多路选择器。
二选一选择器原理图其中B端为控制端,A,C为控制端(2):用文本输入法实现四选一多路选择器。
其文本程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(INPUT:IN STD_LOGIC_VECTOR(3 DOWNTO 0);A,B:IN STD_LOGIC;Y:OUT STD_LOGIC);END MUX41;ARCHITECTURE BE_MUX41 OF MUX41 ISSIGNAL SEL:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGINSEL<=A&B;PROCESS(INPUT,SEL)BEGINIF(SEL="00")THENY<=INPUT(0);ELSIF(SEL="01")THENY<=INPUT(1);ELSIF(SEL="10")THENY<=INPUT(2);ELSEY<=INPUT(3);END IF;END PROCESS;END BE_MUX41;实验二:VHDL语言编程—组合逻辑电路设计1、实验目的(1) 学习VHDL三种描述风格;(2) 学习元件例化语句的使用方法;(3) 学习VHDL程序层次化设计方法2、实验内容用元件例化语句方法和原理图方法设计四位全加器。
4-1 组合电路设计实验目的:熟悉Quartus2的VHDL文本设计流程全过程,学习简单的组合电路的设计,多层次电路设计、仿真、和硬件测试。
实验任务1:利用软件完成二选一多路选择器的文本编辑和仿真测试等步骤,给出仿真波形,最后在实验系统上进行硬件测试,验证功能。
然后,利用元件例化语句描述图3-31,并将此文件放在同一目录下。
实验任务2:利用刚刚完成的实验内容,设计完成一位全加器,仿真该全加器,得到仿真结果,并利用一位二进制全加器为基本元件,用例化语句写出八位并行二进制全加器的顶层文件,讨论该加法器的电路特性。
实验代码及仿真结果:二选一多路选择器:library ieee;use ieee.std_logic_1164.all;entity mux21a isport(a,b,s: in std_logic;y:out std_logic );end entity mux21a;architecture one of mux21a isbeginprocess(a,b,s)beginif s='0' then y<=a; else y<=b;end if;end process;end architecture one;仿真结果:分析:1、s对电路的输出具有决定作用,s为0时输出为a的值,为1时输出为b的值。
从仿真结果可以看出0到10ns内,s为0,此时y的输出为0,是a的值。
2、10到20ns时间内,s为1,输出为b的值,y为1。
图3-31的仿真仿真程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity singt isport(a:in std_logic_vector(3 downto 1);s:in std_logic_vector(1 downto 0);outy: out std_logic);end singt;architecture bhv of singt iscomponent mux21aport(a,b,s: in std_logic;y:out std_logic );end component;signal tmp: std_logic;beginu1:mux21a port map(a=>a(2),b=>a(3),s=>s(0),y=>tmp);u2:mux21a port map(a=>a(1),b=>tmp,s=>s(1),y=>outy);end architecture bhv;该部分仿真结果:分析:1、3-31中电路的涵义是,s1s0为00时选择outy为a1,s1s0为01时outy为a1,s1s0为10时outy为a2,s1s0为11时outy为a3。
福建农林大学金山学院信息工程类实验报告课程名称:EDA技术姓名:邱彬彬系:信息与机电工程系专业:电子信息工程专业年级:2010级学号:100201079指导教师:蔡剑卿职称:讲师2013年05月03日实验项目列表福建农林大学金山学院信息工程类实验报告系:信息与机电工程系专业:电子信息工程年级: 2010级姓名:邱彬彬学号: 100201079 实验课程: EDA技术实验室号:__田实405 实验设备号: 2B 实验时间: 2013年4月13日指导教师签字:成绩:实验一Quartus II 9.0软件的使用1.实验目的和要求本实验为验证性实验,其目的是熟悉Quartus II 9.0软件的使用,学会利用Quartus II 9.0软件来完成整个EDA开发的流程。
2.实验原理利用VHDL完成电路设计后,必须借助EDA工具中的综合器、适配器、时序仿真器和编程器等工具进行相应的处理后,才能使此项设计在FPGA上完成硬件实现,并得到硬件测试,从而使VHDL设计得到最终的验证。
Quartus II是Altera提供的FPGA/CPLD开发集成环境,包括模块化的编译器,能满足各种特定设计的需要,同时也支持第三方的仿真工具。
3.主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4.操作方法与实验步骤利用Quartus II 9.0软件实现EDA的基本设计流程:创建工程、编辑文本输入设计文件、编译前设置、全程编译、功能仿真。
利用Quartus II 9.0软件实现引脚锁定和编译文件下载。
利用Quartus II 9.0软件实现原理图输入设计文件的编辑和产生相应的原理图符号元件。
5.实验内容及实验数据记录安装QUARTUSII软件;因为实验时我的机器了已经有QUARTUSII软件,所以我并没有进行安装软件的操作。
实验一二选一数据选择器VHDL设计Quartus II 6.0开发环境与EDA实验箱使用一实验目的1.熟悉在Quartus II 6.0环境下原理图输入方法。
2.熟悉Quartus II 6.0环境下编辑、编译综合、仿真的操作方法。
3、掌握利用EDA软件进行电路设计的详细流程;4、熟悉EDA实验箱的基本使用方法。
学会对实验板上的FPGA/CPLD进行编程下载,硬件验证自己的设计项目。
二实验仪器PC机、Quartus II 6.0软件三实验内容1.详细解读教材117页。
2.在QuartusⅡ上输入该设计的原理图,并进行编辑、编译、综合、适配、仿真。
3.给出其所有信号的时序仿真波形。
四实验原理及步骤1.启动Quartus II 6.0软件在桌面上双击Quartus II 6.0图标或者在开始—>所有程序—>Altera—> Quartus II 6.0,如下图2.建立工作库文件夹及工程任何一次设计都是一项工程(Project),所有此工程相关的所有设计文件都需要放在同一个文件夹里。
不同的设计放在不同的文件夹中。
在E盘下建立一个存放本次设计的工程文件夹,比如“shiyan1”。
注意不要使用中文文件夹,文件夹的存放路径也不要包含中文。
注意本实验室计算机C盘和D盘是重启后复原,不要将任何文件和文件夹放置在桌面或者C、D盘下。
初次打开Quartus II 6.0,会有如图提示:选择是的情况下,首先是新工程向导:介绍下一步下一步下一步,选择目标芯片,首先在Family栏选择ACEX1K系列,然后选择此系列的具体芯片:EP1K30TC144-3。
注意不要选成了EP1K30TC144-3。
下一步就点完成。
3.建立文本程序文件选择File菜单下的New或者直接点击工具栏中的新建图标,选择新建文件类型为VHDL File。
接下来另存文件:保存时需更改文件名与项目名称一样,注意保存在同一个工程文件夹下面。
EDA实验报告EDA(VHDL编程)实验报告一、引言EDA (Electronic Design Automation) 是一种用于电子设计和验证的自动化工具。
VHDL(VHSIC Hardware Description Language)是一种硬件描述语言,用于描述和建模数字系统。
本实验旨在使用VHDL编程并使用EDA工具进行设计和验证。
二、实验目的1.理解并熟悉VHDL编程2.学会使用EDA工具进行设计和验证3.实践数字系统的建模和仿真三、实验过程1.VHDL编程根据实验要求,我们使用VHDL编程来实现一个4位2选1多路器。
首先,我们定义输入端口和输出端口,并声明所需的信号和变量。
然后,我们编写组合逻辑和时序逻辑以实现所需的功能。
最后,我们将实例化该多路器并指定其输入和输出端口。
2.EDA工具设计和验证我们选择了 Xilinx ISE Design Suite 作为我们的 EDA 工具。
首先,我们创建一个新的项目并选择相应的 FPGA 芯片。
然后,我们添加我们的VHDL 设计文件到项目中,并进行综合、布局和路由。
最后,我们使用仿真工具验证我们的设计。
四、实验结果经过实验,我们成功地编写并实例化了一个4位2选1多路器。
我们使用 Xilinx ISE Design Suite 进行综合、布局和路由,并成功验证了我们的设计。
五、实验总结通过本实验,我们掌握了VHDL编程和EDA工具的使用。
我们学会了使用VHDL描述数字系统,并使用EDA工具进行设计和验证。
这些技能对于电子设计和验证非常重要,并将有助于我们更好地理解和应用数字系统的原理和方法。
在实验过程中,我们也遇到了一些困难和挑战。
例如,我们可能需要更深入地了解VHDL编程的语法和方法,以及如何使用EDA工具的高级功能。
此外,我们还需要更多的实践来提高我们的设计和仿真技能。
总之,本实验有助于我们深入学习和理解数字系统的设计和验证。
通过实践和使用EDA工具,我们能够更好地应用所学知识,提高我们的设计和验证能力。
用文本输入法设计2选1多路选择器1.实验目的和要求本实验为综合性实验,综合了简单组合电路逻辑、QuartusII的使用方法、多层次电路设计、仿真和硬件测试等内容。
其目的是熟悉QuartusII的VHDL文本设计流程全过程。
2.实验原理2选1多路选择器真值表s a b yL L ×LL H ×HH ×L LH ×H H3.主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4.操作方法与实验步骤首先利用QuartusII完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,然后进行仿真。
最后在实验系统上进行硬件测试,实际验证本项实验的功能。
将设计好的2选1多路多路选择器看成是一个元件mux21a,利用元件例化语句描述下图,并将此文件放在同一目录E:\muxfile中。
5.实验内容及实验数据记录(1)程序设计ENTITY mux21a ISPORT ( a, b, s: IN BIT;y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS (a,b,s)BEGINIF s = '0' THEN y <= a ; ELSE y <= b ;END IF;END PROCESS;END ARCHITECTURE one ;(2)软件编译(3)仿真波形图(4)硬件测试结果将程序下载到实验板,按下K1键可以得到不同的鸣叫效果。
改变频率的选择,可以改变蜂鸣器的鸣叫效果。
6.实验数据处理与分析(1)程序分析1、一般的,可综合的,即能将VHDL程序编译成可实现的电路端口模式有如下四种:IN(输入端口),OUT(输出端口),INOUT(双向端口),BUFFER(缓冲端口),本二选一实验的实体中定义三个输入引脚分别为:a、b、s和一个输出引脚y,四个引脚的数据类型均为bit.2、使用VHDL描述语句实现功能当s=0时候选择输入a,当s=1时候选择输入b,即实现二选一的功能。
杭州电子科技大学EDA实验报告第一次实验报告班级:1404751*学号: ********姓名:***实验一:双2选1多路选择器MUXKP893-5 图3-16所示的是双2选1多路选择器构成的电路MUXK。
对于其中MUX21A,当s=0和s=1时,分别有y=a和y=b。
试在一个模块中用两个过程来表达此电路。
MUX21A的代码如下module MUX21A(a,b,s,y);input a,b,s;output y;assign y=(s?a:b);endmoduleMUXK的代码如下module muxk(a1,a2,a3,s0,s1,outy);input a1,a2,a3,s0,s1;output outy;wire tmp;MUX21A u1(a2,a3,s0,tmp);MUX21A u2(a1,tmp,s1,outy);Endmodule代码分析:1.用例化语句,直接调用放在MUXK工程的mux21a,实现双二选一数据选择器;2.条件判断语句y=s?a:b,实现2选1。
MUXK RTL图MUXK 仿真波形图如下图所示P1114-1 多路选择器设计实验实验目的:进一步熟悉Quartus II的Verilog文本设计流程,组合电路的设计仿真和硬件测试。
实验内容:根据4.1节的流程,利用QuartusⅡ完成4选1多路选择器的文本代码编辑输入和仿真测试等步骤,给出图3-5所示的仿真波形。
代码如下module MUX41A(A,B,C,D,S1,S0,Y);input A,B,C,D,S1,S0;output Y;reg[1:0] SEL; reg Y;always@(A,B,C,D,SEL)beginSEL={S1,S0};if (SEL==0) Y=A;else if(SEL==1) Y=B;else if(SEL==2) Y=C;else Y=D; endendmodule电路图如下仿真波形如下图分析:当S=2’b00时,Y=A; 当S=2’b01时,Y=B;当S=2’b00时,Y=C; 当S=2’b00时,Y=D;4-2 8位加法器设计实验实验目的:熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握文本和原理图输入方式设计的详细流程。
学号:201400800093 姓名:胡玲专业:电子信息科学与技术科目:电子设计自动化EDA 实验名称:8位二选一多路选择器
一.实验要求
实验要求:1通过有限状态机的VHDL设计初步了解VHDL表达和设计电路的方法2根据学过的一位二选一选择器改进VHDL语言而掌握8位二选一多路选择器
三.RTL图
四.波形仿真图:
由源代码可知a_fin=a_dis,b_fin=b_dis,但由波形仿真图可知在同一时刻它们并不一定相等,而是存在延迟,结果s_fin也是和对应的输入值存在延迟,如果不考虑延迟,结果正确。
例:t=40ns时输入是1010+0001结果是1011,无进位。
五:实验结果
1.用开关sw17-14表示输入的四位二进制A(17-14分别表示A0-A3),并用LEDR17-14显示。
sw13-10表示输入四位二进制B(13-10分别表示B3-B0)并用LEDR13-10显示。
KEY0用于复位KEY1用于做时钟信号LEDR3-0表示输出的四位二进制数LEDG8(绿灯)显示进位输出。
2.按下复位键—用开关确定输入值(例如输入为1111+1000)—按下时钟信号键—可显示红灯为0111以及绿灯亮有进位。
3.可知结果正确。
六.实验体会及心得
1.做实验前先预习实验内容,学以致用和大胆改进很重要。
2.代码写错没关系,几十个错误也没关系,不能复制粘贴那样学不到东西,与同学探讨很有意义,最后结果出来再回过头研究代码会觉得更了解每一步代码。
3.实验过程中切记避免心浮气躁,急于出结果,如果实在没思路可以看同学代码但一定要看懂在之上进行改变看结果。
实验三: 二位比较器的设计与实现一.实验简介:这个实验将指导你通过使用ISE软件进行简单的二位比较器的设计与实现。
二.实验目的:•使用ISE软件设计并仿真。
•学会程序下载。
三.实验原理:1.ISE软件是一个支持数字系统设计的开发2.用ISE软件进行设计开发时基于相应器件型号的。
注意:软件设计时选择的器件型号是与实际下载板上的器件型号相同。
3.图2-1所示为二位比较器的真值表,本实验中用Verilog语句来描述。
b[1] b[0] a[1] d[0]0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1a_eq_b a_gt_b a_lt_b1 0 00 1 00 1 00 1 00 0 11 0 00 1 00 1 00 0 10 0 11 0 00 1 00 0 10 0 10 0 11 0 0四.实验步骤:1.新建工程(1)双击桌面上“”图标,启动ISE软件(也可从开始菜单启动)。
每次打开ISE都会默认恢复到最近使用过的工程界面。
当第一次使用时,由于还没有历史工程记录,所以工程管理区显示空白。
选择File—New Project选项,在弹出的对话框中输入工程名称并指定工程路径。
(2)点击Next按钮进入下一页,选择所使用的芯片及综合、仿真工具。
计算机上安装的所有用于仿真和综合的第三方EDA工具都可以在下拉菜单中找到。
在图中我们选用了Spartan6 XC6SLX16芯片,采用CSG324封装,这是NEXYS3开发板所用的芯片。
另外,我们选择Verilog作为默认的硬件描述语言。
(3)再点击Next按钮进入下一页,这里显示了新建工程的信息,确认无误后,点击Finish 就可以建立一个完整的工程了。
(1)在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择New Source命令,选择Verilog Module输入,并输入Verilog文件名。
多路选择器的设计实验总结
多路选择器是数字电路中常用的一种基本逻辑电路,其作用是从多个输入信号中选出特定的一个输出信号,通常用于数据选择、数据传输、时序控制等方面。
在设计实验中,我们学习了多路选择器的基本原理和设计方法,并通过实际操作进行了验证和实现。
设计多路选择器的基本原理是通过组合逻辑电路实现。
其中,基本的二选一多路选择器可以用两个输入端口(A和B)和一个选择端口(S)实现。
当S为0时,输出为A;当S为1时,输出为B。
多路选择器的数量可以根据需要进行扩展,例如四选一、八选一等。
在实验中,我们通过电路仿真软件(如Proteus、Logisim等)进行多路选择器的电路设计和验证。
首先,我们根据多路选择器的基本原理,采用门电路(如与门、或门、非门等)实现多路选择器的输入端口和选择端口。
然后,使用多路选择器的输出端口将所需输出信号进行选通,并最终将选中的输出信号送出。
在实验设计过程中,需要注意以下几点:
1. 多路选择器的输入信号应当满足逻辑电平标准,即高电平和低电平分别表示1和0。
2. 选择端口的数量应当根据需要进行确定,使用最少的选择端口来满足设计要求。
3. 在多路选择器的设计中,需要注意延迟时间、功耗和可靠性等方面的综合考虑。
通过实验的设计和验证,我们深入了解了多路选择器的基本原理与设计方法,提高了我们对数字电路的理解和技能水平。
数字系统设计基础实验报告实验名称: 1.组合电路设计___2.失序电路设计___3.计数器的设计___4.原理图设计加法器学号: ___ ********__ ____**: ___ **_______班级: __ 计科09-1班_____老师: __ ______中国矿业大学计算机学院2011年10月27日一.实验一: 组合电路的设计二.实验目的三.熟悉QuartusⅡ的VHDL文本设计流程全过程, 学习简单组合电路的设计、仿真和硬件测试。
四.实验任务任务1: 利用QuartusⅡ完成2选1多路选择器的文本编辑输入和仿真测试等步骤, 得出仿真波形。
最后在试验系统上进行硬件测试, 验证本项设计的功能。
五.任务2: 将此多路选择器看成是一个元件mux21a, 利用元件例化语句描述电路图, 并将此文件放在同一目录中。
六.对于任务中的例子分别进行编译、综合、仿真, 并对其仿真波形作出分析说明。
七.实验过程1.新建一个文件夹, 取名CNT10。
2.输入源程序。
3.文件存盘, 文件名为cnt10, 扩展名为.vhd。
八.创建工程, 按照老师要求对软件进行设置。
九.进行失序仿真, 得到仿真图形。
十.实验程序任务1:entity CNT10 ISport (a,b,s:in bit;y:out bit);end entity CNT10;architecture one of CNT10 isbeginprocess (a,b,s)if s='0' then y<=a; else y<=b;end if;end process;end architecture one;任务2:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUXK ISPORT (s0,s1: in STD_LOGIC;a1,a2,a3: in STD_LOGIC;outy: out STD_LOGIC );END ENTITY MUXK;ARCHITECTURE double OF MUXK ISSIGNAL tmpout,tmp:STD_LOGIC;BEGINu1: PROCESS(s0,a2,a3,tmp)BEGINIF s0='0' then tmp<=a2;else tmp<=a3;END IF ;END PROCESS u1 ;u2: PROCESS(s1,a1,tmp,tmpout)BEGINIF s1='0' then tmpout<=a1;else tmpout<=tmp; END IF ;END PROCESS u2 ;outy<=tmpout;END ARCHITECTURE double;十一.实验结果任务1:任务2:十二.实验体会在课堂上对于“EDA与VHDL”这门课的用处及用法一直一知半解, 课上对于一些编程也是学的很模糊, 因为学习过模拟电路与数字电路, 所以总认为器件仿真要用电脑模拟器件或者直接用实物, 但是通过本次实验对QuartusⅡ的初步接触, 了解了其功能的强大。
EDA技术与应用实验报告学院:物理与电子学院专业班级:电子信息科学与技术1205 姓名:学号:目录实验一应用Quartus ΙΙ完成LED的驱动 (3)实验二组合逻辑电路的设计 (19)实验三时序逻辑电路的设计 (32)实验四:数字时钟设计 (45)实验五数据采集系统设计 (59)实验六序列检测器设计 (74)实验一应用Quartus ΙΙ完成LED的驱动一、实验目的通过实验让用户逐步了解、熟悉和掌握FPGA开发软件Quartus ΙΙ的使用方法及VHDL的编程方法。
本实验力求以详细的步骤和讲解让读者以最快的方式了解EDA技术开发以及软件的使用而快速入门,并激起读者对EDA技术的兴趣。
二、实验内容SmartSOPC 实验箱上有8个发光二极管LED1~LED8,在QuikSOPC 核心板上LED1~LED8分别于FPGA芯片的第50、53~55、176和第47~49引脚相连(SmartSOPC 实验箱的LED1~LED8通过跳线JP6的LED0~LED7分别与FPGA的第50、53~55、176和第47~49引脚相连)。
本实验的内容是建立可用于控制LED亮/灭的简单硬件电路,要求点亮SmartSOPC试验箱上的4个发光二极管(LED1、LED3、LED5、LED7)。
具体包括:①使用Quartus ΙΙ建立工程;②Quartus ΙΙ工程设计;③设置编译选项并编译硬件系统;三、实验原理FPGA器件同单片机一样,为用户提供了许多灵活独立的输入/输出I/O口(单元)。
FPGA每个I/O口可以配置为输入、输出、双向I/O、集电极开路和三态门等各种组态。
做为输出口时,FPGA的I/O口可以吸收最大为24mA的电流,可以直接驱动发光二极管LED等器件。
所以只要正确分配并锁定引脚后,在相应的引脚上输出低电平“0”,就可实现点亮该发光二极管的功能。
四、实验步骤使用Quartus ΙΙ建立工程打开Quartus II软件并建立工程①在Windows桌面上选择“开始”→“程序”→“Altera”→Quartus ΙΙ 9.0,打开Quartus ΙΙ 9.0软件,软件界面如图1所示。
本科学生综合性实验报告学号114090315 姓名李开斌学院物电学院专业、班级11电子实验课程名称电子设计自动化(EDA实验)教师及职称罗永道副教授开课学期2013 至2014 学年下学期填报时间2014 年5月20 日云南师范大学教务处编印实验序号1实验名称数码管扫描显示电路实验时间2014年5月20日实验室同析楼114一.实验预习1.实验目的:1、了解时序电路设计;2、熟悉quartus的vhdl文本设计流程全过程,学习简单的组合电路的设计,多层次的电路设计,仿真和硬件测试。
2.实验原理、实验流程或装置示意图:在数字电路模块中,作为组合电路,2选1多路选择器具备了简单性、典型性和代表性等诸多特性。
本节首先拟以此多路选择器作为一个情景(Episode)电路模块,来考察其对应的VHDL表述与设计,从而引出相关的VHDL基本结构,语句表述、数据规则和语法特点的说明和讨论,使读者能够借此迅速地把握VHDL对于组合电路描述的核心语法和基本设计方法。
2选1多路选择器(假设此模块的期间名是mux21a)的电路模型或元件器件如图3—1所示。
图中,a、b是2个数据通道输入端口;s是通道选择信号控制端;y是数据输出端;当s取值分别为0和1时,输出端y将分别输出来自于输入口a和b的数据。
此选择器对应的逻辑电路如图3-2所示,可以认为是此多路选择器的内部电路结构。
3.实验设备及材料电脑一台,QuartusII 实验平台,EDA实验箱4.实验方法步骤及注意事项实验方法:打开Quartus ii软件,按照实验步骤,建立VHDL工程。
2选1多路选择器模型如下:注意事项:在仿真时要先设置仿真功能和生成功能仿真网表。
二.实验内容1.实验现象与结果(1)实体表达式如下:ENTRTY e_name ISPORT(p_name:port_m data_type:...p_name i:port_m i data_type);END ENTRTY e_name;【例3-2】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; ENTITY mux21a ISPORT ( a, b, s : IN STD_LOGIC ;y : OUT STD_LOGIC ); END ENTITY mux21a ; ARCHITECTURE one OF mux21a ISSIGNAL e : STD_LOGIC ;SIGNAL d : STD_LOGIC ;BEGINd <= a AND (NOT s) ;e <= b AND s ;d <= d ORe ;END ARCHITECTURE one ;【例3-3】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; ENTITY mux21b ISPORT ( a, b, s : IN STD_LOGIC ;y : OUT STD_LOGIC ); END ENTITY mux21b ; ARCHITECTURE one OF mux21b IS BEGINPROCESS (a, b, s) BEGIN电路时序波形如下所示:Symbol2.对实验现象、实验结果的分析及其结论首先,仿真结果出现延时,应该将a,b,s的周期增大些,且要保证单位为us,刚开始做实验内容(一)时,文件夹名字与程序中所用的实体名不一致,导致程序运行时无法找到文件夹,无法正常工作,经更改后,正常运行,同时文件夹名字不用汉字和数字,以免出错。
实验六 2选1和4选1多路选择实验班级:通信1121 姓名:王密学号:1121302230一、实验目的:1、了解2选1和4选1的工作原理和实现的方法。
2、实现两个多路选择器,一个2选1,一个4选1。
3、学会用于VHDL语言进行程序设计。
二、实验原理:2选1当选择输入S为L时,Y输出A, 当S为H时,Y输出B。
当选择输入AB为LL时,Y输出D0, 当AB为LH时,Y输出D1, 当AB为HL时,Y输出D2,当AB为HH时,Y输出D3。
说明:sw1选择是控制4选1,还是2选1,sw1=1,为4选1,sw1=0,为2选1。
sw3,sw2为4选1的地址,sw4为2选1的地址。
三、实验连线:1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG口连接起来,万用下载区右下角的电源开关拨到 SOPC下载的一边。
2、请将JPLED1短路帽右插,JPLED的短路帽全部上插。
3、将实验板左端的JP103全部用短路帽接上(共八个)。
四、实验内容与步骤:(程序:EP2C5\muxsel\muxsel.sof)1、打开Quartus II 6.0软件,点击“File→OpenP roject”出现如下的对话框(图9.1),选中muxsel,点打开即可;图9.12、点击“Tools-Programmer”后出现如下的对话窗口,3、在点”Edit→Add File………”出现如下对话框(图9.2),在图9.3对话框中,选中EP2C5/muxsel/muxsel.sof项目后点击打开回到Programmer对话框, 在下载对话窗口中“选中Program/ Configure”,点击“Start”即进行下载。
图9.2图9.3现将muxsel.vhd原程序作如下说明:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_SIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY liu123 ISPORT (SW1:IN BOOLEAN;SW2:IN STD_LOGIC;SW3:IN STD_LOGIC;SW4:IN BOOLEAN;LED:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END liu123;ARCHITECTURE ADO OF liu123 ISSIGNAL RST_MUXSEL: STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL RST_MUXSEL2: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(SW1,SW2,SW3)beginIF (SW2='0' AND SW3 ='0') THEN RST_MUXSEL<="10101010";ELSIF (SW2='0' AND SW3='1' )THEN RST_MUXSEL<="01010101";ELSIF (SW2='1' AND SW3='0')THEN RST_MUXSEL<="10001000";ELSIF (SW2='1' AND SW3='1') THEN RST_MUXSEL<="01110111";ELSE RST_MUXSEL<="XXXXXXXX";END IF;E ND PROCESS;PROCESS (SW4)BEGINIF SW4 THENRST_MUXSEL2<="10100101";ELSERST_MUXSEL2<="01011010";END IF;END PROCESS;PROCESS(SW1,RST_MUXSEL,RST_MUXSEL2)BEGINcase sw1 iswhen true => LED<=RST_MUXSEL;when false => LED<=RST_MUXSEL2;END case;END PROCESS;END ADO;引脚分配(Cyclone EP2C5Q208C8):sw1-P43,sw2-P44,sw3-P45,sw4-P46,led0-P13,led1-P14,led2-P15,led3-P30,led4-P3 1,led5-P33,led6-P34,led7-P35,管脚标号led0到led7分别接到8位的LED流水灯上,使用高低电平观察输出的结果,sw1到sw4接到拨码开关上,。
实验名称:二选一多路选择器实验目的:通过简单、完整而典型的VHDL设计,初步了解用VHDL表达和设计电路的方法,并对由此而引出的VHDL语言现象和语句规则加以有针对性的说明。
实验原理:二选一多路选择器功能描述:输入端口a,b输入信号,在通道选择控制输入端口s输入低电频时,输出端口y输出a输入端口信号;在通道选择控制输入端口s输入高电频时,输出端口y输出b输入端口信号。
实验内容:一、二选一多路选择器程序录入:ENTITY mux21a ISPORT(a,b:IN BIT;s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINy<=a WHEN s='0' ELSE b;END ARCHITECTURE one;二、文件存盘及创建工程,文件名和工程名为mux21a三、对源程序进行全程编译,如有错误进行修改,直到编译成功。
编译成功的界面如下图:四、得出二选一多路选择器的电路图,如下图五、时序仿真:(1)打开波形编辑器。
(2)设置仿真时间区域(此次仿真域时间设为5us)。
(3)波形文件存盘。
(4)将工程的端口信号选入波形编辑器中。
(5)编入输入波形(输入激励信号)。
(6)总线数据格式设置。
(7)仿真器参数设置。
(8)启动仿真。
(9)观察仿真结果。
结果如下图:实验心得:1、通过本节上机实验,初步了解了VHDL语言现象和语句规律。
2、程序很简单,按照示例程序输入没有什么错误。
主要是通过这个简单程序了解了时序仿真的全过程,以及通过对输入波形的调整达到清晰美观时序仿真效果的调试方法。
3、实验后基本能从整体上把握VHDL程序的基本结构和设计特点。
掌握固定表达句式,实体内容还是跟C语言语法相似。
算是入门了。
姓名:黄娟学号:32214125班级:自动141成绩:实验名称:多路选择器的设计一、实验目的1. 掌握EDA工具Quartus Ⅱ的使用;2. 掌握Verilog编程技术。
3. 掌握Quartus Ⅱ的文本输入设计流程。
4. 掌握二选一多路选择器和四选一多路选择器的Verilog表述。
二、四选一多路选择器的Verilog表述(case)(1)case语句表述方式module CNT10(a,b,c,d,s1,s0,y);input a,b,c,d;input s1,s0;output y;reg y;always @(a or b or c or d or s1 or s0)begin : CNT10case ({s1,s0})2'b00:y<=a;2'b01:y<=b;2'b10:y<=c;2'b11:y<=d;default :y<=a;endcaseendEndmodule(2)波形仿真(3)RTL图三、四选一多路选择器的Verilog表述(if)(1)if语句表达方式module CNT10(A,B,C,D,S1,S0,Y);input A,B,C,D,S1,S0;output Y;reg [1:0] SEL;reg Y;always @(A,B,C,D,SEL) beginSEL = {S1,S0};if(SEL==0)Y=A;else if(SEL==1)Y=B;else if(SEL==2)Y=C;else Y=D;endendmodule(2)波形仿真(3)RTL图三、注意事项文件名必须和模块名保持一致,文件路径中不要有汉字,一开始没有注意,存在了桌面上,并且文件名用了汉字而调试好长时间,最后经过老师指点才完成!实验前熟悉了数据选择器的工作原理,实验过程中结合理论进行了分析,并且初步掌握了Quartus Ⅱ环境下4选1数据选择器的Verilog HDL语言设计以及原理图的设计。
EDA实验报告
学生姓名:asfmla;m 学号:eafvpa[cv专业班级:电子3班
组合电路设计
一、实验目的
熟悉quartusⅡ的VHDL文本设计全过程,学习简单组合电路的设计、多层次电路设计、仿真。
二、实验内容
实验内容:首先利用quartusⅡ完成2选1多路选择器(例4-3)的文本编译输入(mux21a.vhd)和仿真测试等步骤,最后在实验系统上硬件测试,验证此设计的功能。
将此多路选择器看成一个元件mux21a,利用元件例化语句描述成三选一,然后进行编译、综合、仿真。
引脚锁定以及硬件下载测试。
建议选实验电路模式5,用键1(PIO0)控制s0;用键2(PIO1)控制s1;a3、a2和a1分别接clock5、clock0和clock2;输出信号outy仍接扬声器spker。
通过短路帽选择clock0接256HZ信号,clock5接1024HZ信号,clock2接8HZ信号。
最后选行编译、下载和硬件测试实验。
三、实验器材
Quartus II软件。
四、设计思路/原理图
五、实验程序
实验内容1:二选一:
library ieee;
use ieee.std_logic_1164.all;
entity mux21a is
port(a,b: in std_logic;
s: in std_logic;
y: out std_logic);
end entity;
architecture dataflow of mux21a is
begin
y<=a when s='0' else b;
end architecture;
实验内容2:三选一
library ieee;
use ieee.std_logic_1164.all;
entity mux31a is
port(a1,a2,a3: in std_logic;
s0,s1: in std_logic;
outy: out std_logic);
end entity mux31a;
architecture m31a of mux31a is
component mux21a
port( a,b: in std_logic;
s: in std_logic;
y: out std_logic);
end component;
signal tmp: std_logic;
begin
u1: mux21a port map(a=>a2,b=>a3,s=>s0,y=>tmp);
u2: mux21a port map(a=>a1,b=>tmp,s=>s1,y=>outy);
end architecture;
六、实验步骤
在E盘新建一个文件夹,用于存放工程。
打开quartus,新建工程,然后选择新建VHDL 文件,命名为mux21a。
在VHDL编辑窗口中输入实验程序后,进行编译、仿真;在实验一的基础上,新建VHDL文件,命名为mux31a。
在VHDL编辑窗口中输入实验程序后,进行编译、综合、仿真;最后进行硬件测试。
七、仿真波形分析
二选一波形:
分析:当s=0时,y=a;当s=1时,y=b。
三选一综合图形及其波形
八、引脚图连接
分析:当s1s0=00时,outy=a1;当s1s0=01时,outy=a1;当s1s0=10时,outy=a2;当s1s0=11时,outy= a3。
九、实验体会
只要自己能全身心投入进去,就能办成事。
对待实验一定要有一颗严谨的心。