00001 --! @file
00002 --! @brief dynadisp_test
00003
00004 --! @class dynadisp_test
00005 --! @brief 7セグメントLEDダイナミック表示テスト回路
00006 --! @author marsee
00007 --! @version 1.0
00008 --! @date 2008/03/04
00009
00010 --! Use standard library
00011 LIBRARY IEEE;
00012 --! std_logic_1164を使用
00013 USE IEEE.std_logic_1164.all;
00014 --! STD_LOGIC_ARITHを使用
00015 use IEEE.STD_LOGIC_ARITH.ALL;
00016 --! STD_LOGIC_UNSIGNEDを使用
00017 use IEEE.STD_LOGIC_UNSIGNED.ALL;
00018
00019 -- Uncomment the following lines to use the declarations that are
00020 -- provided for instantiating Xilinx primitive components.
00021 --library UNISIM;
00022 --use UNISIM.VComponents.all;
00023
00024 --! dynadisp_testのentity
00025 entity dynadisp_test is
00026 Port (
00027 clk : in ; --! マスタクロック
00028 btn : in (3 downto 0); --! ボタンスイッチ
00029 sw : in (7 downto 0); --! スライドスイッチ
00030 A_n : out ; --! 7セグLED エレメントA
00031 B_n : out ; --! 7セグLED エレメントB
00032 C_n : out ; --! 7セグLED エレメントC
00033 D_n : out ; --! 7セグLED エレメントD
00034 E_n : out ; --! 7セグLED エレメントE
00035 F_n : out ; --! 7セグLED エレメントF
00036 G_n : out ; --! 7セグLED エレメントG
00037 DP_n : out ; --! 7セグLED エレメントDP
00038 AN_n : out (3 downto 0) --! 7セグLED 表示イネーブル
00039 );
00040 end dynadisp_test;
00041
00042 --! @brief dynadisp_testのアーキテクチャの定義
00043 --! @details dynadisp_testのトップファイル
00044 architecture RTL of dynadisp_test is
00045 --! リセット信号
00046 signal reset : ;
00047 --! スイッチをラッチする
00048 signal swl : (4 downto 0);
00049 --! vcc 4bits
00050 signal vcc4 : (3 downto 0);
00051 --! 8
00052 signal eight : (3 downto 0);
00053 --! Ssegdisp
00054 --! @param clk [in] マスタクロック
00055 --! @param reset [in] リセット
00056 --! @param dot [in] 7セグメントLEDのドット入力
00057 COMPONENT ssegdisp
00058 PORT(
00059 clk : IN ;
00060 reset : IN ;
00061 dot : IN (3 downto 0);
00062 led_enable : IN (3 downto 0);
00063 binary3 : IN (3 downto 0);
00064 binary2 : IN (3 downto 0);
00065 binary1 : IN (3 downto 0);
00066 binary0 : IN (3 downto 0);
00067 sw : in (4 downto 0);
00068 A_n : OUT ;
00069 B_n : OUT ;
00070 C_n : OUT ;
00071 D_n : OUT ;
00072 E_n : OUT ;
00073 F_n : OUT ;
00074 G_n : OUT ;
00075 DP_n : OUT ;
00076 AN_n : OUT (3 downto 0)
00077 );
00078 END COMPONENT;
00079 begin
00080 reset <= btn(3);
00081 vcc4 <= "1111";
00082 eight <= x"8";
00083
00084 --! @details スイッチ入力をラッチする
00085 LATCHED_SW : process(reset, clk) begin
00086 if reset='1' then
00087 swl <= (others => '0');
00088 elsif clk'event and clk='1' then
00089 swl <= sw(4 downto 0);
00090 end if;
00091 end process LATCHED_SW;
00092
00093 --! @details Ssegdispのインスタンシエーション
00094 Inst_SsegDisp: SsegDisp PORT MAP(
00095 clk => clk ,
00096 reset => reset,
00097 dot => vcc4,
00098 led_enable => vcc4,
00099 binary3 => eight,
00100 binary2 => eight,
00101 binary1 => eight,
00102 binary0 => eight,
00103 sw => swl,
00104 A_n => A_n ,
00105 B_n => B_n ,
00106 C_n => C_n ,
00107 D_n => D_n ,
00108 E_n => E_n ,
00109 F_n => F_n ,
00110 G_n => G_n ,
00111 DP_n => DP_n ,
00112 AN_n => AN_n
00113 );
00114
00115
00116 end RTL;