OpenCores
URL https://opencores.org/ocsvn/simple_fm_receiver/simple_fm_receiver/trunk

Subversion Repositories simple_fm_receiver

[/] [simple_fm_receiver/] [tags/] [VSFR_1/] [modelsim-bench/] [input.vhdl] - Blame information for rev 32

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 arif_endro
-- $Id: input.vhdl,v 1.1.1.1 2005-01-04 02:06:00 arif_endro Exp $
2
-- **************************************************************
3
-- Arif E. Nugroho
4
-- [20041110]
5
-- * Derived from testbench from modeltech
6
-- **************************************************************
7
 
8
library IEEE;
9
library STD;
10
use IEEE.STD_LOGIC_1164.ALL;
11
use IEEE.STD_LOGIC_arith.ALL;
12
use IEEE.STD_LOGIC_unsigned.ALL;
13
use STD.TEXTIO.ALL;
14
 
15
entity input is
16
   port (
17
   clock_out        : out bit;
18
   test_signal_fm   : out bit_vector (07 downto 0);
19
   test_signal_fmTri: out bit_vector (07 downto 0);
20
   signal_fm_bit    : out bit;
21
   signal_fmTri_bit : out bit
22
   );
23
end input;
24
 
25
architecture test_bench of input is
26
type char_to_stdlogic_t is array (character) of std_logic;
27
file file_pointer_fm    : text open read_mode is "fm.txt";
28
file file_pointer_fmTri : text open read_mode is "fmTri.txt";
29
constant to_std_logic : char_to_stdlogic_t := (
30
        'U' => 'U',
31
        'X' => 'X',
32
        '0' => '0',
33
        '1' => '1',
34
        'Z' => 'Z',
35
        'W' => 'W',
36
        'L' => 'L',
37
        'H' => 'H',
38
        '-' => '-',
39
        others => 'X'
40
        );
41
-- signal test_signal_fm    : std_logic_vector ( 7 downto 0);
42
-- signal test_signal_fmTri : std_logic_vector ( 7 downto 0);
43
signal test_signal_fm_bit    : std_logic;
44
signal test_signal_fmTri_bit : std_logic;
45
signal clock             : std_logic;
46
begin
47
        process
48
        variable line_input_fm      : line;
49
        variable line_input_fmTri   : line;
50
--      variable first_char  : character := '#';
51
        variable test_vector_fm     : string(1 to 8) := "        ";
52
        variable test_vector_fmTri  : string(1 to 8) := "        ";
53
        variable input_length_fm    : integer;
54
        variable input_length_fmTri : integer;
55
        variable delay_time         : time := 1 ns;
56
        variable test_var_fm        : std_logic_vector ( 7 downto 0);
57
        variable test_var_fmTri     : std_logic_vector ( 7 downto 0);
58
        begin
59
                while not (endfile(file_pointer_fm) and endfile(file_pointer_fmTri)) loop
60
                readline(file_pointer_fm, line_input_fm);
61
                readline(file_pointer_fmTri, line_input_fmTri);
62
                if (line_input_fm /= NULL) and (line_input_fm'length > 0) and (line_input_fmTri /= NULL) and (line_input_fmTri'length > 0) then
63
--                      read(line_number, first_char);
64
--                      if (first_char /= '#') then
65
                read(line_input_fm, test_vector_fm);
66
                read(line_input_fmTri, test_vector_fmTri);
67
                input_length_fm := test_vector_fm'length - 1;
68
                input_length_fmTri := test_vector_fmTri'length - 1;
69
                for a in test_vector_fm'range loop
70
                  test_var_fm(input_length_fm) := to_std_logic(test_vector_fm(a));
71
                  test_signal_fm_bit <= to_std_logic(test_vector_fm(a));
72
                  input_length_fm := input_length_fm - 1;
73
                end loop;
74
                for a in test_vector_fmTri'range loop
75
                  test_var_fmTri(input_length_fmTri) := to_std_logic(test_vector_fmTri(a));
76
                  test_signal_fmTri_bit <= to_std_logic(test_vector_fmTri(a));
77
                  input_length_fmTri := input_length_fmTri - 1;
78
                end loop;
79
                test_signal_fm <= to_bitvector(test_var_fm);-- after 1 ns;
80
                test_signal_fmTri <= to_bitvector(test_var_fmTri);-- after 1 ns;
81
--                      Show current progress
82
--                      report "Current line input is: Vector values are : ";
83
--              end loop;
84
--              report "End of input test vector fm.txt";
85
--              wait;
86
                clock <= '1';
87
                wait for delay_time;
88
                clock <= '0';
89
                wait for delay_time;
90
                -- fmTri --START HERE--
91
--              while not endfile(file_pointer_fmTri) loop
92
--                      read(line_number, first_char);
93
--                      if (first_char /= '#') then
94
--              clock <= '1';
95
--              wait for delay_time;
96
--              clock <= '0';
97
--              wait for delay_time;
98
--                      Show current progress
99
--                      report "Current line input is: Vector values are : ";
100
                end if;
101
                end loop;
102
--              report "End of input test vector fmTri.txt";
103
                wait;
104
        end process;
105
signal_fm_bit    <= to_bit(test_signal_fm_bit);
106
signal_fmTri_bit <= to_bit(test_signal_fmTri_bit);
107
clock_out        <= to_bit(clock);
108
end test_bench;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.