- added AC-97 controller
git-svn-id: http://moon:8086/svn/vhdl/trunk@132 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
@@ -37,7 +37,8 @@ END tb_mips_sys;
|
||||
|
||||
ARCHITECTURE behavior OF tb_mips_sys IS
|
||||
|
||||
constant CLK_PERIOD : time := 10 ns;
|
||||
constant CLK_PERIOD : time := 10 ns;
|
||||
constant AC97_CLK_PERIOD : time := 100 ns;
|
||||
signal sys_rst_n_in : std_logic := '0';
|
||||
signal sys_clk_in : std_logic := '1';
|
||||
signal dip : unsigned(7 downto 0) := (others => '0');
|
||||
@@ -83,7 +84,7 @@ ARCHITECTURE behavior OF tb_mips_sys IS
|
||||
signal sys_flash_ssram_oe_n : std_logic;
|
||||
|
||||
signal sys_flash_ce : std_logic;
|
||||
signal sys_flash_rstn : std_logic;
|
||||
signal sys_flash_ac97_rstn : std_logic;
|
||||
signal sys_flash_byten : std_logic;
|
||||
|
||||
signal sys_ssram_clk_fb : std_logic;
|
||||
@@ -96,6 +97,11 @@ ARCHITECTURE behavior OF tb_mips_sys IS
|
||||
signal sys_ssram_mode : std_logic;
|
||||
signal sys_ssram_zz : std_logic;
|
||||
|
||||
SIGNAL sys_ac97_bit_clk : std_logic := '0';
|
||||
SIGNAL sys_ac97_sdata_out : std_logic;
|
||||
SIGNAL sys_ac97_ssync : std_logic;
|
||||
SIGNAL sys_ac97_sdata_in : std_logic;
|
||||
|
||||
signal flash_reg : word_t;
|
||||
|
||||
type flash_data_t is array (natural range 0 to 2**16-1) of word_t;
|
||||
@@ -152,7 +158,7 @@ uut: entity work.mips_sys
|
||||
sys_flash_ssram_we_n => sys_flash_ssram_we_n,
|
||||
sys_flash_ssram_oe_n => sys_flash_ssram_oe_n,
|
||||
sys_flash_ce => sys_flash_ce,
|
||||
sys_flash_rstn => sys_flash_rstn,
|
||||
sys_flash_ac97_rstn => sys_flash_ac97_rstn,
|
||||
sys_flash_byten => sys_flash_byten,
|
||||
|
||||
sys_ssram_clk_fb => sys_ssram_clk_fb,
|
||||
@@ -165,6 +171,11 @@ uut: entity work.mips_sys
|
||||
sys_ssram_mode => sys_ssram_mode,
|
||||
sys_ssram_zz => sys_ssram_zz,
|
||||
|
||||
sys_ac97_bit_clk => sys_ac97_bit_clk,
|
||||
sys_ac97_sdata_out => sys_ac97_sdata_out,
|
||||
sys_ac97_ssync => sys_ac97_ssync,
|
||||
sys_ac97_sdata_in => sys_ac97_sdata_in,
|
||||
|
||||
sys_error => sys_error
|
||||
);
|
||||
|
||||
@@ -237,9 +248,22 @@ CLK_GEN: process
|
||||
sys_clk_in <= not sys_clk_in;
|
||||
end process;
|
||||
|
||||
sys_ac97_sdata_in <= '1'; --sys_ac97_sdata_out;
|
||||
|
||||
ac97_clk_gen : PROCESS
|
||||
begin
|
||||
if (sys_flash_ac97_rstn = '0') then
|
||||
sys_ac97_bit_clk <= '0';
|
||||
wait until sys_flash_ac97_rstn = '1';
|
||||
wait for 150 us;
|
||||
end if;
|
||||
wait for AC97_CLK_PERIOD/2;
|
||||
sys_ac97_bit_clk <= not sys_ac97_bit_clk;
|
||||
END PROCESS;
|
||||
|
||||
FLASH_READ: process(sys_rst_n_in, sys_flash_ce, sys_flash_ssram_oe_n, sys_flash_ssram_a)
|
||||
type file_t is file of integer;
|
||||
file load_flash : file_t open read_mode is "test_bui.flash.bin";
|
||||
file load_flash : file_t open read_mode is "test_ac97.flash.bin";
|
||||
variable instr : integer;
|
||||
variable index : natural;
|
||||
variable temp : signed(31 downto 0);
|
||||
|
||||
Reference in New Issue
Block a user