Ralph H. schrieb:
> da brauchste ja ewig um alle Signale in der
> Testbench richtig zu definieren und das Ding zum laufen zu bekommen !
Mit einem guten Editor, der vertikale Blöcke verarbeiten kann, geht es 
eingentlich ziemlich schnell:
Die Entity in die Testbench kopieren:
| 1 | entity top is
 | 
| 2 |     port (
 | 
| 3 |         -- ==== Pushbuttons (BTN) ====
 | 
| 4 |         BTN_EAST        : in    std_logic;
 | 
| 5 |         BTN_NORTH       : in    std_logic;
 | 
| 6 |         BTN_SOUTH       : in    std_logic;
 | 
| 7 |         BTN_WEST        : in    std_logic;
 | 
| 8 |         -- ...
 | 
Das ganze etwas umformatieren (ich lass in den Instanzierungen immer die 
Definition als Kommentar mit dran):
| 1 |     top_i0: top
 | 
| 2 |         port map (
 | 
| 3 |             BTN_EAST        => tb_BTN_EAST        , -- : in std_logic;
 | 
| 4 |             BTN_NORTH       => tb_BTN_NORTH       , -- : in std_logic;
 | 
| 5 |             BTN_SOUTH       => tb_BTN_SOUTH       , -- : in std_logic;
 | 
| 6 |             BTN_WEST        => tb_BTN_WEST        , -- : in std_logic;
 | 
| 7 |             -- ...
 | 
Und fix die Signale definieren:
| 1 |     -- ==== Pushbuttons (BTN) ====
 | 
| 2 |     signal   tb_BTN_EAST       : std_logic;
 | 
| 3 |     signal   tb_BTN_NORTH      : std_logic;
 | 
| 4 |     signal   tb_BTN_SOUTH      : std_logic;
 | 
| 5 |     signal   tb_BTN_WEST       : std_logic;
 | 
Dann muß man sich noch sinnvolle Stimuli überlegen...
| 1 |     tb_BTN_EAST   <= '0';
 | 
| 2 |     tb_BTN_NORTH  <= '0';
 | 
| 3 |     tb_BTN_SOUTH  <= '0';
 | 
| 4 |     tb_BTN_WEST   <= '0', '1' after 600 us, '0' after 650 us;
 | 
Alles in allem nicht wirklich viel Arbeit. (Außer vielleicht Du 
verwendest den ISE-Editor...)
Duke