diff options
| author | Martin Braun <martin.braun@ettus.com> | 2014-10-07 11:25:20 +0200 | 
|---|---|---|
| committer | Martin Braun <martin.braun@ettus.com> | 2014-10-07 11:25:20 +0200 | 
| commit | fd3e84941de463fa1a7ebab0a69515b4bf2614cd (patch) | |
| tree | 3fa721a13d41d2c0451d663a59a220a38fd5e614 /fpga/usrp2/opencores/spi_boot/bench | |
| parent | 3b66804e41891e358c790b453a7a59ec7462dba4 (diff) | |
| download | uhd-fd3e84941de463fa1a7ebab0a69515b4bf2614cd.tar.gz uhd-fd3e84941de463fa1a7ebab0a69515b4bf2614cd.tar.bz2 uhd-fd3e84941de463fa1a7ebab0a69515b4bf2614cd.zip  | |
Removed copy of FPGA source files.
Diffstat (limited to 'fpga/usrp2/opencores/spi_boot/bench')
12 files changed, 0 insertions, 1539 deletions
diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/card-c.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/card-c.vhd deleted file mode 100644 index 797eb1c90..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/card-c.vhd +++ /dev/null @@ -1,14 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- --- $Id: card-c.vhd,v 1.1 2005/02/08 21:09:18 arniml Exp $ --- -------------------------------------------------------------------------------- - -configuration card_behav_c0 of card is - -  for behav -  end for; - -end card_behav_c0; diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/card.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/card.vhd deleted file mode 100644 index dcd676095..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/card.vhd +++ /dev/null @@ -1,446 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- Simple SD and MMC model --- --- $Id: card.vhd,v 1.2 2005/02/13 17:06:22 arniml Exp $ --- --- Copyright (c) 2005, Arnim Laeuger (arniml@opencores.org) --- --- All rights reserved, see COPYING. --- --- Redistribution and use in source and synthezised forms, with or without --- modification, are permitted provided that the following conditions are met: --- --- Redistributions of source code must retain the above copyright notice, --- this list of conditions and the following disclaimer. --- --- Redistributions in synthesized form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in the --- documentation and/or other materials provided with the distribution. --- --- Neither the name of the author nor the names of other contributors may --- be used to endorse or promote products derived from this software without --- specific prior written permission. --- --- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" --- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, --- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR --- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE --- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR --- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF --- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS --- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN --- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) --- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --- POSSIBILITY OF SUCH DAMAGE. --- --- Please report bugs to the author, but before you do so, please --- make sure that this is not a derivative work and that --- you have the latest version of this file. --- --- The latest version of this file can be found at: ---      http://www.opencores.org/projects.cgi/web/spi_boot/overview --- -------------------------------------------------------------------------------- - -library ieee; -use ieee.std_logic_1164.all; - - -entity card is - -  generic ( -    card_type_g  : string := "none"; -    is_sd_card_g : integer := 1 -  ); - -  port ( -    spi_clk_i  : in  std_logic; -    spi_cs_n_i : in  std_logic; -    spi_data_i : in  std_logic; -    spi_data_o : out std_logic -  ); - -end card; - - -library ieee; -use ieee.numeric_std.all; -library std; -use std.textio.all; - -use work.tb_pack.all; - -architecture behav of card is - -  signal power_on_n_s : std_logic; -  signal soft_res_n_s : std_logic; -  signal res_n_s      : std_logic; - -  signal rx_s : std_logic_vector(47 downto 0); - -  signal set_spi_mode_s, -         spi_mode_q       : boolean; -  signal set_idle_mode_s, -         poll_idle_mode_s : boolean; -  signal idle_mode_q      : natural; - -  signal block_len_q, -         block_len_s     : unsigned(31 downto 0); -  signal set_block_len_s : boolean; - -  signal new_read_addr_s, -         read_addr_q     : unsigned(31 downto 0); -  signal set_read_addr_s, -         inc_read_addr_s : boolean; - -  signal cmd_spi_data_s, -         read_spi_data_s : std_logic; -  signal start_read_s    : boolean; -  signal reading_s       : boolean; - -  procedure rise_clk is -  begin -    wait until spi_clk_i'event and to_X01(spi_clk_i) = '1'; -  end rise_clk; - ---  procedure rise_clk(num : natural) is ---  begin ---    for i in 1 to num loop ---      rise_clk; ---    end loop; ---  end rise_clk; - -  procedure fall_clk is -  begin -    wait until spi_clk_i'event and to_X01(spi_clk_i) = '0'; -  end fall_clk; - -  procedure fall_clk(num : natural) is -  begin -    for i in 1 to num loop -      fall_clk; -    end loop; -  end fall_clk; - -begin - -  res_n_s <= power_on_n_s and soft_res_n_s; - -  ----------------------------------------------------------------------------- -  -- Power on reset -  ----------------------------------------------------------------------------- -  por: process -  begin -    power_on_n_s <= '0'; -    wait for 200 ns; -    power_on_n_s <= '1'; -    wait; -  end process por; - - -  ----------------------------------------------------------------------------- -  -- -  ctrl: process - -    function check_crc(payload : in std_logic_vector(47 downto 0)) -      return boolean is - -    begin - -      return calc_crc(payload(47 downto 8)) = payload(7 downto 1); -    end check_crc; - -    variable rx_v        : std_logic_vector(47 downto 0); -    variable cmd_v       : std_logic_vector( 5 downto 0); -    variable arg_v       : std_logic_vector(31 downto 0); -    variable crc_v       : std_logic_vector( 6 downto 0); -    variable wrong_v     : std_logic; -    variable read_data_v : boolean; - -  begin -    rx_s <= (others => '0'); -    set_spi_mode_s   <= false; -    set_idle_mode_s  <= false; -    poll_idle_mode_s <= false; -    cmd_spi_data_s   <= '1'; -    soft_res_n_s     <= '1'; -    set_block_len_s  <= false; -    block_len_s      <= (others => '0'); -    new_read_addr_s  <= (others => '0'); -    set_read_addr_s  <= false; -    start_read_s     <= false; -    read_data_v      := false; - -    loop - -      rise_clk; -      -- wait for startbit of command -      while to_X01(spi_data_i) = '1' loop -        rise_clk; -      end loop; -      rx_v(47) := '0'; - -      -- read remaining 47 bits of command -      for i in 46 downto 0 loop -        rise_clk; -        rx_v(i) := to_X01(spi_data_i); -      end loop; -      rx_s <= rx_v; - -      -- dissect received data -      cmd_v := rx_v(45 downto 40); -      arg_v := rx_v(39 downto  8); -      crc_v := rx_v( 7 downto  1); - -      assert spi_mode_q or check_crc(payload => rx_v) -        report "CRC mismatch" -        severity error; - -      wrong_v     := '0'; -      case cmd_v is -        -- CMD0: GO_IDLE_STATE ------------------------------------------------ -        when "000000" => -          set_spi_mode_s  <= true; -          set_idle_mode_s <= true; -        -- CMD1: SEND_OP_COND ------------------------------------------------- -        when "000001" => -          poll_idle_mode_s <= true; -        -- CMD12: STOP_TRANSMISSION ------------------------------------------- -        when "001100" => -          start_read_s <= false; -          read_data_v  := false; -        -- CMD16: SET_BLOCKLEN ------------------------------------------------ -        when "010000" => -          block_len_s     <= unsigned(arg_v); -          set_block_len_s <= true; -        -- CMD18: READ_MULTIPLE_BLOCK ----------------------------------------- -        when "010010" => -          new_read_addr_s <= unsigned(arg_v); -          set_read_addr_s <= true; -          read_data_v     := true; -        -- CMD55: APPL_CMD ---------------------------------------------------- -        when "110111" => -          -- command only available for SD card -          if is_sd_card_g /= 1 then -            wrong_v := '1'; -          end if; -        -- ACMD41: SEND_OP_COND ----------------------------------------------- -        when "101001" => -          -- command only available for SD card -          if is_sd_card_g /= 1 then -            wrong_v := '1'; -          else -            poll_idle_mode_s <= true; -          end if; - -        when others => -          wrong_v := '1'; -          null; -      end case; - - -      -- spend some time before removing control signals -      fall_clk(2); -      poll_idle_mode_s <= false; -      set_idle_mode_s <= false; -      fall_clk(6); -      set_spi_mode_s  <= false; -      set_block_len_s <= false; -      set_read_addr_s <= false; - -      if reading_s then -        wait until not reading_s; -      end if; - - -      -- wait for a total two "bytes" before sending out response -      for i in 1 to 8 loop -        fall_clk; -      end loop; - -      for i in 7 downto 0 loop -        fall_clk; -        case i is -          when 2 => -            cmd_spi_data_s <= wrong_v; -          when 0 => -            if idle_mode_q = 0 then -              cmd_spi_data_s <= '0'; -            else -              cmd_spi_data_s <= '1'; -            end if; -          when others => -            cmd_spi_data_s <= '0'; -        end case; -      end loop; -      fall_clk; -      cmd_spi_data_s <= '1'; - -      -- transmit data if requested -      start_read_s <= read_data_v; - -    end loop; -  end process ctrl; -  -- -  ----------------------------------------------------------------------------- - - -  ----------------------------------------------------------------------------- -  -- -  seq: process (res_n_s, -                spi_clk_i, -                set_spi_mode_s, -                set_idle_mode_s, -                poll_idle_mode_s, -                set_block_len_s, -                block_len_s) - -  begin -    if res_n_s = '0' then -      spi_mode_q  <= false; -      idle_mode_q <= 5; -      block_len_q <= (others => '0'); -      read_addr_q <= (others => '0'); - -    elsif spi_clk_i'event and spi_clk_i = '1' then -      if set_spi_mode_s then -        spi_mode_q  <= true; -      end if; - -      if set_idle_mode_s then -        idle_mode_q  <= 5; -      elsif poll_idle_mode_s then -        if idle_mode_q > 0 then -          idle_mode_q <= idle_mode_q - 1; -        end if; -      end if; - -      if set_block_len_s then -        block_len_q <= block_len_s; -      end if; - -      if set_read_addr_s then -        read_addr_q <= new_read_addr_s; -      elsif inc_read_addr_s then -        read_addr_q <= read_addr_q + 1; -      end if; - -    end if; -  end process seq; -  -- -  ----------------------------------------------------------------------------- - - -  ----------------------------------------------------------------------------- -  -- -  read_block: process - -    variable t_v : unsigned(7 downto 0); - -  begin -    -- default assignments -    inc_read_addr_s <= false; -    reading_s       <= false; -    read_spi_data_s <= '1'; - -    loop -      if not start_read_s then -        wait until start_read_s; -      end if; - -      reading_s <= true; - -      fall_clk(8);                    -- delay for one "byte" - -      -- send data token -      fall_clk(7);                    -- 7 ones in a data token -      read_spi_data_s <= '0'; - -      -- send payload -      payload: for i in 0 to to_integer(block_len_q)-1 loop -        t_v := read_addr_q(0) & calc_crc(read_addr_q); -        for bit in 7 downto 0 loop -          fall_clk; -          read_spi_data_s <= t_v(bit); - -          exit payload when not start_read_s; -        end loop; -        inc_read_addr_s <= true; -        rise_clk; -        inc_read_addr_s <= false; -        wait for 10 ns; -      end loop; - -      if start_read_s then -        -- send crc -        for i in 0 to 15 loop -          fall_clk; -          t_v := to_unsigned(i, 8); -          read_spi_data_s <= t_v(0); -        end loop; -        fall_clk; -      end if; - -      read_spi_data_s <= '1'; -      reading_s <= false; -      -- loop for one "byte" -      fall_clk(8); - -    end loop; -  end process read_block; -  -- -  ----------------------------------------------------------------------------- - - -  ----------------------------------------------------------------------------- -  -- -  clk_check: process (spi_clk_i) - -    variable last_rising_v : time := 0 ns; -    variable dump_line     : line; - -  begin -    if spi_clk_i'event and spi_clk_i = '1' then -      if is_sd_card_g = 0 and card_type_g /= "Minimal Chip" and -         idle_mode_q > 0 then -        if now - last_rising_v < 2.5 us and last_rising_v > 0 ns then -          write(dump_line, card_type_g); -          write(dump_line, string'(" @ ")); -          write(dump_line, now); -          write(dump_line, string'(": Last rising edge of SPI clock ")); -          write(dump_line, now - last_rising_v); -          write(dump_line, string'(" ago.")); -          writeline(output, dump_line); -        end if; - -        last_rising_v := now; -      end if; -    end if; -  end process clk_check; -  -- -  ----------------------------------------------------------------------------- - - -  ----------------------------------------------------------------------------- -  -- Output Mapping -  ----------------------------------------------------------------------------- -  spi_data_o <=   cmd_spi_data_s and read_spi_data_s -                when spi_cs_n_i = '0' else -                  'Z'; - -end behav; - - -------------------------------------------------------------------------------- --- File History: --- --- $Log: card.vhd,v $ --- Revision 1.2  2005/02/13 17:06:22  arniml --- handle termination properly --- --- Revision 1.1  2005/02/08 21:09:20  arniml --- initial check-in --- -------------------------------------------------------------------------------- diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb-c.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb-c.vhd deleted file mode 100644 index caa171362..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb-c.vhd +++ /dev/null @@ -1,31 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- --- $Id: tb-c.vhd,v 1.1 2005/02/08 21:09:20 arniml Exp $ --- -------------------------------------------------------------------------------- - -configuration tb_behav_c0 of tb is - -  for behav - -    for tb_elem_full_b : tb_elem -      use configuration work.tb_elem_behav_full; -    end for; - -    for tb_elem_mmc_b : tb_elem -      use configuration work.tb_elem_behav_mmc; -    end for; - -    for tb_elem_sd_b : tb_elem -      use configuration work.tb_elem_behav_sd; -    end for; - -    for tb_elem_minimal_b : tb_elem -      use configuration work.tb_elem_behav_minimal; -    end for; - -  end for; - -end tb_behav_c0; diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb.vhd deleted file mode 100644 index b359fa7c5..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb.vhd +++ /dev/null @@ -1,201 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- Testbench --- --- $Id: tb.vhd,v 1.1 2005/02/08 21:09:20 arniml Exp $ --- --- Copyright (c) 2005, Arnim Laeuger (arniml@opencores.org) --- --- All rights reserved, see COPYING. --- --- Redistribution and use in source and synthezised forms, with or without --- modification, are permitted provided that the following conditions are met: --- --- Redistributions of source code must retain the above copyright notice, --- this list of conditions and the following disclaimer. --- --- Redistributions in synthesized form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in the --- documentation and/or other materials provided with the distribution. --- --- Neither the name of the author nor the names of other contributors may --- be used to endorse or promote products derived from this software without --- specific prior written permission. --- --- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" --- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, --- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR --- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE --- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR --- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF --- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS --- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN --- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) --- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --- POSSIBILITY OF SUCH DAMAGE. --- --- Please report bugs to the author, but before you do so, please --- make sure that this is not a derivative work and that --- you have the latest version of this file. --- --- The latest version of this file can be found at: ---      http://www.opencores.org/projects.cgi/web/spi_boot/overview --- -------------------------------------------------------------------------------- - -entity tb is - -end tb; - - -library ieee; -use ieee.std_logic_1164.all; - -architecture behav of tb is - -  component tb_elem -    generic ( -      chip_type_g   : string := "none"; -      has_sd_card_g : integer := 1 -    ); -    port ( -      clk_i   : in  std_logic; -      reset_i : in  std_logic; -      eos_o   : out boolean -    ); -  end component; - -  constant period_c      : time := 100 ns; -  constant reset_level_c : integer := 0; - -  signal clk_s   : std_logic; -  signal reset_s : std_logic; - -  signal eos_full_s, -         eos_mmc_s, -         eos_sd_s, -         eos_minimal_s : boolean; - -begin - - -  ----------------------------------------------------------------------------- -  -- Testbench element including full featured chip -  ----------------------------------------------------------------------------- -  tb_elem_full_b : tb_elem -    generic map ( -      chip_type_g   => "Full Chip", -      has_sd_card_g => 1 -    ) -    port map ( -      clk_i   => clk_s, -      reset_i => reset_s, -      eos_o   => eos_full_s -    ); - - -  ----------------------------------------------------------------------------- -  -- Testbench element including MMC chip -  ----------------------------------------------------------------------------- -  tb_elem_mmc_b : tb_elem -    generic map ( -      chip_type_g   => "MMC Chip", -      has_sd_card_g => 0 -    ) -    port map ( -      clk_i   => clk_s, -      reset_i => reset_s, -      eos_o   => eos_mmc_s -    ); - - -  ----------------------------------------------------------------------------- -  -- Testbench element including SD chip -  ----------------------------------------------------------------------------- -  tb_elem_sd_b : tb_elem -    generic map ( -      chip_type_g   => "SD Chip", -      has_sd_card_g => 1 -    ) -    port map ( -      clk_i   => clk_s, -      reset_i => reset_s, -      eos_o   => eos_sd_s -    ); - - -  ----------------------------------------------------------------------------- -  -- Testbench element including cip with minimal features -  ----------------------------------------------------------------------------- -  tb_elem_minimal_b : tb_elem -    generic map ( -      chip_type_g   => "Minimal Chip", -      has_sd_card_g => 0 -    ) -    port map ( -      clk_i   => clk_s, -      reset_i => reset_s, -      eos_o   => eos_minimal_s -    ); - - -  ----------------------------------------------------------------------------- -  -- Clock Generator -  ----------------------------------------------------------------------------- -  clk: process -  begin -    clk_s <= '0'; -    wait for period_c / 2; -    clk_s <= '1'; -    wait for period_c / 2; -  end process clk; - - -  ----------------------------------------------------------------------------- -  -- Reset Generator -  ----------------------------------------------------------------------------- -  reset: process -  begin -    if reset_level_c = 0 then -      reset_s <= '0'; -    else -      reset_s <= '1'; -    end if; - -    wait for period_c * 4 + 10 ns; - -    reset_s <= not reset_s; - -    wait; -  end process reset; - - -  ----------------------------------------------------------------------------- -  -- End Of Simulation Detection -  ----------------------------------------------------------------------------- -  eos: process (eos_full_s, -                eos_mmc_s, -                eos_sd_s, -                eos_minimal_s) -  begin - -    if eos_full_s and eos_mmc_s and eos_sd_s and eos_minimal_s then -      assert false -        report "End of Simulation." -        severity failure; -    end if; - -  end process eos; - -end behav; - - -------------------------------------------------------------------------------- --- File History: --- --- $Log: tb.vhd,v $ --- Revision 1.1  2005/02/08 21:09:20  arniml --- initial check-in --- -------------------------------------------------------------------------------- diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-full-c.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-full-c.vhd deleted file mode 100644 index 3c0fb902f..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-full-c.vhd +++ /dev/null @@ -1,23 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- --- $Id: tb_elem-full-c.vhd,v 1.1 2005/02/08 21:09:20 arniml Exp $ --- -------------------------------------------------------------------------------- - -configuration tb_elem_behav_full of tb_elem is - -  for behav - -    for dut_b : chip -      use configuration work.chip_full_c0; -    end for; - -    for card_b : card -      use configuration work.card_behav_c0; -    end for; - -  end for; - -end tb_elem_behav_full; diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-minimal-c.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-minimal-c.vhd deleted file mode 100644 index 1c33ac3d0..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-minimal-c.vhd +++ /dev/null @@ -1,23 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- --- $Id: tb_elem-minimal-c.vhd,v 1.1 2005/02/08 21:09:20 arniml Exp $ --- -------------------------------------------------------------------------------- - -configuration tb_elem_behav_minimal of tb_elem is - -  for behav - -    for dut_b : chip -      use configuration work.chip_minimal_c0; -    end for; - -    for card_b : card -      use configuration work.card_behav_c0; -    end for; - -  end for; - -end tb_elem_behav_minimal; diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-mmc-c.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-mmc-c.vhd deleted file mode 100644 index b5baf604e..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-mmc-c.vhd +++ /dev/null @@ -1,23 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- --- $Id: tb_elem-mmc-c.vhd,v 1.1 2005/02/08 21:09:20 arniml Exp $ --- -------------------------------------------------------------------------------- - -configuration tb_elem_behav_mmc of tb_elem is - -  for behav - -    for dut_b : chip -      use configuration work.chip_mmc_c0; -    end for; - -    for card_b : card -      use configuration work.card_behav_c0; -    end for; - -  end for; - -end tb_elem_behav_mmc; diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-sd-c.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-sd-c.vhd deleted file mode 100644 index 9cdf3eaa1..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem-sd-c.vhd +++ /dev/null @@ -1,23 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- --- $Id: tb_elem-sd-c.vhd,v 1.1 2005/02/08 21:09:20 arniml Exp $ --- -------------------------------------------------------------------------------- - -configuration tb_elem_behav_sd of tb_elem is - -  for behav - -    for dut_b : chip -      use configuration work.chip_sd_c0; -    end for; - -    for card_b : card -      use configuration work.card_behav_c0; -    end for; - -  end for; - -end tb_elem_behav_sd; diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem.vhd deleted file mode 100644 index 689cec037..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_elem.vhd +++ /dev/null @@ -1,376 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- Generic testbench element for a specific feature set --- --- $Id: tb_elem.vhd,v 1.7 2005/04/07 20:43:36 arniml Exp $ --- --- Copyright (c) 2005, Arnim Laeuger (arniml@opencores.org) --- --- All rights reserved, see COPYING. --- --- Redistribution and use in source and synthezised forms, with or without --- modification, are permitted provided that the following conditions are met: --- --- Redistributions of source code must retain the above copyright notice, --- this list of conditions and the following disclaimer. --- --- Redistributions in synthesized form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in the --- documentation and/or other materials provided with the distribution. --- --- Neither the name of the author nor the names of other contributors may --- be used to endorse or promote products derived from this software without --- specific prior written permission. --- --- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" --- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, --- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR --- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE --- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR --- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF --- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS --- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN --- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) --- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --- POSSIBILITY OF SUCH DAMAGE. --- --- Please report bugs to the author, but before you do so, please --- make sure that this is not a derivative work and that --- you have the latest version of this file. --- --- The latest version of this file can be found at: ---      http://www.opencores.org/projects.cgi/web/spi_boot/overview --- -------------------------------------------------------------------------------- - -library ieee; -use ieee.std_logic_1164.all; - - -entity tb_elem is - -  generic ( -    chip_type_g   : string := "none"; -    has_sd_card_g : integer := 1 -  ); -  port ( -    clk_i   : in  std_logic; -    reset_i : in  std_logic; -    eos_o   : out boolean -  ); - -end tb_elem; - - -library ieee; -use ieee.numeric_std.all; -library std; -use std.textio.all; - -use work.spi_boot_pack.all; -use work.tb_pack.all; - -architecture behav of tb_elem is - -  component chip -    port ( -      clk_i          : in  std_logic; -      reset_i        : in  std_logic; -      set_sel_n_i    : in  std_logic_vector(3 downto 0); -      spi_clk_o      : out std_logic; -      spi_cs_n_o     : out std_logic; -      spi_data_in_i  : in  std_logic; -      spi_data_out_o : out std_logic; -      start_i        : in  std_logic; -      mode_i         : in  std_logic; -      config_n_o     : out std_logic; -      detached_o     : out std_logic; -      cfg_init_n_i   : in  std_logic; -      cfg_done_i     : in  std_logic; -      dat_done_i     : in  std_logic; -      cfg_clk_o      : out std_logic; -      cfg_dat_o      : out std_logic -    ); -  end component; - -  component card -    generic ( -      card_type_g  : string := "none"; -      is_sd_card_g : integer := 1 -    ); -    port ( -      spi_clk_i  : in  std_logic; -      spi_cs_n_i : in  std_logic; -      spi_data_i : in  std_logic; -      spi_data_o : out std_logic -    ); -  end component; - -  signal reset_s : std_logic; - -  -- SPI interface signals -  signal spi_clk_s            : std_logic; -  signal spi_data_to_card_s   : std_logic; -  signal spi_data_from_card_s : std_logic; -  signal spi_cs_n_s           : std_logic; - -  -- config related signals -  signal start_s      : std_logic; -  signal mode_s       : std_logic; -  signal config_n_s   : std_logic; -  signal cfg_init_n_s : std_logic; -  signal cfg_done_s   : std_logic; -  signal dat_done_s   : std_logic; -  signal cfg_clk_s    : std_logic; -  signal cfg_dat_s    : std_logic; -  signal data_s       : unsigned(7 downto 0); - -  signal set_sel_n_s : std_logic_vector(3 downto 0); - -  constant verbose_c : boolean := false; - -begin - -  -- weak pull-ups -  spi_clk_s          <= 'H'; -  spi_cs_n_s         <= 'H'; -  spi_data_to_card_s <= 'H'; - -  ----------------------------------------------------------------------------- -  -- DUT -  ----------------------------------------------------------------------------- -  dut_b : chip -    port map ( -      clk_i          => clk_i, -      reset_i        => reset_s, -      set_sel_n_i    => set_sel_n_s, -      spi_clk_o      => spi_clk_s, -      spi_cs_n_o     => spi_cs_n_s, -      spi_data_in_i  => spi_data_from_card_s, -      spi_data_out_o => spi_data_to_card_s, -      start_i        => start_s, -      mode_i         => mode_s, -      config_n_o     => config_n_s, -      detached_o     => open, -      cfg_init_n_i   => cfg_init_n_s, -      cfg_done_i     => cfg_done_s, -      dat_done_i     => dat_done_s, -      cfg_clk_o      => cfg_clk_s, -      cfg_dat_o      => cfg_dat_s -    ); - -  card_b : card -    generic map ( -      card_type_g  => chip_type_g, -      is_sd_card_g => has_sd_card_g -    ) -    port map ( -      spi_clk_i  => spi_clk_s, -      spi_cs_n_i => spi_cs_n_s, -      spi_data_i => spi_data_to_card_s, -      spi_data_o => spi_data_from_card_s -    ); - - -  ----------------------------------------------------------------------------- -  -- DUT Stimuli -  -- -  stim: process - -    procedure rise_cfg_clk(num : integer) is -    begin -      for i in 1 to num loop -        wait until cfg_clk_s'event and cfg_clk_s = '1'; -      end loop; -    end rise_cfg_clk; - ---     procedure fall_cfg_clk(num : integer) is ---     begin ---       for i in 1 to num loop ---         wait until cfg_clk_s'event and cfg_clk_s = '0'; ---       end loop; ---     end fall_cfg_clk; - -    procedure rise_clk(num : integer) is -    begin -      for i in 1 to num loop -        wait until clk_i'event and clk_i = '1'; -      end loop; -    end rise_clk; - -    procedure read_check_byte(ref : unsigned(7 downto 0)) is -      variable byte_v : unsigned(7 downto 0); -      variable dump_line : line; -    begin -      for bit in 7 downto 0 loop -        rise_cfg_clk(1); -        byte_v(bit) := cfg_dat_s; -      end loop; -      data_s <= byte_v; - -      if byte_v /= ref then -        write(dump_line, chip_type_g); -        write(dump_line, string'(" at ")); -        write(dump_line, now); -        write(dump_line, string'(": read_check_byte failed ")); -        write(dump_line, to_integer(byte_v)); -        write(dump_line, string'(" ")); -        write(dump_line, to_integer(ref)); -        writeline(output, dump_line); -      end if; -    end read_check_byte; - -    variable dump_line : line; -    variable addr_v    : unsigned(31 downto 0); -    variable temp_v    : unsigned( 7 downto 0); -    variable set_sel_v : unsigned(3 downto 0); - -  begin -    -- default assignments -    -- these defaults show the required pull resistors -    -- except start_i as this must be pulled high for automatic start -    start_s      <= '0'; -    mode_s       <= '1'; -    cfg_init_n_s <= '1'; -    cfg_done_s   <= '0'; -    dat_done_s   <= '1'; -    data_s       <= (others => '1'); -    addr_v       := (others => '0'); -    eos_o        <= false; -    set_sel_n_s  <= (others => '1'); -    reset_s      <= '0'; - -    -- loop through some sets -    for set in 0 to 3 loop -      set_sel_v := to_unsigned(set, 4); -      addr_v(23 downto 20) := set_sel_v;  -- must match num_bits_per_img_g -                                          -- plus width_img_cnt_g -      set_sel_n_s <= not std_logic_vector(set_sel_v); - -      assert not verbose_c -        report chip_type_g & ": Processing set " & to_string(set) -        severity note; - -      wait for 100 us; -      reset_s <= '1'; - -      assert not verbose_c -        report chip_type_g & ": Requesting image 0" -        severity note; - -      -- signal start -      start_s    <= '1'; -      mode_s     <= '1'; -      cfg_done_s <= '0'; -      addr_v(19 downto 0) := (others => '0'); -      wait until config_n_s = '0'; -      -- run through configuration sequence -      rise_clk(1); -      cfg_init_n_s <= '0'; -      rise_clk(3); -      cfg_init_n_s <= '1'; - -      -- and receive 32 bytes from image 0 -      for i in 1 to 32 loop -        temp_v := addr_v(0) & calc_crc(addr_v); -        read_check_byte(temp_v); -        addr_v := addr_v + 1; -      end loop; -      start_s    <= '0'; -      cfg_done_s <= '1'; - -      rise_clk(10); - -      assert not verbose_c -        report chip_type_g & ": Requesting image 1" -        severity note; - -      -- request next image -      mode_s  <= '0'; -      start_s <= '1'; -      addr_v(17 downto  0) := (others => '0'); -      addr_v(19 downto 18) := "01"; -- must match num_bits_per_img_g in chip-*-a.vhd -      dat_done_s <= '0'; - -      -- receive another 32 bytes from image 1 -      for i in 1 to 32 loop -        temp_v := addr_v(0) & calc_crc(addr_v); -        read_check_byte(temp_v); -        addr_v := addr_v + 1; -      end loop; -      start_s    <= '0'; -      dat_done_s <= '1'; -       - -      rise_clk(10); - -      assert not verbose_c -        report chip_type_g & ": Requesting image 2" -        severity note; - -      -- request next image -      mode_s  <= '1'; -      start_s <= '1'; -      addr_v(17 downto  0) := (others => '0'); -      addr_v(19 downto 18) := "10"; -- must match num_bits_per_img_g in chip-*-a.vhd - -      wait until config_n_s = '0'; -      -- run through configuration sequence -      rise_clk(1); -      cfg_done_s   <= '0'; -      cfg_init_n_s <= '0'; -      rise_clk(3); -      cfg_init_n_s <= '1'; - -      -- receive another 32 bytes from image 2 -      for i in 1 to 32 loop -        temp_v := addr_v(0) & calc_crc(addr_v); -        read_check_byte(temp_v); -        addr_v := addr_v + 1; -      end loop; -      start_s    <= '0'; -      cfg_done_s <= '1'; - -      -- give dut a chance to stop current transfer -      wait until spi_cs_n_s = '1'; -      rise_clk(10); - -      reset_s <= '0'; -    end loop; - -    eos_o <= true; -    wait; -  end process stim; -  -- -  ----------------------------------------------------------------------------- - -end behav; - - -------------------------------------------------------------------------------- --- File History: --- --- $Log: tb_elem.vhd,v $ --- Revision 1.7  2005/04/07 20:43:36  arniml --- add new port detached_o --- --- Revision 1.6  2005/03/09 19:48:04  arniml --- make verbosity level switchable --- --- Revision 1.5  2005/03/08 22:06:21  arniml --- added set selection --- --- Revision 1.4  2005/02/17 18:59:23  arniml --- clarify wording for images --- --- Revision 1.3  2005/02/16 19:34:56  arniml --- add weak pull-ups for SPI lines --- --- Revision 1.2  2005/02/13 17:14:03  arniml --- change dat_done handling --- --- Revision 1.1  2005/02/08 21:09:20  arniml --- initial check-in --- -------------------------------------------------------------------------------- diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_pack-p.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_pack-p.vhd deleted file mode 100644 index 7534aafdc..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_pack-p.vhd +++ /dev/null @@ -1,93 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- --- $Id: tb_pack-p.vhd,v 1.2 2005/03/08 22:06:39 arniml Exp $ --- -------------------------------------------------------------------------------- - -library ieee; -use ieee.std_logic_1164.all; -use ieee.numeric_std.all; - -package tb_pack is - -  function calc_crc(payload : in std_logic_vector) return std_logic_vector; -  function calc_crc(payload : in unsigned) return unsigned; - -  function to_string(value : in integer) return string; - -end tb_pack; - - -package body tb_pack is - -  function calc_crc(payload : in std_logic_vector) return std_logic_vector is - -    variable crc_v  : std_logic_vector(6 downto 0); -    variable temp_v : std_logic; - -  begin - -    crc_v := (others => '0'); - -    for i in payload'high downto payload'low loop -      temp_v := payload(i) xor crc_v(6); - -      crc_v(6 downto 4) := crc_v(5 downto 3); -      crc_v(3) := crc_v(2) xor temp_v; -      crc_v(2 downto 1) := crc_v(1 downto 0); -      crc_v(0) := temp_v; -    end loop; - -    return crc_v; -  end calc_crc; - -  function calc_crc(payload : in unsigned) return unsigned is -  begin -    return unsigned(calc_crc(std_logic_vector(payload))); -  end calc_crc; - -  function to_string(value : in integer) return string is -    variable str: string (11 downto 1); -    variable val: integer := value; -    variable digit: natural; -    variable index: natural := 0; -  begin -    -- Taken from: -    --  textio package body.  This file is part of GHDL. -    --  Copyright (C) 2002 Tristan Gingold. -    --  Note: the absolute value of VAL cannot be directly taken, since -    --  it may be greather that the maximum value of an INTEGER. -    loop -      --  LRM93 7.2.6 -      --  (A rem B) has the sign of A and an absolute value less then -      --   the absoulte value of B. -      digit := abs (val rem 10); -      val := val / 10; -      index := index + 1; -      str (index) := character'val(48 + digit); -      exit when val = 0; -    end loop; -    if value < 0 then -      index := index + 1; -      str(index) := '-'; -    end if; - -    return str; -  end to_string; - -end tb_pack; - - -------------------------------------------------------------------------------- --- File History: --- --- $Log: tb_pack-p.vhd,v $ --- Revision 1.2  2005/03/08 22:06:39  arniml --- added integer->string conversion function --- --- Revision 1.1  2005/02/08 21:09:20  arniml --- initial check-in --- -------------------------------------------------------------------------------- diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_rl-c.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_rl-c.vhd deleted file mode 100644 index 84273abc5..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_rl-c.vhd +++ /dev/null @@ -1,27 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- --- $Id: tb_rl-c.vhd,v 1.1 2005/04/10 18:07:26 arniml Exp $ --- -------------------------------------------------------------------------------- - -configuration tb_rl_behav_c0 of tb_rl is - -  for behav - -    for dut_b : chip -      use configuration work.chip_full_c0; -    end for; - -    for card_b : card -      use configuration work.card_behav_c0; -    end for; - -    for rl_b : ram_loader -      use configuration work.ram_loader_rtl_c0; -    end for; - -  end for; - -end tb_rl_behav_c0; diff --git a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_rl.vhd b/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_rl.vhd deleted file mode 100644 index 9f28e62b4..000000000 --- a/fpga/usrp2/opencores/spi_boot/bench/vhdl/tb_rl.vhd +++ /dev/null @@ -1,259 +0,0 @@ -------------------------------------------------------------------------------- --- --- SD/MMC Bootloader --- Testbench for ram_loader --- --- $Id: tb_rl.vhd,v 1.1 2005/04/10 18:07:25 arniml Exp $ --- --- Copyright (c) 2005, Arnim Laeuger (arniml@opencores.org) --- --- All rights reserved, see COPYING. --- --- Redistribution and use in source and synthezised forms, with or without --- modification, are permitted provided that the following conditions are met: --- --- Redistributions of source code must retain the above copyright notice, --- this list of conditions and the following disclaimer. --- --- Redistributions in synthesized form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in the --- documentation and/or other materials provided with the distribution. --- --- Neither the name of the author nor the names of other contributors may --- be used to endorse or promote products derived from this software without --- specific prior written permission. --- --- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" --- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, --- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR --- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE --- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR --- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF --- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS --- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN --- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) --- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --- POSSIBILITY OF SUCH DAMAGE. --- --- Please report bugs to the author, but before you do so, please --- make sure that this is not a derivative work and that --- you have the latest version of this file. --- --- The latest version of this file can be found at: ---      http://www.opencores.org/projects.cgi/web/spi_boot/overview --- -------------------------------------------------------------------------------- - -entity tb_rl is - -end tb_rl; - - -library ieee; -use ieee.std_logic_1164.all; - -architecture behav of tb_rl is - -  component chip -    port ( -      clk_i          : in  std_logic; -      reset_i        : in  std_logic; -      set_sel_n_i    : in  std_logic_vector(3 downto 0); -      spi_clk_o      : out std_logic; -      spi_cs_n_o     : out std_logic; -      spi_data_in_i  : in  std_logic; -      spi_data_out_o : out std_logic; -      start_i        : in  std_logic; -      mode_i         : in  std_logic; -      config_n_o     : out std_logic; -      detached_o     : out std_logic; -      cfg_init_n_i   : in  std_logic; -      cfg_done_i     : in  std_logic; -      dat_done_i     : in  std_logic; -      cfg_clk_o      : out std_logic; -      cfg_dat_o      : out std_logic -    ); -  end component; - -  component card -    generic ( -      card_type_g  : string := "none"; -      is_sd_card_g : integer := 1 -    ); -    port ( -      spi_clk_i  : in  std_logic; -      spi_cs_n_i : in  std_logic; -      spi_data_i : in  std_logic; -      spi_data_o : out std_logic -    ); -  end component; - -  component ram_loader -    port ( -      clk_i      : in    std_logic; -      reset_i    : in    std_logic; -      lamp_o     : out   std_logic; -      cfg_clk_i  : in    std_logic; -      cfg_data_i : in    std_logic; -      start_o    : out   std_logic; -      mode_o     : out   std_logic; -      done_o     : out   std_logic; -      detached_i : in    std_logic; -      ram_addr_o : out   std_logic_vector(15 downto 0); -      ram_data_b : out   std_logic_vector( 7 downto 0); -      ram_ce_no  : out   std_logic_vector( 3 downto 0); -      ram_oe_no  : out   std_logic; -      ram_we_no  : out   std_logic -    ); -  end component; - -  constant period_c      : time := 100 ns; -  constant rl_period_c   : time :=  20 ns; -  constant reset_level_c : integer := 0; - -  signal clk_s   : std_logic; -  signal rl_clk_s: std_logic; -  signal reset_s : std_logic; - -  -- SPI interface signals -  signal spi_clk_s            : std_logic; -  signal spi_data_to_card_s   : std_logic; -  signal spi_data_from_card_s : std_logic; -  signal spi_cs_n_s           : std_logic; - -  -- config related signals -  signal start_s      : std_logic; -  signal mode_s       : std_logic; -  signal config_n_s   : std_logic; -  signal cfg_init_n_s : std_logic; -  signal cfg_done_s   : std_logic; -  signal dat_done_s   : std_logic; -  signal cfg_clk_s    : std_logic; -  signal cfg_dat_s    : std_logic; -  signal detached_s   : std_logic; - -  signal set_sel_n_s : std_logic_vector(3 downto 0); - -begin - -  set_sel_n_s  <= (others => '1'); -  cfg_init_n_s <= '1'; -  cfg_done_s   <= '1'; - -  ----------------------------------------------------------------------------- -  -- DUT -  ----------------------------------------------------------------------------- -  dut_b : chip -    port map ( -      clk_i          => clk_s, -      reset_i        => reset_s, -      set_sel_n_i    => set_sel_n_s, -      spi_clk_o      => spi_clk_s, -      spi_cs_n_o     => spi_cs_n_s, -      spi_data_in_i  => spi_data_from_card_s, -      spi_data_out_o => spi_data_to_card_s, -      start_i        => start_s, -      mode_i         => mode_s, -      config_n_o     => config_n_s, -      detached_o     => detached_s, -      cfg_init_n_i   => cfg_init_n_s, -      cfg_done_i     => cfg_done_s, -      dat_done_i     => dat_done_s, -      cfg_clk_o      => cfg_clk_s, -      cfg_dat_o      => cfg_dat_s -    ); - -  card_b : card -    generic map ( -      card_type_g  => "Full Chip", -      is_sd_card_g => 1 -    ) -    port map ( -      spi_clk_i  => spi_clk_s, -      spi_cs_n_i => spi_cs_n_s, -      spi_data_i => spi_data_to_card_s, -      spi_data_o => spi_data_from_card_s -    ); - -  rl_b : ram_loader -    port map ( -      clk_i      => rl_clk_s, -      reset_i    => reset_s, -      lamp_o     => open, -      cfg_clk_i  => cfg_clk_s, -      cfg_data_i => cfg_dat_s, -      start_o    => start_s, -      mode_o     => mode_s, -      done_o     => dat_done_s, -      detached_i => detached_s, -      ram_addr_o => open, -      ram_data_b => open, -      ram_ce_no  => open, -      ram_oe_no  => open, -      ram_we_no  => open -    ); - -  ----------------------------------------------------------------------------- -  -- Clock Generator -  ----------------------------------------------------------------------------- -  clk: process -  begin -    clk_s <= '0'; -    wait for period_c / 2; -    clk_s <= '1'; -    wait for period_c / 2; -  end process clk; - -  rl_clk: process -  begin -    rl_clk_s <= '0'; -    wait for rl_period_c / 2; -    rl_clk_s <= '1'; -    wait for rl_period_c / 2; -  end process rl_clk; - - -  ----------------------------------------------------------------------------- -  -- Reset Generator -  ----------------------------------------------------------------------------- -  reset: process -  begin -    if reset_level_c = 0 then -      reset_s <= '0'; -    else -      reset_s <= '1'; -    end if; - -    wait for period_c * 4 + 10 ns; - -    reset_s <= not reset_s; - -    wait; -  end process reset; - - -  ----------------------------------------------------------------------------- -  -- End of Simulation -  ----------------------------------------------------------------------------- -  eos: process -  begin -    wait for 4 ms; -    assert false -      report "No checks have been performed. Investigate waveforms." -      severity note; -    assert false -      report "End of simulation." -      severity failure; -  end process eos; - -end behav; - - -------------------------------------------------------------------------------- --- File History: --- --- $Log: tb_rl.vhd,v $ --- Revision 1.1  2005/04/10 18:07:25  arniml --- initial check-in --- --------------------------------------------------------------------------------  | 
