Forum: FPGA, VHDL & Co. Testbench in VHDL für MII Schnittstelle


von Sebastian (Gast)


Lesenswert?

Hallo,

Ich möchte eine Komponente simulieren, die ich in VHDL geschrieben habe. 
Dafür habe ich folgende Testbench erstellt:
1
library ieee;
2
use ieee.std_logic_1164.all;
3
use ieee.numeric_std.all;
4
 
5
-- leere entity
6
entity bfg_tb is
7
end entity bfg_tb;
8
 
9
architecture bhv of bfg_basic_tb is
10
 
11
  -- Moduldeklaration
12
  component bfg_basic is
13
    port (
14
    --Ports genau so deklariert wie im bfg_basic modul
15
    rx_clk : IN STD_LOGIC;
16
    reset : IN STD_LOGIC;
17
    
18
    stop_fifo_read: OUT STD_LOGIC;  --0 fifo wird gelesen, 1 fifo wird nicht gelesen
19
                
20
    PHY_data_in : IN STD_LOGIC_VECTOR(3 downto 0);
21
    PHY_RX_DV_in : IN STD_LOGIC;
22
    PHY_data_out : OUT STD_LOGIC_VECTOR(3 downto 0);
23
    PHY_TX_EN_OUT : OUT STD_LOGIC;
24
    
25
    -- AVALON Slave Interface
26
    as_address       : in  std_logic_vector(7 downto 0);
27
    as_chipselect    : in  std_logic;
28
    as_write         : in  std_logic;
29
    as_writedata     : in  std_logic_vector(31 downto 0);
30
    bfg_output_msg   : out std_logic_vector(31 downto 0)
31
    );
32
  end component;
33
 
34
  -- input
35
  signal rx_clk   : std_logic := '0';
36
  signal reset : std_logic;
37
 
38
  -- output
39
  signal PHY_data_out : std_logic_vector(3 downto 0);
40
  
41
begin
42
  clk   <= not clk  after 20 ns;  -- 25 MHz Taktfrequenz
43
  reset <= '1', '0' after 100 ns; -- erzeugt Resetsignal: --__
44
  PHY_RX_DV_in = '1';
45
  PHY_data_in(0) = '0';
46
  PHY_data_in(1) = '1';  
47
  PHY_data_in(2) = '0';
48
  PHY_data_in(3) = '1';
49
  
50
  as_address = b"00000000";
51
  as_writedata = x"00000001";
52
  as_chipselect = '1';
53
  as_write = '1';
54
  
55
  generate_data process (rx_clk)
56
    PHY_data_in(0) = not PHY_data_in(0);
57
    PHY_data_in(1) = not PHY_data_in(1);
58
    PHY_data_in(2) = not PHY_data_in(2);
59
    PHY_data_in(3) = not PHY_data_in(3);
60
  end process generate_data;
61
  
62
  -- Modulinstatziierung
63
  dut : bfg_basic
64
    port map (
65
      rx_clk       => rx_clk,
66
      reset     => reset    
67
      );
68
 
69
end architecture;
Leider kann ich das in ModelSim nicht kompilieren. Ich möchte an die 
Eingänge meiner Entity PHY_data_in 4 Bit Daten anlegen. Zusätzlich muss 
das DV Signal angelegt werden. Das alles muss synchron mit einem 25MHz 
Takt geschehen. Wie mache ich das? Im Prinzip würde es mir reiche, wenn 
eine vorher festgelegte Bitfolge von vllt 10 Nibble hintereinander an 
den Port angelegt wird. Ich möchte mir dann das PHY_data_out anschauen.

Danke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.