组合逻辑VHDL设计——数据选择器 实验报告
- 格式:doc
- 大小:39.00 KB
- 文档页数:4
实验报告一、实验目的熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
二、实验设备GW48系列SOPC/EDA实验开发系统实验箱一台计算机一台三、实验内容1首先利用QuartusⅡ完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,给出下图所示的仿真波形。
最后在实验系统上进行硬件测试,验证本项设计的功能。
源程序为: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 ;图(1 ) 2选1多路选择器的编译图、图(2) 功能仿真的波形图图(3 ) 功能引脚图图(4) 2选1多路选择器的RTL电路2. 将此多路选择器看成是一个元件mux21a,利用元件例化语句描述图,并将此文件放在同一目录中。
并对上例分别进行编译、综合、仿真,并对其仿真波形做出分析说明。
以下是程序:图(5) 双二选一多路选择器的编译图图(6) 双路数据选择器功能仿真图图(7) 双二选一多路选择器的引脚锁定图图 5 双2选1多路选择器图(8) 双路数据选择器RTL电路图图(9) 编程下载图3.、引脚锁定以及硬件下载测试。
若选择目标器件是EP1C3,建议选实验电路模式5,用键1(PIO0,引脚号为1)控制s0;用键2(PIO1,引脚号为2)控制s1;a3、a2 和a1 分别接clock5(引脚号为16)、clock0(引脚号为93)和clock2(引脚号为17);输出信号outy仍接扬声器spker(引脚号为129)。
组合逻辑电路数据选择器实验报告
本次实验的目的是通过实验学习组合逻辑电路数据选择器的原理和应用。
数据选择器是一种常用的组合逻辑电路,它可以根据控制信号选择不同的输入数据,并将所选数据输出。
在数字电路中,数据选择器常用于多路选择、数据交换和数据复用等应用中。
实验中我们使用了74LS151芯片作为数据选择器,该芯片具有8个输入端和1个输出端,可以根据控制信号选择其中一个输入端的数据输出。
实验中我们将8个开关分别连接到芯片的8个输入端,通过控制信号选择其中一个开关的输入数据输出到芯片的输出端。
实验中我们使用了示波器观察芯片输出端的波形,以验证芯片的工作状态。
在实验中,我们首先进行了芯片的引脚连接,将芯片的8个输入端分别连接到8个开关上,将控制信号连接到芯片的控制端。
然后我们通过控制信号选择不同的输入端,观察芯片输出端的波形变化。
实验结果表明,芯片能够正确地选择所需的输入数据,并将其输出到输出端。
通过本次实验,我们深入了解了组合逻辑电路数据选择器的原理和应用,掌握了芯片的引脚连接和控制信号的设置方法。
同时,我们也学会了使用示波器观察芯片输出端的波形,以验证芯片的工作状态。
这些知识和技能对于我们今后的学习和工作都具有重要的意义。
本次实验使我们更加深入地了解了组合逻辑电路数据选择器的原理和应用,掌握了芯片的引脚连接和控制信号的设置方法,同时也提高了我们的实验操作能力和实验数据分析能力。
VHDL 实验报告******班级:电子0701学号:************实验一组合逻辑电路设计一实验目的:1. 熟悉mux+pluxII软件,可以进行新文件的编辑和文件的修改。
2. 掌握门电路VHDL语言程序设计方法。
3. 掌握选择器VHDL语言程序设计方法。
4. 掌握加法器VHDL语言程序设计方法。
5. 熟悉VHDL编程的基本方法。
二实验设备:1.计算机2.Max+PlusII软件三实验原理及内容:1 二输入与门(1)实验原理二输入与门是我们数字电路中的一个基础逻辑门电路,是最基本的逻辑门电路之一,也是最简单的逻辑门之一。
它能实现两个输入端的相与,一般有三个端口。
二输入与门的表达式是:Y=ab二输入与门的逻辑符号如图(1)所示,真值表如表(1)所示。
图(1)与门逻辑符号表(1)与门真值表(2)实验内容a.在mux+pluxII文本编辑环境下,打开新文本,编写两输入与门VHDL语言源程序,程序设计如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY and2 ISPORT(a,b: IN STD_LOGIC;Y: OUT STD_LOGIC);END and2;ARCHITECTURE behave OF and2 ISBEGINY <= a and b;END behave;b.对源程序进行编译,按照提示进行修改,直至编译通过。
c.对编译程序进行仿真,分析并记录仿真波形,其仿真波形图如图(2)所示。
图(2)二输入与门仿真图d.在自己的目录下保存相应的源文件、波形文件。
2 四选一选择器(1)实验原理四选一选择器如图(3)所示,真值表如表(2)所示。
图(3)mux4管脚图表(2)mux4真值表(2)实验内容a.在mux+plusII文本编辑环境下,打开新文件,编辑四选一VHDL源程序文件,其程序设计如下:LIBRARY IEEEUSE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT(A: IN STD_LOGIC_VECTOR (1 DOWNTO 0);D0,D1,D2,D3:IN STD_LOGIC;G:IN STD_LOGIC;Y: OUT STD_LOGIC);END mux4;ARCHITECTURE dataflow OF mux4 ISBEGINPROCESS (A,D0,D1,D2,D3,G)BEGINIF (G ='0') THENIF (A="00")THEN Y <= D0;ELSIF(A="01")THEN Y <= D1;ELSIF(A="10")THEN Y <= D2;ELSE Y <= D3;END IF;ELSE Y <='0';END IF;END PROCESS;END dataflow;b.对源程序进行编译,按照提示进行修改,直到编译通过。
VHDL实验报告一2选1多路选择器实验一实验目的:熟悉quartus的vhdl文本设计流程全过程,学习简单的组合电路的设计,多层次的电路设计,仿真和硬件测试二、实验内容内容(一)用vhdl语言设计2选1多路选择器参考例3-1程序设计如下:library ieee;use ieee.std_logic_1164.all;entity mux21a isport (a,b,s:in bit;y: out bit);end entity mux21a;architecture one of mux21a isbeginy<=a when s='0' else b;end architecture one全程编译后软件提示0错误,3警告,可以继续下面仿真操作。
程序分析:这是一个2选1多路选择器,a和b分别为两个数字输入端的端口名,s为通道选择控制信号输入端的端口名,y为输出端的端口名。
时序仿真及分析:时序仿真输入图:时序仿真输出图:时序分析:由上面两图可以得知:当s=0时,y口输出a,当s=1时,y口输出b下载和硬件测试:引脚锁定图:程序下载完成后,选择实验电路模式5,通过短路帽选择clock0接256Hz 信号,clock2接8Hz信号。
通过键一控制s,当键一进行切换时,明显能听到扬声器发出两种不同音调的声音。
实验内容(二)双二选一多路选择器设计程序设计:library ieee;use ieee.std_logic_1164.all;entity mux21a isport (a,b,s:in bit;y: out bit);end entity mux21a;architecture one of mux21a isbeginy<=a when s='0' else b;end architecture one;entity muxk isport (a1,a2,a3,s0,s1:in bit;outy:out bit);end entity muxk;architecture bhv of muxk iscomponent mux21aport (a,b,s:in bit;y:out bit);end component;signal tmp: bit;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 bhv;全程编译后软件提示0错误,2警告程序分析:这是一个双2选1多路选择器,a1、a2和a3分别为两个数字输入端的端口名,s0、s1为通道选择控制信号输入端的端口名,outy为输出端的端口名。
数据选择器实验报告
在科学研究和工程实践中,数据选择器是一种常用的仪器,它能够根据一定的
条件从给定的数据集中选择出符合条件的数据。
本实验旨在通过对数据选择器的使用,探究其在数据处理中的应用及性能表现。
首先,我们选择了一组包含不同类型数据的数据集,包括数值型数据、文本型
数据和日期型数据。
接着,我们利用数据选择器对这些数据进行了筛选和过滤,通过设定不同的条件,比如大于、小于、等于等,来选择出符合条件的数据。
在实验过程中,我们发现数据选择器能够准确地按照设定的条件进行筛选,并且操作简便,易于掌握。
其次,我们对数据选择器的性能进行了测试。
通过对不同规模的数据集进行筛选,我们发现数据选择器在处理小规模数据时表现出色,能够快速准确地完成筛选任务。
然而,在处理大规模数据时,数据选择器的性能有所下降,筛选速度变慢,甚至出现卡顿现象。
这提示我们在实际应用中需要根据数据规模选择合适的数据选择器,以确保数据处理的效率和准确性。
最后,我们对数据选择器的应用进行了案例分析。
以销售数据为例,我们利用
数据选择器对销售额、销售量等数据进行了筛选和统计,得出了不同时间段、不同产品类别的销售情况。
这些数据对于企业制定营销策略、产品定价等方面具有重要的参考价值,展示了数据选择器在商业领域的广泛应用前景。
综上所述,数据选择器作为一种常用的数据处理工具,在科研和工程实践中具
有重要的应用价值。
通过本实验,我们深入了解了数据选择器的工作原理和性能特点,认识到了其在数据处理中的重要作用。
希望通过本实验能够为相关领域的研究和应用提供一定的参考和借鉴,推动数据选择器技术的进一步发展和完善。
基于VHDL的数值比较器、数据选择器、移位寄存器、60进制计数器、复杂ALU设计实验报告VHDL实验报告班级:电子学号:姓名:2014/5/23Experiment 1 两位二进制数的大小比较器一、实验目的:(1)熟悉QuartusII的开发环境、熟练掌握编程开发流程。
(2)学习VHDL的基本语法及编程设计。
二、实验内容:数值比较器设计三、实验要求:(1)熟练掌握QuartusII开发环境下对可编程逻辑器件进行程序化设计的整套流程;2)设计输入使用插入语言模板(Insert Template); ((3)在QuartusII开发环境下对设计程序进行时序仿真,将生成的配置文件下载到实验板,进行最终的实物测试验证。
四、实验原理:根据两位二进制数的大小得到对应的比较结果,其电路示意图及电路特性表为: 比较器特性表A B In_s In_l In_e 比较器电路示意图YsYe YlY A > B × × × 0 0 1A[3:0] Yl Number B[3:0] A < B × × × 1 0 0 Ye A = B 0 1 0 0 0 1 In_sYs Comparer In_l A = B 1 0 0 1 0 0 In_e A = B 0 0 1 0 1 0 A = B 0 0 0 × × × A = B × 1 1 × × × A = B 1 × 1 × × × A = B 1 1 × × × ×五、程序编写、调试及仿真(芯片型号:MAX?系列EPM1270T144C5) (1)程序编写:library ieee;use ieee.std_logic_1164.all;2entity Vhdl1 isport(a,b:in std_logic_vector(3 downto 0);ins,inl,ine: in std_logic;ys,ye,yl: out std_logic);end Vhdl1;architecture one of Vhdl1 issignal temps,tempe:std_logic; beginys<=temps;ye<=tempe;yl<=temps nor tempe;process(a,b,ine)beginif (a=b and ine='1')thentempe<='1';elsetempe<='0';end if;end process;process(a,b,ins)beginif(a<b) thentemps<='1';elsif(a=b and ins='1') then temps<='1';elsetemps<='0';end if;end process;end one;(2)功能仿真:3(3)芯片引脚设定:(4)适配下载结果六、结果分析本实验实现了两位二进制数的比较。
数据选择器实验报告引言:数据选择器是数据处理和分析中常用的工具之一。
它能帮助研究人员在大量数据中筛选出符合特定条件的子集,从而得到有针对性的分析结果。
本文将对数据选择器进行实验研究,并探讨其在数据处理中的应用。
一、实验目的本实验的目的是通过使用数据选择器,根据预设的条件,从给定的数据集中筛选出符合条件的子集。
通过实验比较不同的筛选条件及其对结果的影响,分析数据选择器在不同情境下的应用价值。
二、实验方法1. 数据集准备我们从一个公司的销售数据中选取了一个包含产品名称、销售数量和销售额的数据集作为实验对象。
该数据集包含10000条记录,涵盖了过去一年的销售情况。
2. 设置筛选条件我们根据实验需要,设置了多个不同的筛选条件,包括:- 销售数量大于100的产品- 销售额在1000至5000之间的产品- 产品名称含有特定关键词的产品3. 使用数据选择器我们使用Python编程语言中的pandas库实现了数据选择器的功能,并将其应用于上述数据集。
通过编写代码,我们根据预设的筛选条件,从数据集中选择出符合条件的子集。
4. 比较分析我们对不同筛选条件下的子集进行了比较分析,考察不同条件对数据的过滤效果和相关指标的影响。
同时,我们还对比了使用数据选择器和手动筛选的效率和准确性。
三、实验结果通过实验,我们获得了以下结果:1. 销售数量大于100的产品该条件下,共筛选出1000个产品子集。
筛选后的子集中,产品的平均销售额高于整体平均水平,但销售数量的方差较大。
2. 销售额在1000至5000之间的产品该条件下,共筛选出600个产品子集。
筛选后的子集中,产品的平均销售数量和销售额都高于整体平均水平。
3. 产品名称含有特定关键词的产品该条件下,共筛选出200个产品子集。
筛选后的子集中,产品的销售数量和销售额与整体相比没有明显差异,但产品名称的相关性较高。
四、讨论与分析数据选择器在不同筛选条件下的实验结果表明,它能够根据预设条件,高效地从给定数据集中筛选出符合要求的子集。
实验一用VHDL语言设计组合逻辑电路一、实验目的:掌握用VHDL语言设计组合逻辑电路的方法。
熟悉QuartusⅡ的操作。
二、实验仪器:PC机一台三、实验内容:1.用VHDL语言设计4选1数据选择器。
2.用文本输入法输入3.建立工程,编译,改错,直至编译通过4.仿真,验证所设计电路的正确性四、操作步骤:1、在所使用的计算机数据盘里建立自己的文件夹2、打开QuartusII3、单击工具栏中的new,在出现的对话框中选择VHDL File,点击OK。
4、输入设计程序。
输入结束后,将程序保存在自己的文件夹中。
注意:存盘的文件名应该跟实体名相同。
5、创建工程。
创建工程有两种方法:第一种方法是在保存文件后出现的对话框中点击‘是’,按提示进行操作;第二种方法是在出现的对话框点击‘否’。
第一种方法的具体过程:点击‘是’,出项下面的框点击‘Next’,出项不需要任何修改,继续点击‘Next’,出项继续点击‘Next’,在后面出现的框图中继续点击‘Next’,直到没有‘Next’选项,点击‘Finish’,这样就完成工程的创建。
第二种方法的具体过程:点击‘否’此时要创建工程,点击菜单File下的“New Preject Wizard”。
出现框图:点击‘Next’,出项点击最上一行右边的,寻找你的文件所在的文件夹,点击要创建工程的文件名,点击打开(或双击要创建工程的文件名),出现项目名称和文件名称相同。
点击‘Next’,出现点击,在出现的对话框点击文件名,点击‘打开’,出现点击右边的‘add’,出现点击‘Next’,在后面出现的框图中继续点击‘Next’,直到没有‘Next’选项,点击‘Finish’,这样就完成工程的创建。
6、观察QUARTUS 界面点击箭头所指图标,观察箭头上方的变化,点击+号,双击出项的文件7、全程编译。
点击箭头所指图标,开始全程编译。
如果有错误,编译会自动停止,出现点击确定,按提示到文件中修改错误,保存文件,继续点击全程编译的图标,如还有错误,继续上面的步骤。
实验名称:组合逻辑VHDL设计——数据选择器
班级: 09电气2Z 学号: 09312213 姓名:钱雷
一、4选1数据选择器的VHDL设计(低电使能端)
1.实体框图
2.程序设计
①正确的程序
library ieee;
use ieee.std_logic_1164.all;
entity mux41a is
port(D3,D2,D1,D0,EN:in std_logic;
A1,A0:in std_logic;
y:out std_logic);
end mux41a;
architecture aaa of mux41a is
begin
y<=D3 when A1='0' and A0='0' and EN='0' else
D2 when A1='0' and A0='1' and EN='0' else
D1 when A1='1' and A0='0' and EN='0' else
D0 when A1='1' and A0='1' and EN='0'
else 'Z';
end architecture aaa;
3.仿真波形图
4.仿真波形分析
D0-D3是数据输入端,EN为使能端,低电平有效,S(A1和A0)是控制输入端,Y是数据输出端。
当A1、A0=‘11’时,D0数据被选中,输出Y=D0;当A1、A0=‘10’时,D1数据被选中,输出Y=D1,当A1、A0=‘01’时,D2数据被选中,输出Y=D2,当A1、A0=‘00’时,D3数据被选中,输出Y=D3。
二、8选1数据选择器的VHDL设计(低电使能端)
1.实体框图
2.程序设计
①正确的程序
library ieee;
use ieee.std_logic_1164.all;
entity mux81a is
port(A0,A1,A2,D0,D1,D2,D3,D4,D5,D6,D7,EN:in std_logic;
y:out std_logic);
end mux81a;
architecture bbb of mux81a is
signal Q:std_logic_vector (2 downto 0);
begin
Q<=A2&A1&A0;
y<=D0 when Q="000" and EN='0' else
D1 when Q="001" and EN='0' else
D2 when Q="010" and EN='0' else
D3 when Q="011" and EN='0' else
D4 when Q="100" and EN='0' else
D5 when Q="101" and EN='0' else
D6 when Q="110" and EN='0' else
D7 when Q="111" and EN='0'
else 'Z';
end architecture bbb;
3.仿真波形图
4.仿真波形分析
D0-D7是数据输入端,EN为使能端,低电平有效,A2,A1,A0是控制输入端,Y是数据输出端。
当A2、A1、A0=‘000’时,D0数据被选中,输出Y=D0;当A2、A1、A0=‘001’时,D1数据被选中,输出Y=D1,当A2、A1、A0=‘010’时,D2数据被选中,输出Y=D2,当A2、A1、A0=‘011’时,D3数据被选中,输出Y=D3,当A2、A1、A0=‘100’时,D4数据被选中,输出Y=D4,当A2、A1、A0=‘101’时,D5数据被选中,输出Y=D5,当A2、A1、A0=‘110’时,D6数据被选中,输出Y=D6,当A2、A1、A0=‘111’时,D7数据被选中,输出Y=D7。
std_logic_vector 是标准逻辑矢量,定义的是长度大于1的变量,需要确定赋值方向(n downto 0)or (0 downto n)。
std_logic 是长度为1的逻辑与bit 相似,只是 bit 只能是'0 ’和'1‘ 而std_logic有以下九种状态:U'——初始值,'X'——不定,'0'——0,'1'——1,'Z'——高阻,'W'——弱信号不定,'L'——弱信号0,'H'——弱信号1,'-'——不可能的情况。