⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 decod.vhd

📁 simple thermometr in vhdl
💻 VHD
字号:
-- Progetto Elettronica 2 FPGA (2007) - Marco Mucchino & Giovanni Schiavon-- Decoder per circuito con 4 led a 7 segmentilibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity decod is    Port ( clock : in std_logic;	        reset : in std_logic;	        segno : in  std_logic;			  seq3 : in  STD_LOGIC_VECTOR (3 downto 0);			  seq2 : in  STD_LOGIC_VECTOR (3 downto 0);			  seq1 : in  STD_LOGIC_VECTOR (3 downto 0);			  seqdec : in  std_logic;	        led1 : out  STD_LOGIC_VECTOR (7 downto 0);           led2 : out  STD_LOGIC_VECTOR (7 downto 0);           led3 : out  STD_LOGIC_VECTOR (7 downto 0);           leddec : out  STD_LOGIC_VECTOR (7 downto 0));end decod;architecture Behavioral of decod isbeginprocess (clock,reset)begin  if ( clock'event and clock ='1') then    if ( reset = '1') then     led1 <= "11111111";	  led2 <= "11111111";	  led3 <= "11111111";	  leddec <= "11111111";    else      if (segno = '1') then  led1 <= "11110111";--meno		elsif (seq1 = "0001") then led1 <= "11101101";--1		else led1 <= "11111111";--spento		end if;					if (seq1 = "0000" ) and (seq2 = "0000") then led2 <= "11111111";--spento		else					case seq2 is						when "0000" => led2 <= "10001000";--0						when "0001" => led2 <= "11101101";--1						when "0010" => led2 <= "10100010";--2						when "0011" => led2 <= "10100100";--3						when "0100" => led2 <= "11000101";--4						when "0101" => led2 <= "10010100";--5						when "0110" => led2 <= "10010000";--6						when "0111" => led2 <= "10101101";--7						when "1000" => led2 <= "10000000";--8						when "1001" => led2 <= "10000100";--9						when others => led2 <= "11111111";--spento					end case;      end if;					case seq3 is            when "0000" => led3 <= "00001000";--0            when "0001" => led3 <= "01101101";--1            when "0010" => led3 <= "00100010";--2            when "0011" => led3 <= "00100100";--3            when "0100" => led3 <= "01000101";--4            when "0101" => led3 <= "00010100";--5            when "0110" => led3 <= "00010000";--6            when "0111" => led3 <= "00101101";--7		      when "1000" => led3 <= "00000000";--8		      when "1001" => led3 <= "00000100";--9            when others => led3 <= "11111111";--spento      end case;					case seqdec is            when '0' => leddec <= "10001000";--.0            when '1' => leddec <= "10010100";--.5            when others => leddec <= "11111111";--spento      end case;    end if;  end if;end process; end Behavioral;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -