VHDL实验报告一2选1多路选择器
EDA实验指导书_2

EDA 技术与VHDL实验指导书通信实验室编制2012年9月实验一组合电路的设计 (3)实验二时序电路的设计.................................错误!未定义书签。
实验三8位全加器的设计................................错误!未定义书签。
实验四含异步清零和同步时钟使能的加法计数器的设计错误!未定义书签。
实验五十六进制七段数码显示译码器设计.错误!未定义书签。
实验六数控分频器的设计.............................错误!未定义书签。
实验七序列检测器的设计.............................错误!未定义书签。
实训一组合电路的设计一、实验目的熟悉QuartusⅡ的VHDL文本设计流程全过程, 学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
二、实验内容1: 首先利用QuartusⅡ完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤, 给出仿真波形。
最后在实验系统上进行硬件测试, 验证本项设计的功能。
2:将此多路选择器看成是一个元件mux21a, 利用元件例化语句描述一个双2选1多路选择器, 并将此文件放在同一目录中。
三、实验仪器ZY11EDA13BE型实验箱通用编程模块, 配置模块, 开关按键模块, LED显示模块。
四、实验原理1.2选1多路选择器的VHDL源代码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选1多路选择器的仿真图形2.双2选1多路选择器以下是部分参考程序:...COMPONENT MUX21APORT ( a, b, s : IN STD_LOGIC;y : OUT STD_LOGIC);END COMPONENT ;...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 BHV ;五、实验报告:根据以上的实验内容写出实验报告, 包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。
选1多路选择器

EDA实验二4选1多路选择器设计实验一、实验目的进一步熟悉QuartusII 的VHDL 文本设计流程、组合电路的设计仿真和测试。
二、实验内容实验内容一:根据 4.1流程,利用QuartusII 完成四选一多路选择器的文本编辑输入和仿真测试等步骤,给出仿真波形。
实验内容二:对VHDL 不同描述方式的四选一多路选择器进行硬件实验,比较他们的特性。
三、实验记录1.when-else语句设计的4选1多路选择器a).利用when-else语句的vhdl程序library ieee;use ieee.std_logic_1164.all;entity mux41a isport(a,b,c,d,s0,s1:in std_logic;y:out std_logic);end entity mux41a;architecture one of mux41a isbeginy<= a when s0='0' and s1='0' elseb when s0='1' and s1='0' elsec when s0='0' and s1='1' elsed;end architecture one;备注以上是when-else语句设计的4选1多路选择器的vhdl描述。
程序中应该注意的有以下几点A.一:实体的命名要和工程名相同,并且不能是中文的或者以数字开头;B.二:when-else语句具有最高赋值优先级;b).when-else语句设计的4选1多路选择器的RTL图图(1)when-else语句设计的4选1多路选择器的RTL图c).when-else语句设计的4选1多路选择器的时序仿真波形图图(2)when-else语句设计的4选1多路选择器的时序仿真波形图d).when-else语句设计的4选1多路选择器功能仿真波形图图(3)when-else语句设计的4选1多路选择器功能仿真波形图2.if-then语句设计的4选1多路选择器a).利用when-else语句的vhdl程序library ieee;use ieee.std_logic_1164.all;entity mux41b isport(a,b,c,d,s0,s1:in std_logic;y:out std_logic);end entity mux41b;architecture one of mux41b isbeginprocess (a,b,c,d,s0,s1) beginif s0='0' and s1='0' then y<= a;end if;if s0='1' and s1='0' then y<= b;end if;if s0='0' and s1='1' then y<= c;end if;if s0='1' and s1='1' then y<= d;end if;end process;end architecture one;备注:以上是if—then语句设计的4选1多路选择器的vhdl描述。
EDA实验报告(12份).pdf

实验一组合电路的设计1. 实验目的:熟悉MAX + plus II 的VHDL 文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
2. 实验内容:设计一个2选1多路选择器,并进行仿真测试,给出仿真波形。
3. 实验程序如下: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 is beginy<=a when s='0' else b ; end architecture one ;4. 仿真波形(如图1-1所示)图1-1 2选1多路选择器仿真波形5. 试验总结:从仿真波形可以看出此2选1多路选择器是当s为低电平时,y输出为b, 当s为高电平时,y输出为a(y<=a when s='0' else b ;),完成2路选择输出。
实验二时序电路的设计1. 实验目的:熟悉MAX + plus II VHDL文本设计过程,学习简单的时序电路设计、仿真和测试。
2. 实验验内容:设计一个锁存器,并进行仿真测试,给出仿真波形。
3. 实验程序如下:library ieee;use ieee.std_logic_1164.all;entity suocun7 isport(clk: in std_logic;en: in std_logic;D: in std_logic_vector(7 downto 0);B:out std_logic_vector(7 downto 0)); end suocun7;architecture one of suocun7 issignal K: std_logic_vector(7 downto 0); beginprocess(clk,en,D)beginif clk'event and clk='1' thenif en ='0'thenK<=D;end if;end if;end process;B<=K;end one;4.仿真波形(如图2-1所示)图2-1 8位锁存器仿真波形此程序完成的是一个8位锁存器,当时钟上升沿到来(clk'event and clk='1')、使能端为低电平(en ='0')时,输出为时钟上升沿时的前一个数,从仿真波形看,实现了此功能。
EDA实验报告

E D A实验报告实验一、QuartusⅡ软件使用一、试验目的学习QUARTUS II软件的使用,掌握软件工程的建立、VHDL源文件的设计和波形仿真等基本内容;二、试验内容利用QuartusⅡ完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,给出仿真波形。
设计含有异步清零和计数使能的4位二进制加减可控计数器。
三、设计过程VHDL设计程序如下二选一:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;ENTITY mux21 ISPORT ( a, b : IN BIT;s : IN BIT;y : OUT BIT );END ENTITY mux21;-- behave descriptionARCHITECTURE one OF mux21 ISBEGINy <= a WHEN s = '0' ELSE b ;END ARCHITECTURE one ;四位二进制计数器:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ; -- 运算符重载ENTITY mycounter ISPORT ( ena,clr,d_ctr,clk : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0 )) ;END ENTITY mycounter;ARCHITECTURE bhv OF mycounter ISSIGNAL q1 : STD_LOGIC_VECTOR(3 DOWNTO 0 );BEGINq <= q1 ;PROCESS (clk,clr,ena,d_ctr)BEGINIF clr='1' THEN q1<="0000";ELSIF clk'EVENT AND clk = '1' THENIF ena='1' THENIF d_ctr='1' THENq1 <= q1 + '1';ELSEq1<=q1-'1';END IF;ELSEq1<=q1;END IF;END IF;END PROCESS ;END ARCHITECTURE bhv;四、仿真波形与分析二选一:四位二进制计数器:实验二、原理图输入设计方法一、试验目的熟悉利用QUARTUS II中的原理图输入法设计组合电路,掌握层次化设计的方法,并通过一个4位全减器的设计把握文本和原理图输入方式设计的详细流程。
2选1选择器的VHDL设计课件

3.1 多路①可以使用26个英文字母,数字0-9以及下划线“_”,且 只能以英文字母开头;
②不区分大小写;最长不超过64个字符;
③必须是单一下划线,且下划线前后都必须有英文字母 或数字;
6、端口定义语句port和端口模式 端口模式
IN 输入端口,定义的通道为单向只读模 OUT 式输出端口,定义的通道为单向输出模 INOUT 式 定义的通道确定为输入输出双向端口 BUFFER 缓冲端口,其功能与INOUT类似
3、界符 标点符号“;”表示VHDL中语句的结束;
3.1 多路选择器的VHDL描述
4、实体和结构体
实体和结构体是VHDL程序的两个基本组成部分;其中 实体主要用于定义电路或系统的外部端口;结构体用于定义 内部逻辑功能或电路结构。
ENTITY e_name IS PORT ( p_name : port_m
-- 注意,赋值条件的数据类型必须是boolean
3.1 多路选择器的VHDL描述
思考 ❖还有没有其它方法实现二选一? ❖n选一的多路选择器怎么设计?
3.1 多路选择器的VHDL描述
9、赋值符号<=
信号赋值符号“<=”,表示将符号右端的值赋值给左端的 信号; 10、关系运算符=
等号“=”没有赋值的含义,也不是相等的意思,而是 关系运算符,只是一种数据比较符号,其结果只有两种情况, 要么为真true,条件成立;要么为假false,条件不成立。 表达式 WHEN 赋值条件 ELSE
END ARCHITECTURE one ;
3.1 多路选择器的VHDL描述
3.1 多路选择器的VHDL描述
entity 实体
architecture 结构体
实体 mux21a1
2选1多路选择器的VerilogHDL设计

三、实验HDL描述:
四、仿真结果:
由上图可见,当输入的s为高电平时,输出的y和a的波形一致;而当输入的s为低电平时,输出的y和b一致。
五、引脚锁定:
六、硬件测试结果:
上图为通过JTAG接口下载程序
实验效果:按下和松开键1,SPEAKER会发出不同的尖叫声,证明电路运行正确。
七、实验心得:
通过本次实验,初步了解了QuartusII的基本操作方法,根据PPT和老师的详细讲解,熟悉了2选1多路选择器的文本编辑输入和仿真设置及测试。有了这次入门实验的经验,为后续实验打下了良好的基础。
2、学习简单组合电路的设计、仿真和硬件测试。
二、实验内容:
按照PPT文件“Quartus II 9.0基本设计流程-VerilogHDL.ppt”所讲述的步骤,利用QuartusII完成2选1多路选择器的文本编辑输入(mux21a.v)和仿真测试等步骤,给出仿真波形。
若目标器件是EP3C40Q240C8N,建议选实验电路模式5,用键1作为控制端s;a和b分别接clock5、clock0,输出信号y接扬声器speaker。通过短路帽选择clock0接256Hz信号,clock5接1024Hz。最后进行编译、下载和硬件测试实验。
附表1:
广州大学学生实验报告
开课学院及实验室:物理与电子工程学院-电子楼317室2016年4月18日
学院
物电
年级、专业、班
姓名
Jason.P
学号
实验课程名称
EDA技术实验
成绩
实验项目名称
2选1多路选择器的VerilogHDL设计
2选1和4选1选择器VHDL设计

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUX41A IS PORT(a,b,c,d,s0,s1:IN STD_LOGIC;
y:OUT STD_LOGIC); END ENTITY MUX41A ; ARCHITECTURE BHV OF MUX41A IS SIGNAL S:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN S <=S1 & S0; PROCESS(S1,S0) --敏感信号表中可以放s1、s0,也可直接放s,如(s) BEGIN CASE S IS WHEN "00" => y<=a; WHEN "01" => y<=b; WHEN "10" => y<=c; WHEN "11" => y<=d; WHEN OTHERS =>NULL; END CASE; END PROCESS; END BHV;
3.3 4选1多路选择器及其VHDL描述
3.1 多路选择器的VHDL描述
相关语法 1.IEEE库和1164程序包
在VHDL中也像很多高级语言一样,把常用的一些数据 类型,数据对象等事先定义好放在库和程序包中,供设计者 直接调用而不用定义。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; 注意:一个典型的VHDL程序是由库和程序包,实体和结构 体三部分构成。
mux21a2
a
y
b
ቤተ መጻሕፍቲ ባይዱ
s
3.1 多路选择器的VHDL描述
相关语法
1.信号signal
数字电路设计实验vhdl语言实验报告

实验一秒表计数器的设计实验目的:本实验通过设计四种频率可选的数字时钟系统, 以达到熟悉VHDL 语言编程语法、设计思路和熟练掌握Quartus II 开发软件的目的。
二、实验内容:该数字时钟的显示格式如下所示: HH: MM: SS, 其中HH表示时计数的两位, MM表示分计数的两位, SS表示秒计数的两位。
本系统输入信号分别为复位信号rst(高有效)、sel(两位信号, 分别可以选择2分频、4分频8分频和16分频)、clk_in(时钟信号)、8位时输出、8位分输出、8位秒输出(其中高4为表示对应的高半字节、低4位表示的低半字节, 譬如当时间为08:59:30时, 时输出为”0000_1000”,分输出为”0101_1001”,秒输出为”0011_0000”)。
该时钟系统可以通过Sel信号时钟运行的快慢。
三、实验流程:通过对实验内容的分析: 可以考虑时钟系统的可由三部分组成: 1.分频器:分频器为时序电路并且通过《数字电路》理论课程的学习可知由计数器来实现, 同学可以回想一下实验1中是如何实现计数器电路的设计), 该模块主要产生2.4.8、16分频的时钟信号;2.多路选择器:在VHDL中多路选择器为组合逻辑, 可以有多种实现方法, 在这里主要选用了case语句来实现。
该模块的作用是从分频器中根据Sel信号选择适当的时钟信号;3.时钟控制器:该模块比较复杂, 主要实现功能是实现一个24小时的计时。
当时间为00:00:59的时候下一个时钟到来时状态的跳变为00:01:00, 计时中多数计数为加1操作, 有几个特殊状态需要重点考虑:当时间产生分进数时, 譬如上例。
当时间产生时进数时, 譬如00:01:59时刻的下一个状态为00:02:00;当时间产生时进数时, 譬如00:59:59是个的下一个状态为01:00:00。
当时间产生天进数时, 譬如23:59:59的下一个状态为00:00:00。
四、仿真要求:1、本次试验的结果全部采用功能仿真分析:在结果图中能够看到让复位信号rst为有效的情况下, 所有的输出为00:00:00;2.当频率选择输出分别为”00”、”01”、”10”、”11”时秒为的进数分别包含2.4.8、16倍clk_in的时钟周期;3.可以看到完整的计时周期00:00:00->23:59:59->00:00:00。
fpga2选1选择器

3-1. 2选1多路选择器实验
示例程序和实验指导课件位置:\EDA_BOOK3_FOR_C35\chpt4\EXPT51_mux21A\工程mux21A 1、实验目的:熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
2、实验内容:
(1)首先利用QuartusⅡ完成2选1多路选择器(例3-1)的文本编辑输入(mux21a.vhd),建立工程并保存。
(2)编译仿真。
编译该工程,成功后进行波形仿真,仿真时序图如图3-2所示:
【例3-1】
ENTITY mux21a IS
PORT ( a, b, s: IN BIT;
y : OUT BIT );
END ENTITY mux21a;
ARCHITECTURE one OF mux21a IS
BEGIN
PROCESS (a,b,s)
BEGIN
IF s = '0' THEN y <= a ; ELSE y <= b ;
END IF;
END PROCESS;
END ARCHITECTURE one ;
图3-1 双2选1多路选择器
图 3-2 mux21a功能时序波形
(3)引脚锁定以及硬件下载测试。
引脚锁定如图3-3所示。
建议选实验电路模式5,clock0接256HZ,clock5接1024HZ,按键1控制多路选择器对不同时钟的选择,从而从扬声器中能听到不同音调的声音。
图3-3引脚锁定
3、实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。
EDA实验报告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.实验过程中切记避免心浮气躁,急于出结果,如果实在没思路可以看同学代码但一定要看懂在之上进行改变看结果。
实验一VHDL入门与QuartusII使用指南

实验一VHDL入门与Quartus II使用一、实验目的1.熟悉Quartus II的VHDL文本设计流程。
2.学习用VHDL进行简单逻辑电路设计,多层次电路设计。
3.掌握VHDL设计电路的仿真、综合、和硬件测试的过程.二、实验内容1.实验内容1:首先利用QuartusⅡ完成2选1多路选择器(例3-1)的文本编辑输入(mux21a.vhd)和仿真测试等步骤,给出仿真波形,验证本项设计的功能。
2.实验内容2:用VHDL语言来描述一个3选1多路选择器,将例4-1多路选择器看成是一个元件mux21a,利用元件例化语句描述图3—17(93页),并将此文件放在同一目录muxk 中.用层次化描述的方法,先建立一个2选1多路选择器实体,然后在顶层设计中调用该实体两次就得到了3选1多路选择器。
以下是部分参考程序:...COMPONENT MUX21APORT ( a,b,s : IN BIT;y : OUT BIT);END COMPONENT ;。
.u1 : MUX21A PORT MAP(a=〉a2,b=〉a3,s=>s0,y=>tmp);u2:END ARCHITECTURE BHV ;对上面方法得到的VHDL设计进行功能仿真,验证其逻辑功能的正确性。
验证完成后进行综合,查看其RTL电路结构。
三、实验报告将实验原理、设计过程、编译仿真波形、RTL电路和分析结果写进实验报告。
四、实验步骤Quartus II 设计的主要流程有:创建工程、设计输入、编译、仿真验证、引脚锁定、下载.1.创建工程在D盘中新建一个文件夹D:\ mux21a,此文件夹用于存放整个工程。
打开Quartus II ,在菜单中选择File—〉New Project Wizard 将会出现一个信息框,这个对话框介绍创建工程步骤,可以直接选Next,这时会出现如图1所示的对话框。
这里需输入的是欲创建工程的基本信息,三个输入栏中分别输入的是工程将被保存的路径及工程文件夹、工程的名称和顶层实体的名称。
多路选择器的设计实验总结

多路选择器的设计实验总结
多路选择器是数字电路中常用的一种基本逻辑电路,其作用是从多个输入信号中选出特定的一个输出信号,通常用于数据选择、数据传输、时序控制等方面。
在设计实验中,我们学习了多路选择器的基本原理和设计方法,并通过实际操作进行了验证和实现。
设计多路选择器的基本原理是通过组合逻辑电路实现。
其中,基本的二选一多路选择器可以用两个输入端口(A和B)和一个选择端口(S)实现。
当S为0时,输出为A;当S为1时,输出为B。
多路选择器的数量可以根据需要进行扩展,例如四选一、八选一等。
在实验中,我们通过电路仿真软件(如Proteus、Logisim等)进行多路选择器的电路设计和验证。
首先,我们根据多路选择器的基本原理,采用门电路(如与门、或门、非门等)实现多路选择器的输入端口和选择端口。
然后,使用多路选择器的输出端口将所需输出信号进行选通,并最终将选中的输出信号送出。
在实验设计过程中,需要注意以下几点:
1. 多路选择器的输入信号应当满足逻辑电平标准,即高电平和低电平分别表示1和0。
2. 选择端口的数量应当根据需要进行确定,使用最少的选择端口来满足设计要求。
3. 在多路选择器的设计中,需要注意延迟时间、功耗和可靠性等方面的综合考虑。
通过实验的设计和验证,我们深入了解了多路选择器的基本原理与设计方法,提高了我们对数字电路的理解和技能水平。
实验六 二选一数据选择器的VHDL设计

2、关系运算符
= /= < <= > >= 等于 不等于 小于 小于或等于(也用于信号的赋值操作) 大于 大于或等于
=和/=的操作对象可以是任何数据类型构成的操作数。
其它关系运算符对数据类型有一定的限制。(整数、 实数、位矢量、数组(从左至右比较,如:1011>101011 结果为真))
3、算术运算符
Structure描述
architecture one of mux21 is signal d,e:bit; begin d<=a and (not s); e<=b and s; y<=d or e; end one;
逻辑图
三种描述方式的比较
描述方式 优点 缺点 繁琐、复杂 逻辑方程 难以获得 不一定能综合 适用场合 层次化设计 小门数设计 系统建模、复 杂的电路
--B="1010" --C="0010" --D="1011" --E="0010" --F="1010" --G="1010"
6、运算符的优先级
★数据类型必须一致 ★表达式中有多个运算符时一般要加括号,但and、or等除外
运算符 NOT,ABS,** * ,/ ,MOD, REM +(正号), -(负号) + ,-, & SLL, SLA, SRL, SRA, ROL, ROR =, /=, <, <=, >, >= AND, OR, NAND, NOR, XOR, XNOR 最低优先级 优先级 最高优先级
VHDL操作符优先级
signal d1,d2,s : integer; SIGNAL a ,b,c : STD_LOGIC_VECTOR (3 DOWNTO 0) ; SIGNAL d,e,f,g : STD_LOGIC_VECTOR (1 DOWNTO 0) ; SIGNAL h,i,j,k : STD_LOGIC ; SIGNAL l,m,n,o,p : BOOLEAN ; ... s<=a and b; -- integer 不能进行逻辑运算 a<=b AND c; -- a、b、c的数据类型同属4位长的位矢量 d<=e OR f OR g ; -- 两个操作符OR相同,不需括号 h<=(i NAND j)NAND k ; -- NAND必须加括号 l<=(m XOR n)AND(o XOR p); -- 操作符不同,必须加括号 h<=i AND j AND k ; -- 两个操作符都是AND,不必加括号 h<=i AND j OR k ; -- 两个操作符不同,未加括号,表达错误 a<=b AND e ; -- 操作数b与e的位矢长度不一致,表达错
EDA实验1lxm二选一数据选择器

实验一二选一数据选择器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。
接下来另存文件:保存时需更改文件名与项目名称一样,注意保存在同一个工程文件夹下面。
VHDL实验报告

班级:2009211411 学号:09211999 姓名:陈东东四选一数据选择器1.实验目的:利用数据选择器的原理,即在地址选择信号的控制下从输入的四路数据中选择一路数据作为输出。
2.实验内容和实验原理:四选一数据选择器有4条输入数据线,2条地址选择线和一条数据输出线,通过控制2条地址选择线实现数据输出线从4条输入线中选择一条输出。
3.试验程序:LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY MUX4 ISPORT(D0:IN std_logic;D1:IN std_logic;D2:IN std_logic;D3:IN std_logic;S0:IN std_logic;S1:IN std_logic;Q :OUT std_logic);END mux4;ARCHITECTURE RTL OF mux4 ISBEGINPROCESS(D0,D1,D2,D3,S0,S1)BEGINIF(S1='0' AND S0='0')THENQ<=D0;ELSIF(S1='0' AND S0='1')THENQ<=D1;ELSIF(S1='1' AND S0='0')THENQ<=D2;ELSIF(S1='1' AND S0='1')THENQ<=D3;ELSEQ<='Z';END IF;END PROCESS;END RTL;4.波形仿真:S1和S0表示地址选择线,D3,D2,D1,D0表示输入数据线,Q表示输出数据线。
5.试验中遇到的问题及解决方法:实验较为简单,无问题。
组合逻辑电路之加法器设计1.实验目的:利用计算机组成原理中介绍的修正函数,编程实现一个任意位进位的1位BCD码加法器。
实验一QuartusⅡ文本输入法设计组合逻辑电路

(1)实验目的:熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合逻辑电路的设计、仿真和硬件测试。
(2)实验内容:Ⅰ.利用QuartusⅡ完成2选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 ;Ⅱ.对实验内容Ⅰ的电路进行引脚锁定及硬件下载测试。
建议选择实验电路模式5(参考附图2-7),用键1(PIO0,引脚号为1)控制s; a和b分别接clk5(引脚号为16)和clk0(引脚号为93);输出信号y接扬声器spker(引脚号为129)。
在实验箱通过短路帽选择clock5接1024Hz信号,clock0接256Hz信号。
最后进行编译、下载和硬件测试实验(通过键1控制s,可使扬声器输出不同音调)。
(3)实验报告:1.实验Ⅰ的仿真波形报告分析说明。
2.实验Ⅱ硬件测试的详细实验说明。
(1)实验目的:熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序逻辑电路的设计、仿真和硬件测试。
(2)实验内容:Ⅰ.用VHDL设计一个带异步复位和同步时钟使能的D触发器,并利用Quartus Ⅱ进行编辑输入、编译、仿真及硬件测试。
建议使用实验电路模式5。
Ⅱ.用VHDL设计一个带异步清零的8位锁存器,并利用QuartusⅡ进行编辑输入、编译、仿真及硬件测试。
建议使用实验电路模式1,PIO7-PIO0接输入信号(键1、键2控制输入),PIO39-PIO32接输出信号,PIO48(键7)接清零信号,PIO49(键8)接锁存信号。
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为输出端的端口名。
EDA实验

一、实验部分实验一仪器的熟悉及半加器的设计一、实验内容:(1)熟悉实验台(2)用VHDL设计半加器及或门,并给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。
(3)根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。
实验二简单组合电路的设计一、实验目的:熟悉Max+plusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
二、实验内容1:利用MAX+plusⅡ完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,给出下图所示的仿真波形。
三、实验内容2:将多路选择器看成是一个元件mux21a,利用元件例化语句并将此文件放在同一目录。
以下是参考程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUXK ISPORT (a1,a2,a3,s0,s1 : IN STD_LOGIC;outy : OUT STD_LOGIC );END ENTITY MUXK;ARCHITECTURE BHV OF MUXK ISCOMPONENT MUX21APORT ( a,b,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 BHV ;对上例分别进行编译、综合、仿真。
并对其仿真波形作出分析说明,并画出电路结构,说明该电路的功能。
四、实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。
第3章2选1和4选1选择器VHDL设计

3.3 4选1多路选择器及其VHDL描述
例3-3 仿真结果
summary
❖信号signal; ❖逻辑运算符; ❖进程process语句;语句的分类; ❖条件if语句; ❖库和程序包; ❖标准逻辑位和矢量型数据; ❖并置&操作符; ❖注释--符号; ❖case语句;
思考
❖如何用VHDL设计二进制加法器?
ARCHITECTURE one OF mux21a2 IS SIGNAL d,e : BIT;
BEGIN d <= a AND s ; e <= b AND (NOT S) ; y <= d OR e ;
END ARCHITECTURE one ;
3.1 多路选择器的VHDL描述
3.1 多路选择器的VHDL描述
mux21a2
a
y
b
s
3.1 多路选择器的VHDL描述
相关语法
1.信号signal
信号是VHDL中常用三大数据对象之一,所谓数据对象 是指用来保存不同类型数据的对象。
注意:信号相当于一根带电导线,用于暂存数据。
2.逻辑运算符
运算符类型 逻辑运算符
运算符符号
AND
OR NOT NAND NOR XOR XNOR
PORT ( a, b, s: IN BIT; y: OUT BIT);
END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN
PROCESS (a,b,s) BEGIN IF (s = '1') THEN y <= a ; ELSE y <= b ; END IF;
【例3-3】
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUX41A IS PORT(a,b,c,d,s0,s1:IN STD_LOGIC;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验目的:
熟悉quartus的vhdl文本设计流程全过程,学习简单的组合电路的设计,多层次的电路设计,仿真和硬件测试
二、实验内容
内容(一)用vhdl语言设计2选1多路选择器
参考例3-1程序设计如下:
library ieee;
use mux21a is
port (a,b,s:in bit;
y: out bit);
end entity mux21a;
architecture one of mux21a is
begin
y<=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 mux21a is
port (a,b,s:in bit;
y: out bit);
end entity mux21a;
architecture one of mux21a is
begin
y<=a when s='0' else b;
end architecture one;
entity muxk is
port (a1,a2,a3,s0,s1:in bit;
outy:out bit);
end entity muxk;
architecture bhv of muxk is
component mux21a
port (a,b,s:in bit;
y:out bit);
end component;
signal tmp: bit;
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 bhv;
全程编译后软件提示0错误,2警告
程序分析:
这是一个双2选1多路选择器,a1、a2和a3分别为两个数字输入端的端口名,s0、s1为通道选择控制信号输入端的端口名,outy为输出端的端口名。
实体mux21a是一个2选一选通电路,实体muxk是元件的例化,其作用是将两个mux21a组合成一个3选1多路选择器。
时序仿真及分析:
时序仿真输入图
时序仿真输出图
时序分析:
从仿真出来的结果,我们不难发现,s0和s1做为a1、a2、a3的选通控制信号。
当s0=0.、s1=0时,outy输出a1;当s0=0.、s1=1时,outy输出a2;当s0=1.、s1=0时,outy输出a1;当s1=1.、s2=1时,outy输出a3;
下载和硬件测试:
引脚锁定图
程序下载完成后,选择实验电路模式5,通过短路帽选择clock0接256Hz
信号,clock2接8Hz信号,clock5接1024Hz。
通过键一、键二分别控制s1、s2,当键一、键二进行切换时,明显能听到扬声器发出三种不同音调率的声音。
实验结果:
在实验一中内容一和内容二编译,仿真都没问题,除了有两三个警告以外,并无其他错误,但是在下载过程中,由于设置编程器处出现一点问题,导致下载失败,经过请教,调整后成功运行
四、实验过程所出现的问题及其解决
首先,仿真结果出现延时,应该将a,b,s的周期增大些,且要保证单位为us,刚开始做实验内容(一)时,文件夹名字与程序中所用的实体名不一致,导致程序运行时无法找到文件夹,无法正常工作,经更改后,正常运行,同时文件夹名字不用汉字和数字,以免出错。
每次修改过程都应该注意保存,才能将修改的结果反映到所输出的波形中,刚开始常常忘记,经过多次操作后才能够熟练运用。
HDL程序设计
—组合逻辑电路设计
班级:08级通信工程二班
学号:
姓名:。