Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --wyswietlacz
- library IEEE;
- use IEEE.STD_LOGIC_1164.ALL;
- entity wyswietlacz is
- port(
- CLK_i : in STD_LOGIC;
- RST_i : in STD_LOGIC;
- DGT_i : in STD_LOGIC_vector (31 downto 0);
- AN : out STD_LOGIC_vector (3 downto 0);
- SEG : out STD_LOGIC_vector (7 downto 0)
- );
- end wyswietlacz;
- architecture Behavioral of wyswietlacz is
- signal aktywny_AN: STD_LOGIC_VECTOR (3 downto 0); --:= "0000"; -- to przypisanie wartości początkowej powoduje 2 ostrzeżenia
- -- może nie są one jakoś szczególnie istotne albo groźne, ale pewnie lepiej
- begin -- jak ich nie ma, a przypisanie chyba nie jest konieczne
- process(CLK_i, RST_i, DGT_i, aktywny_AN)
- begin
- if(RST_i = '1') then
- AN <= "0000";
- SEG <= "00000000";
- elsif(rising_edge(CLK_i)) then
- case aktywny_AN is
- when "0000" => aktywny_AN <= "0111";
- when "0111" => aktywny_AN <= "1011";
- when "1011" => aktywny_AN <= "1101";
- when "1101" => aktywny_AN <= "1110";
- when "1110" => aktywny_AN <= "0111";
- when others => aktywny_AN <= "0111";
- end case;
- case aktywny_AN is
- when "0111" => SEG <= DGT_i(31 downto 24);
- when "1011" => SEG <= DGT_i(23 downto 16);
- when "1101" => SEG <= DGT_i(15 downto 8);
- when "1110" => SEG <= DGT_i(7 downto 0);
- when others => SEG <= "00000000";
- end case;
- end if;
- AN <= aktywny_AN;
- end process;
- end Behavioral;
Advertisement
Add Comment
Please, Sign In to add comment