- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 组合逻辑电路的 VHDL 设计
一、实验目的与要求
1、目的
熟悉VHDL 语言的基本结构
掌握用VHDL 语言实现组合逻辑功能器件的逻辑功能的一般方法。2、要求
调试程序要记录调试过程中出现的问题及解决办法;
给出每个问题的算法或画出流程图;
编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;
做完实验后给出本实验的实验报告。
二、实验设备、环境
PII 以上计算机,装有 QuartusII 软件
三、方法与步骤
(一)教师简单回顾所需知识并演示较一个简单功能的实现过程。
1、 简单回顾组合逻辑电路的特点及常用逻辑功能器件的功能
2、 回顾 QuartusII 的 VHDL 操作步骤
3、 以 4 选 1 数据选择器为例,重点演示该组合逻辑单元的 VHDL 设计过程。
(1)4 选 1 数据选择器的真值表与电路符号
MULTI_4V S[1..0]AB YC D
MULTI_4V S[1..0]
A
B Y
C D
地址输入
输出
S0
S1
0
0
A
0
1
B
1
0
C
1
1
D
A
B Y
C D
(2)4 选 1 数据选择器的参考
VHDL 程序LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS
PORT(S:IN STD_LOGIC_VECTOR (1 DOWNTO 0); A,B,C,D : IN STD_LOGIC;
Y:OUT STD_LOGIC
);
END mux41;
ARCHITECTURE a OF mux41 IS BEGIN
PROCESS (s,A,B,C,D) BEGIN
IF (S=00) THEN Y = A;
ELSIF (S=01) THEN Y = B;
ELSIF (S=10) THEN Y = C;
ELSIF (S=11) THEN Y = D;
END IF; END PROCESS;
END a;
四、实验过程、内容、数据处理及分析按照设计选题编写简单程序
1、 可供选择进行设计的组合逻辑电路如下,要求规定课时内至少完成 3 种逻辑电路的设计。
设计对象选择:基本门电路、8 选 1 数据选择器、3-8 译码器、BCD 码译码器、优先级编码器、全加器、4 位加法器。
(1) 8 选 1 数据选择器
library ieee;
use ieee.std_logic_1164.all; entity mux81 is
port (s: in std_logic_vector (2 downto 0); a,b,c,d,e,f,g,h : in std_logic;
y: out std_logic
);
end mux81;
architecture e of mux81 is begin
process(s,a,b,c,d,e,f,g,h) begin
if(s=000)then y=a;
elsif s=(001) then y=b;
elsif s=(010) then y=c;
elsif s=(011) then y=d;
elsif s=(100) then y=e;
elsif s=(101) then y=f;
elsif s=(110) then y=g;
elsif s=(111) then y=h;
end if;
end process; end e;
(2) 3-8
(2) 3-8 译码器
library ieee;
use ieee.std_logic_1164.all; entity mux38 is
port (s: in std_logic_vector (2 downto 0); y: out std_logic_vector(7 downto 0)
);
end mux38;
architecture e of mux38 is begin
process(s) begin if(s=000)then
y
elsif s=(001) then y
elsif s=(010) then y
elsif s=(011) then y
elsif s=(100) then y
elsif s=(101) then y
elsif s=(110) then y
elsif s=(111) then y
end if;
end process; end e;
(3)优先级编码器library ieee;
use ieee.std_logic_1164.al
文档评论(0)