tb_dmt_mod.vhd
上传用户:jin985143
上传日期:2020-09-30
资源大小:278k
文件大小:3k
源码类别:

Modem编程

开发平台:

VHDL

  1. -------------------------------------------------------------------------------
  2. -- Title      : Testbench for DMT modulator
  3. -- Project    : 
  4. -------------------------------------------------------------------------------
  5. -- File       : tb_dmt_mod.vhd
  6. -- Author     : 
  7. -- Company    : 
  8. -- Created    : 2004-05-17
  9. -- Last update: 2004-05-17
  10. -- Platform   : 
  11. -------------------------------------------------------------------------------
  12. -- Description: 
  13. -------------------------------------------------------------------------------
  14. -- Copyright (c) 2004 
  15. -------------------------------------------------------------------------------
  16. -- Revisions  : $Id: tb_dmt_mod.vhd,v 1.1.1.1 2004-05-17 19:58:40 dannori Exp $
  17. -- Date        Version  Author  Description
  18. -- 2004-05-17  1.0      guenter Created
  19. -------------------------------------------------------------------------------
  20. library ieee;
  21. use ieee.std_logic_1164.all;
  22. use ieee.std_logic_arith.all;
  23. entity tb_dmt_mod is
  24.   
  25.   generic (Tpw_clk : time := 5 ns);
  26. end tb_dmt_mod;
  27. architecture arch of tb_dmt_mod is
  28.   component dmt_mod
  29.     port (
  30.       clk_i        : in  std_logic;
  31.       rst_i        : in  std_logic;
  32.       data_en_i    : in  std_logic;
  33.       data_i       : in  std_logic_vector(14 downto 0);
  34.       conf_we_i    : in  std_logic;
  35.       bin_addr_i   : in  std_logic_vector(7 downto 0);
  36.       const_size_i : in  std_logic_vector(3 downto 0);
  37.       gain_i       : in  std_logic_vector(11 downto 0);
  38.       data_o       : out std_logic_vector(15 downto 0));
  39.   end component;
  40.   -- Stimulus signals for DUT
  41.   signal sig_clk_i        : std_logic;
  42.   signal sig_rst_i        : std_logic;
  43.   signal sig_data_en_i    : std_logic;
  44.   signal sig_data_i       : std_logic_vector(14 downto 0);
  45.   signal sig_conf_we_i    : std_logic;
  46.   signal sig_bin_addr_i   : std_logic_vector(7 downto 0);
  47.   signal sig_const_size_i : std_logic_vector(3 downto 0);
  48.   signal sig_gain_i       : std_logic_vector(11 downto 0);
  49.   signal sig_data_o       : std_logic_vector(15 downto 0);
  50.   
  51. begin  -- arch
  52.   DUT : dmt_mod
  53.     port map(
  54.       clk_i        => sig_clk_i,
  55.       rst_i        => sig_rst_i,
  56.       data_en_i    => sig_data_en_i,
  57.       data_i       => sig_data_i,
  58.       conf_we_i    => sig_conf_we_i,
  59.       bin_addr_i   => sig_bin_addr_i,
  60.       const_size_i => sig_const_size_i,
  61.       gain_i       => sig_gain_i,
  62.       data_o       => sig_data_o);
  63.   -----------------------------------------------------------------------------
  64.     -- clock generator
  65.     clock_gen : process(sig_clk_i) is
  66.     begin
  67.       if sig_clk_i = '0' then
  68.         sig_clk_i <= '1' after Tpw_clk, '0' after 2 * Tpw_clk;
  69.       end if;
  70.     end process clock_gen;
  71.   -- purpose: ends the simulation after a specified number of clock cycles
  72.   sim_timing : process
  73.   begin  -- process sim_timing
  74.     for count in 0 to 10 loop
  75.       wait until sig_clk_i'event and sig_clk_i = '1';
  76.     end loop;  -- count
  77.     assert sig_clk_i /= '1' report "n---> Finished simulation!" severity failure;
  78.   end process sim_timing;
  79. end arch;