组合逻辑电路设计设计05第五章C-VHDL组合电路--设计实例.ppt
文本预览下载声明
(1)三态输出电路 (2)比较器 (3)数据选择器 (4)编码器 (5)译码器 一、常用组合逻辑电路设计 (5)译码器 A. 3-8译码器 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY decode_3to8 IS PORT( a,b,c,G1,G2A,G2B: IN STD_LOGIC; Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END decode_3to8; ARCHITECTURE rtl OF decode_3to8 IS SIGNAL indata: STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN indata=G1G2AG2Bcba; y=when indata=100000 else when indata=100001 else when indata=100010 else when indata=100011 else when indata=100100 else when indata=100101 else when indata=100110 else when indata=100111 else END rtl; 译码器 (2)译码器 B. 数码管译码器 A3 A2 A1 A0 a b c d e f g Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Entity bcd is Port( A : in std_logic_vector(3 downto 0); Seven : out std_logic_vector(6 downto 0) ); End bcd; Architecture a of bcd is Begin Seven= 0111111 when A=0000 else --0 0000110 when A=0001 else --1 1011011 when A=0010 else --2 1001111 when A=0011 else --3 1100110 when A=0100 else --4 1101101 when A=0101 else --5 1111101 when A=0110 else --6 0000111 when A=0111 else --7 1111111 when A=1000 else --8 1101111 when A=1001 else --9 0000000 ; End a; 例1:组合逻辑设计 四舍五入电路 输入8421BCD码,输出F。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity sswr is port(d:in std_logic_vector(3 downto 0); y:out std_logic); end sswr; architecture behave of sswr is begin y = 0 when 0=d and d5 else 1 when 5=d and d10 else Z; end behave; 例2:设计组合逻辑电路 设计一个1bit全加器。 输入 X,Y,CI 输出 Z,CO library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity full_bit_adder is port(a,b,c
显示全部