URL
https://opencores.org/ocsvn/gamepads/gamepads/trunk
Subversion Repositories gamepads
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 29 to Rev 30
- ↔ Reverse comparison
Rev 29 → Rev 30
/trunk/gcpad/bench/vhdl/tb.vhd
3,7 → 3,7
-- Testbench for the |
-- GCpad controller core |
-- |
-- $Id: tb.vhd,v 1.3 2004-10-10 17:27:44 arniml Exp $ |
-- $Id: tb.vhd,v 1.4 2004-10-10 20:19:49 arniml Exp $ |
-- |
-- Copyright (c) 2004, Arnim Laeuger (arniml@opencores.org) |
-- |
61,6 → 61,13
|
architecture behav of tb is |
|
----------------------------------------------------------------------------- |
-- Some known commands for the GC controller |
----------------------------------------------------------------------------- |
constant cmd_get_id_c : std_logic_vector(7 downto 0) := "00000000"; |
constant cmd_poll_c : std_logic_vector(7 downto 0) := "01000000"; |
|
|
component gcpad_mod |
generic ( |
clocks_per_1us_g : natural := 2 |
80,23 → 87,24
signal reset_s : std_logic; |
|
-- signals for basic gcpad |
signal stimuli_1_end_s : boolean; |
signal pad_data_1_s : std_logic; |
signal buttons_1_s : std_logic_vector(64 downto 0); |
signal pad_request_1_s : std_logic; |
signal pad_avail_1_s : std_logic; |
signal rx_data_1_s : std_logic_vector(63 downto 0); |
signal stimuli_1_end_s : boolean; |
signal pad_data_1_s : std_logic; |
signal buttons_1_s : std_logic_vector(64 downto 0); |
signal pad_request_1_s : std_logic; |
signal pad_avail_1_s : std_logic; |
signal pad_model_data_1_s : std_logic_vector(63 downto 0); |
|
-- signals for full gcpad |
signal stimuli_2_end_s : boolean; |
signal pad_data_2_s : std_logic; |
signal pad_request_2_s : std_logic; |
signal pad_avail_2_s : std_logic; |
signal pad_timeout_2_s : std_logic; |
signal tx_size_2_s : std_logic_vector( 1 downto 0); |
signal tx_command_2_s : std_logic_vector(23 downto 0); |
signal rx_size_2_s : std_logic_vector( 3 downto 0); |
signal rx_data_2_s : std_logic_vector(63 downto 0); |
signal stimuli_2_end_s : boolean; |
signal pad_data_2_s : std_logic; |
signal pad_request_2_s : std_logic; |
signal pad_avail_2_s : std_logic; |
signal pad_timeout_2_s : std_logic; |
signal tx_size_2_s : std_logic_vector( 1 downto 0); |
signal tx_command_2_s : std_logic_vector(23 downto 0); |
signal rx_size_2_s : std_logic_vector( 3 downto 0); |
signal rx_data_2_s : std_logic_vector(63 downto 0); |
signal pad_model_data_2_s : std_logic_vector(63 downto 0); |
|
begin |
|
162,9 → 170,10
port map ( |
clk_i => clk_s, |
pad_data_io => pad_data_1_s, |
rx_data_i => rx_data_1_s |
rx_data_i => pad_model_data_1_s |
); |
|
|
----------------------------------------------------------------------------- |
-- Process stimuli_pad_1 |
-- |
172,13 → 181,17
-- |
stimuli_pad_1: process |
|
|
procedure send_packet(packet : in std_logic_vector(64 downto 0)) is |
--------------------------------------------------------------------------- |
-- Procedure poll_pad |
-- |
-- Requests the status of Pad 1 and checks the received data. |
-- |
procedure poll_pad(packet : in std_logic_vector(63 downto 0)) is |
begin |
wait until clk_s'event and clk_s = '1'; |
wait for 1 ns; |
|
rx_data_1_s <= packet(64 downto 1); |
pad_model_data_1_s <= packet; |
|
-- send request; |
pad_request_1_s <= '1'; |
191,17 → 204,27
wait for 10 * period_c; |
|
-- check result |
for i in 1 to packet'high loop |
assert packet(i) = buttons_1_s(i-1) |
report "Button mismatch!" |
for i in 0 to packet'high loop |
assert packet(i) = buttons_1_s(i) |
report "Button mismatch on Pad 1!" |
severity error; |
end loop; |
|
end send_packet; |
end poll_pad; |
-- |
--------------------------------------------------------------------------- |
|
|
--------------------------------------------------------------------------- |
-- Procedure timeout_gcpad |
-- |
-- Generates a timeout in gcpad_basic by disturbing the communication. |
-- |
procedure timeout_gcpad is |
begin |
wait until clk_s'event and clk_s = '1'; |
wait for 1 ns; |
|
-- send request; |
pad_request_1_s <= '1'; |
wait for 1 * period_c; |
218,84 → 241,86
wait for 10 * period_c; |
|
end timeout_gcpad; |
-- |
--------------------------------------------------------------------------- |
|
begin |
stimuli_1_end_s <= false; |
|
pad_data_1_s <= 'H'; |
pad_request_1_s <= '0'; |
rx_data_1_s <= (others => '0'); |
pad_data_1_s <= 'H'; |
pad_request_1_s <= '0'; |
pad_model_data_1_s <= (others => '0'); |
|
wait until reset_s = '1'; |
wait for period_c * 4; |
|
timeout_gcpad; |
send_packet(packet => "00000000100000000000000000000000000000000000000000000000000000001"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000000000"); |
wait for clocks_per_1us_c * 100 * period_c; |
send_packet(packet => "00011111111111111111111111111111111111111111111111111111111111111"); |
send_packet(packet => "00010000100000000000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00001000100000000000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000100100000000000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000010100000000000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000001100000000000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00001010101010101010101010101010101010101010101010101010101010101"); |
send_packet(packet => "00010101110101010101010101010101010101010101010101010101010101011"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000110000000000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000101000000000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100100000000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100010000000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100001000000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000100000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000010000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000001000000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000100000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000010000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000001000000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000100000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000010000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000001000000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000100000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000010000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000001000000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000100000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000010000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000001000000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000100000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000010000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000001000000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000100000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000010000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000001000000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000100000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000010000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000001000000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000100000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000010000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000001000000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000100000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000010000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000001000000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000100000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000010000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000001000000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000100000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000010000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000001000000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000100000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000010000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000001000000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000100000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000010000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000001000000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000000100000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000000010000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000000001000001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000000000100001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000000000010001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000000000001001"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000000000000101"); |
send_packet(packet => "00000000100000000000000000000000000000000000000000000000000000011"); |
poll_pad(packet => "0001111111111111111111111111111111111111111111111111111111111111"); |
poll_pad(packet => "0001000010000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000100010000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000010010000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000001010000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000110000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000101010101010101010101010101010101010101010101010101010101010"); |
poll_pad(packet => "0001010111010101010101010101010101010101010101010101010101010101"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000011000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010100000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010010000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010001000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000100000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000010000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000001000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000100000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000010000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000001000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000100000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000010000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000001000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000100000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000010000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000001000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000100000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000010000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000001000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000100000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000010000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000001000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000100000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000010000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000001000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000100000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000010000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000001000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000100000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000010000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000001000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000100000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000010000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000001000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000100000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000010000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000001000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000100000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000010000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000001000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000100000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000010000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000001000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000100000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000010000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000001000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000100000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000010000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000001000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000100000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000010000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000001000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000000100"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000000010"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000000001"); |
|
|
wait for period_c * 2*40; |
314,9 → 339,10
port map ( |
clk_i => clk_s, |
pad_data_io => pad_data_2_s, |
rx_data_i => rx_data_2_s |
rx_data_i => pad_model_data_2_s |
); |
|
|
----------------------------------------------------------------------------- |
-- Process stimuli_pad_2 |
-- |
324,6 → 350,11
-- |
stimuli_pad_2: process |
|
--------------------------------------------------------------------------- |
-- Procedure issue_command |
-- |
-- Sets the transmitter command for Pad 2 and starts the request. |
-- |
procedure issue_command(cmd : in std_logic_vector(23 downto 0); |
size : in std_logic_vector( 1 downto 0)) is |
begin |
337,24 → 368,240
wait for 1 * period_c; |
pad_request_2_s <= '0'; |
|
|
end issue_command; |
-- |
--------------------------------------------------------------------------- |
|
begin |
|
--------------------------------------------------------------------------- |
-- Procedure poll_pad |
-- |
-- Requests the status of Pad 2 and checks the received data. |
-- |
procedure poll_pad(packet : in std_logic_vector(63 downto 0)) is |
variable cmd_v : std_logic_vector(23 downto 0); |
begin |
wait until clk_s'event and clk_s = '1'; |
wait for 1 ns; |
|
-- set up model answer |
pad_model_data_2_s <= packet; |
-- set expected number of bytes for gcpad_full |
rx_size_2_s <= "1000"; |
|
cmd_v(23 downto 16) := cmd_poll_c; |
cmd_v(15 downto 0) := "0000001100000010"; |
issue_command(cmd => cmd_v, |
size => "11"); |
|
wait until pad_avail_2_s = '1'; |
|
assert pad_timeout_2_s = '0' |
report "Timout signalled on Pad 2 during status polling!" |
severity error; |
|
-- check result |
for i in 0 to packet'high loop |
assert packet(i) = rx_data_2_s(i) |
report "Data mismatch on Pad 2!" |
severity error; |
end loop; |
|
end poll_pad; |
-- |
--------------------------------------------------------------------------- |
|
|
--------------------------------------------------------------------------- |
-- Procedure timeout_gcpad_x |
-- |
-- Generates a timeout in gcpad_full by disturbing the communication. |
-- |
procedure timeout_gcpad_x is |
variable cmd_v : std_logic_vector(23 downto 0); |
begin |
wait until clk_s'event and clk_s = '1'; |
wait for 1 ns; |
|
pad_model_data_2_s <= (others => '0'); |
rx_size_2_s <= "1000"; |
|
|
cmd_v(23 downto 16) := cmd_poll_c; |
cmd_v(15 downto 0) := "0000001100000010"; |
issue_command(cmd => cmd_v, |
size => "11"); |
|
-- disturb communication |
pad_data_2_s <= 'X'; |
|
wait until pad_avail_1_s = '1'; |
wait for 10 * period_c; |
pad_data_2_s <= 'H'; |
wait for 10 * period_c; |
|
assert pad_timeout_2_s = '1' |
report "No timeout indicated on Pad 2 when communication has been disturbed!" |
severity error; |
|
end timeout_gcpad_x; |
-- |
--------------------------------------------------------------------------- |
|
|
--------------------------------------------------------------------------- |
-- Procedure timeout_gcpad_short |
-- |
-- Generates a timeout in gcpad_full by requesting too many bytes for |
-- a "get id" command. |
-- |
procedure timeout_gcpad_short is |
variable cmd_v : std_logic_vector(23 downto 0); |
begin |
wait until clk_s'event and clk_s = '1'; |
wait for 1 ns; |
|
-- expect too many number of bytes |
-- command is "get id", will yield 3 bytes, but 8 bytes are requested |
rx_size_2_s <= "1000"; |
|
|
cmd_v(23 downto 16) := cmd_get_id_c; |
cmd_v(15 downto 0) := (others => '1'); |
issue_command(cmd => cmd_v, |
size => "01"); |
|
wait until pad_avail_2_s = '1'; |
|
assert pad_timeout_2_s = '1' |
report "No timout indicated on Pad 2 when too many bytes requested!" |
severity error; |
|
end timeout_gcpad_short; |
-- |
--------------------------------------------------------------------------- |
|
|
--------------------------------------------------------------------------- |
-- Procedure get_id |
-- |
-- Requests the ID information from the GC controller model. |
-- |
procedure get_id is |
variable cmd_v : std_logic_vector(23 downto 0); |
constant id_c : std_logic_vector(23 downto 0) := "000010010000000000000000"; |
begin |
wait until clk_s'event and clk_s = '1'; |
wait for 1 ns; |
|
rx_size_2_s <= "0011"; |
|
|
cmd_v(23 downto 16) := cmd_get_id_c; |
cmd_v(15 downto 0) := (others => '1'); |
issue_command(cmd => cmd_v, |
size => "01"); |
|
wait until pad_avail_2_s = '1'; |
|
assert pad_timeout_2_s = '0' |
report "Timout signalled on Pad 2 during get id!" |
severity error; |
|
-- check result |
for i in 0 to id_c'high loop |
assert id_c(i) = rx_data_2_s(i) |
report "ID mismatch on Pad 2!" |
severity error; |
end loop; |
|
end get_id; |
-- |
--------------------------------------------------------------------------- |
|
begin |
stimuli_2_end_s <= false; |
|
pad_data_2_s <= 'H'; |
pad_request_2_s <= '0'; |
tx_size_2_s <= (others => '0'); |
tx_command_2_s <= (others => '0'); |
rx_size_2_s <= (others => '0'); |
pad_data_2_s <= 'H'; |
pad_request_2_s <= '0'; |
tx_size_2_s <= (others => '0'); |
tx_command_2_s <= (others => '0'); |
rx_size_2_s <= (others => '0'); |
pad_model_data_2_s <= (others => '0'); |
|
wait until reset_s = '1'; |
wait for period_c * 4; |
|
|
issue_command(cmd => "010000000000001100000010", |
size => "11"); |
get_id; |
timeout_gcpad_x; |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000000000"); |
wait for clocks_per_1us_c * 100 * period_c; |
poll_pad(packet => "0001111111111111111111111111111111111111111111111111111111111111"); |
timeout_gcpad_short; |
poll_pad(packet => "0001000010000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000100010000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000010010000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000001010000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000110000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000101010101010101010101010101010101010101010101010101010101010"); |
poll_pad(packet => "0001010111010101010101010101010101010101010101010101010101010101"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000011000000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010100000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010010000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010001000000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000100000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000010000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000001000000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000100000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000010000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000001000000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000100000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000010000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000001000000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000100000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000010000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000001000000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000100000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000010000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000001000000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000100000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000010000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000001000000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000100000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000010000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000001000000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000100000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000010000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000001000000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000100000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000010000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000001000000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000100000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000010000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000001000000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000100000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000010000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000001000000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000100000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000010000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000001000000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000100000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000010000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000001000000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000100000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000010000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000001000000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000100000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000010000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000001000000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000100000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000010000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000001000"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000000100"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000000010"); |
poll_pad(packet => "0000000010000000000000000000000000000000000000000000000000000001"); |
|
|
wait for period_c * 2*40; |
416,6 → 663,10
-- File History: |
-- |
-- $Log: not supported by cvs2svn $ |
-- Revision 1.3 2004/10/10 17:27:44 arniml |
-- added second pad |
-- introduced testbench model for GC controller |
-- |
-- Revision 1.2 2004/10/09 17:05:59 arniml |
-- delay assertion of request signal by real time (instead of delta cycles) |
-- |