URL
https://opencores.org/ocsvn/gamepads/gamepads/trunk
Subversion Repositories gamepads
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 11 to Rev 12
- ↔ Reverse comparison
Rev 11 → Rev 12
/trunk/gcpad/rtl/vhdl/gcpad_basic.vhd
2,7 → 2,7
-- |
-- GCpad controller core |
-- |
-- $Id: gcpad_basic.vhd,v 1.1 2004-10-07 21:23:10 arniml Exp $ |
-- $Id: gcpad_basic.vhd,v 1.2 2004-10-08 20:51:59 arniml Exp $ |
-- |
-- Copyright (c) 2004, Arnim Laeuger (arniml@opencores.org) |
-- |
118,7 → 118,7
pad_data_o : out std_logic; |
tx_start_i : in boolean; |
tx_finished_o : out boolean; |
tx_size_i : in std_logic_vector( 4 downto 0); |
tx_size_i : in std_logic_vector( 1 downto 0); |
tx_command_i : in std_logic_vector(23 downto 0) |
); |
end component; |
133,7 → 133,7
reset_i : in std_logic; |
rx_en_i : in boolean; |
rx_done_o : out boolean; |
rx_size_i : in std_logic_vector(6 downto 0); |
rx_size_i : in std_logic_vector(3 downto 0); |
pad_data_i : in std_logic; |
but_a_o : out std_logic; |
but_b_o : out std_logic; |
159,11 → 159,11
|
----------------------------------------------------------------------------- |
-- constants for standard status polling |
constant rx_size_c : std_logic_vector( 6 downto 0) := "1000000"; |
signal rx_size_s : std_logic_vector( 6 downto 0); |
constant rx_size_c : std_logic_vector( 3 downto 0) := "1000"; |
signal rx_size_s : std_logic_vector( 3 downto 0); |
-- |
constant tx_size_c : std_logic_vector( 4 downto 0) := "11000"; |
signal tx_size_s : std_logic_vector( 4 downto 0); |
constant tx_size_c : std_logic_vector( 1 downto 0) := "11"; |
signal tx_size_s : std_logic_vector( 1 downto 0); |
-- |
constant tx_command_c : std_logic_vector(23 downto 0) := "010000000000001100000010"; |
signal tx_command_s : std_logic_vector(23 downto 0); |
261,4 → 261,7
-- File History: |
-- |
-- $Log: not supported by cvs2svn $ |
-- Revision 1.1 2004/10/07 21:23:10 arniml |
-- initial check-in |
-- |
------------------------------------------------------------------------------- |
/trunk/gcpad/rtl/vhdl/gcpad_rx.vhd
2,7 → 2,7
-- |
-- GCpad controller core |
-- |
-- $Id: gcpad_rx.vhd,v 1.1 2004-10-07 21:23:10 arniml Exp $ |
-- $Id: gcpad_rx.vhd,v 1.2 2004-10-08 20:51:59 arniml Exp $ |
-- |
-- Copyright (c) 2004, Arnim Laeuger (arniml@opencores.org) |
-- |
63,7 → 63,7
-- Control Interface ------------------------------------------------------ |
rx_en_i : in boolean; |
rx_done_o : out boolean; |
rx_size_i : in std_logic_vector(6 downto 0); |
rx_size_i : in std_logic_vector(3 downto 0); |
-- Gamepad Interface ------------------------------------------------------ |
pad_data_i : in std_logic; |
-- Buttons Interface ------------------------------------------------------ |
149,6 → 149,7
-- |
seq: process (reset_i, clk_i) |
variable dec_timeout_v : boolean; |
variable size_v : std_logic_vector(num_buttons_read_t'range); |
begin |
if reset_i = reset_level_g then |
buttons_q <= (others => '0'); |
244,7 → 245,9
|
if reset_num_buttons_s then |
-- explicit preload |
num_buttons_read_q <= unsigned(rx_size_i); |
size_v(num_buttons_read_t'high downto 3) := rx_size_i; |
size_v(2 downto 0) := (others => '0'); |
num_buttons_read_q <= unsigned(size_v); |
elsif shift_buttons_s then |
-- decrement counter when a button bit has been read |
if not all_buttons_read_s then |
432,4 → 435,7
-- File History: |
-- |
-- $Log: not supported by cvs2svn $ |
-- Revision 1.1 2004/10/07 21:23:10 arniml |
-- initial check-in |
-- |
------------------------------------------------------------------------------- |
/trunk/gcpad/rtl/vhdl/gcpad_tx.vhd
2,7 → 2,7
-- |
-- GCpad controller core |
-- |
-- $Id: gcpad_tx.vhd,v 1.1 2004-10-07 21:23:10 arniml Exp $ |
-- $Id: gcpad_tx.vhd,v 1.2 2004-10-08 20:51:59 arniml Exp $ |
-- |
-- Copyright (c) 2004, Arnim Laeuger (arniml@opencores.org) |
-- |
64,7 → 64,7
-- Control Interface ------------------------------------------------------ |
tx_start_i : in boolean; |
tx_finished_o : out boolean; |
tx_size_i : in std_logic_vector( 4 downto 0); |
tx_size_i : in std_logic_vector( 1 downto 0); |
tx_command_i : in std_logic_vector(23 downto 0) |
); |
|
119,6 → 119,7
-- Implements the sequential elements of this module. |
-- |
seq: process (reset_i, clk_i) |
variable size_v : std_logic_vector(num_bits_t'range); |
begin |
if reset_i = reset_level_g then |
command_q <= (others => '1'); |
138,8 → 139,12
if load_command_s then |
command_q(24 downto 1) <= tx_command_i; |
command_q(0) <= '1'; |
num_bits_q <= unsigned(tx_size_i) + 1; |
|
-- workaround for GHDL concatenation |
size_v(num_bits_t'high downto 3) := tx_size_i; |
size_v(2 downto 0) := (others => '0'); |
num_bits_q <= unsigned(size_v) + 1; |
|
else |
if shift_bits_s then |
command_q(command_t'high downto 1) <= command_q(command_t'high-1 downto 0); |
301,4 → 306,7
-- File History: |
-- |
-- $Log: not supported by cvs2svn $ |
-- Revision 1.1 2004/10/07 21:23:10 arniml |
-- initial check-in |
-- |
------------------------------------------------------------------------------- |