- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本逻辑电路:
组合逻辑电路、时序逻辑电路
3.9.1 组合逻辑电路设计
简单门电路、编码器、译码器、
加法器、多路选择器、三态门等。;1、基本门电路;2、编码器
设计一个 8 输入优先级编码器,y0 级别最低,
y7 级别最高;输出为3位编码。;方法1:利用 if 多选择语句自顶向下的优先特性 ;方法2:进程内为顺序语句,最先描述优先级最低,最后描述优先级最高,可实现优先级编码。;方法3:利用条件赋值语句
architecture behavior of priority is
begin
vec = “111” when y7 = ‘1’ else
“110” when y6 = ‘1’ else
“101” when y5 = ‘1’ else
“100” when y4 = ‘1’ else
“011” when y3 = ‘1’ else
“010” when y2 = ‘1’ else
“001” when y1 = ‘1’ else
“000” when y0 = ‘1’ else
“XXX”;
end behavior;;3、译码器
译码器是编码器的逆过程。如 3-8 译码器:;方法1:使用逻辑左移运算符
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity decoder is
port(inp : in std_logic_vector(2 downto 0);
outp : out std_logic_vector(7 downto 0));
end decoder;
architecture rtl of decoder is
begin
outp= sll(conv_integer(inp));
end rtl;;方法2:使用process语句
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity decoder is
port(inp : in std_logic_vector(2 downto 0);
outp : out std_logic_vector(7 downto 0));
end decoder;
architecture rtl of decoder is
begin
process(inp)
begin
outp=(others=’0’);
outp(conv_integer(inp))=‘1’;
end process;
end rtl;;方法3:使用 case 语句实现。;译码输出低有效;方法4:使用条件赋值语句;3-8译码器仿真结果:;4、加法器
带进位的 4位加法器符号如下:;方法1:用for – loop语句实现 ;方法2:直接使用加法“+”函数:;加法器仿真结果:;5、多路选择器
前面用 if 语句、case 语句、条件赋值语句、
选择赋值语句分别描述过 4 选 1 选择器。
6、三态门及总线缓冲器
VHDL语言通过指定大写的 Z 值表示高阻状态
a : std_logic;
a_bus : std_logic_vector(7 downto 0);
指定高阻状态如下:
a = ‘Z’ ;
a_bus = “ZZZZZZZZ” ;;1)三态门电路描述;三态门仿真结果:;;; 3.9.2 时序逻辑电路设计
触发器、寄存器、计数器、分频器、
文档评论(0)