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

Subversion Repositories ps2

[/] [ps2/] [tags/] [rel_14/] [rtl/] [verilog/] [ps2_top.v] - Diff between revs 2 and 13

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 2 Rev 13
Line 41... Line 41...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.1.1.1  2002/02/18 16:16:56  mihad
 
// Initial project import - working
 
//
//
//
 
 
`include "ps2_defines.v"
`include "ps2_defines.v"
// synopsys translate_off
// synopsys translate_off
`include "timescale.v"
`include "timescale.v"
Line 69... Line 72...
    ps2_kbd_data_pad_i,
    ps2_kbd_data_pad_i,
    ps2_kbd_clk_pad_o,
    ps2_kbd_clk_pad_o,
    ps2_kbd_data_pad_o,
    ps2_kbd_data_pad_o,
    ps2_kbd_clk_pad_oe_o,
    ps2_kbd_clk_pad_oe_o,
    ps2_kbd_data_pad_oe_o
    ps2_kbd_data_pad_oe_o
 
    `ifdef PS2_AUX
 
    ,
 
    wb_intb_o,
 
 
 
    ps2_aux_clk_pad_i,
 
    ps2_aux_data_pad_i,
 
    ps2_aux_clk_pad_o,
 
    ps2_aux_data_pad_o,
 
    ps2_aux_clk_pad_oe_o,
 
    ps2_aux_data_pad_oe_o
 
    `endif
) ;
) ;
 
 
input wb_clk_i,
input wb_clk_i,
      wb_rst_i,
      wb_rst_i,
      wb_cyc_i,
      wb_cyc_i,
Line 96... Line 110...
output ps2_kbd_clk_pad_o,
output ps2_kbd_clk_pad_o,
       ps2_kbd_data_pad_o,
       ps2_kbd_data_pad_o,
       ps2_kbd_clk_pad_oe_o,
       ps2_kbd_clk_pad_oe_o,
       ps2_kbd_data_pad_oe_o ;
       ps2_kbd_data_pad_oe_o ;
 
 
wire rx_extended,
`ifdef PS2_AUX
     rx_released,
output wb_intb_o ;
     rx_shift_key_on,
input ps2_aux_clk_pad_i,
     rx_data_ready,
      ps2_aux_data_pad_i ;
 
 
 
output ps2_aux_clk_pad_o,
 
       ps2_aux_data_pad_o,
 
       ps2_aux_clk_pad_oe_o,
 
       ps2_aux_data_pad_oe_o ;
 
 
 
assign ps2_aux_clk_pad_o  = 1'b0 ;
 
assign ps2_aux_data_pad_o = 1'b0 ;
 
`endif
 
 
 
wire rx_released,
 
     rx_kbd_data_ready,
     rx_translated_data_ready,
     rx_translated_data_ready,
     rx_read_wb,
     rx_kbd_read_wb,
     rx_read_tt,
     rx_kbd_read_tt,
     tx_write,
     tx_kbd_write,
     tx_write_ack,
     tx_kbd_write_ack,
     tx_error_no_keyboard_ack,
     tx_error_no_keyboard_ack,
     ps2_ctrl_kbd_data_en_,
     ps2_ctrl_kbd_data_en_,
     ps2_ctrl_kbd_clk_en_,
     ps2_ctrl_kbd_clk_en_,
     ps2_ctrl_kbd_clk,
     ps2_ctrl_kbd_clk,
     inhibit_kbd_if ;
     inhibit_kbd_if ;
 
 
wire [7:0] rx_scan_code,
wire [7:0] rx_scan_code,
           rx_translated_scan_code,
           rx_translated_scan_code,
           rx_ascii,
           tx_kbd_data ;
           tx_data ;
 
 
 
assign ps2_kbd_clk_pad_o  = 1'b0 ;
assign ps2_kbd_clk_pad_o  = 1'b0 ;
assign ps2_kbd_data_pad_o = 1'b0 ;
assign ps2_kbd_data_pad_o = 1'b0 ;
 
 
ps2_io_ctrl i_ps2_io_ctrl
ps2_io_ctrl i_ps2_io_ctrl_keyboard
(
(
    .clk_i                   (wb_clk_i),
    .clk_i                   (wb_clk_i),
    .rst_i                   (wb_rst_i),
    .rst_i                   (wb_rst_i),
    .ps2_ctrl_kbd_clk_en_i_  (ps2_ctrl_kbd_clk_en_),
    .ps2_ctrl_clk_en_i_  (ps2_ctrl_kbd_clk_en_),
    .ps2_ctrl_kbd_data_en_i_ (ps2_ctrl_kbd_data_en_),
    .ps2_ctrl_data_en_i_ (ps2_ctrl_kbd_data_en_),
    .ps2_kbd_clk_pad_i       (ps2_kbd_clk_pad_i),
    .ps2_clk_pad_i       (ps2_kbd_clk_pad_i),
    .ps2_kbd_clk_pad_oe_o    (ps2_kbd_clk_pad_oe_o),
    .ps2_clk_pad_oe_o    (ps2_kbd_clk_pad_oe_o),
    .ps2_kbd_data_pad_oe_o   (ps2_kbd_data_pad_oe_o),
    .ps2_data_pad_oe_o   (ps2_kbd_data_pad_oe_o),
    .inhibit_kbd_if_i        (inhibit_kbd_if),
    .inhibit_if_i        (inhibit_kbd_if),
    .ps2_ctrl_kbd_clk_o      (ps2_ctrl_kbd_clk)
    .ps2_ctrl_clk_o      (ps2_ctrl_kbd_clk)
);
);
 
 
ps2_keyboard #(`PS2_TIMER_60USEC_VALUE_PP, `PS2_TIMER_60USEC_BITS_PP, `PS2_TIMER_5USEC_VALUE_PP, `PS2_TIMER_5USEC_BITS_PP, 0)
`ifdef PS2_AUX
 
wire rx_aux_data_ready,
 
     rx_aux_read,
 
     tx_aux_write,
 
     tx_aux_write_ack,
 
     tx_error_no_aux_ack,
 
     ps2_ctrl_aux_data_en_,
 
     ps2_ctrl_aux_clk_en_,
 
     ps2_ctrl_aux_clk,
 
     inhibit_aux_if ;
 
 
 
wire [7:0] rx_aux_data,
 
           tx_aux_data ;
 
 
 
ps2_io_ctrl i_ps2_io_ctrl_auxiliary
 
(
 
    .clk_i               (wb_clk_i),
 
    .rst_i               (wb_rst_i),
 
    .ps2_ctrl_clk_en_i_  (ps2_ctrl_aux_clk_en_),
 
    .ps2_ctrl_data_en_i_ (ps2_ctrl_aux_data_en_),
 
    .ps2_clk_pad_i       (ps2_aux_clk_pad_i),
 
    .ps2_clk_pad_oe_o    (ps2_aux_clk_pad_oe_o),
 
    .ps2_data_pad_oe_o   (ps2_aux_data_pad_oe_o),
 
    .inhibit_if_i        (inhibit_aux_if),
 
    .ps2_ctrl_clk_o      (ps2_ctrl_aux_clk)
 
);
 
 
 
ps2_mouse #(`PS2_TIMER_60USEC_VALUE_PP, `PS2_TIMER_60USEC_BITS_PP, `PS2_TIMER_5USEC_VALUE_PP, `PS2_TIMER_5USEC_BITS_PP)
 
i_ps2_mouse
 
(
 
    .clk                         (wb_clk_i),
 
    .reset                       (wb_rst_i),
 
    .ps2_clk_en_o_               (ps2_ctrl_aux_clk_en_),
 
    .ps2_data_en_o_              (ps2_ctrl_aux_data_en_),
 
    .ps2_clk_i                   (ps2_ctrl_aux_clk),
 
    .ps2_data_i                  (ps2_aux_data_pad_i),
 
    .rx_scan_code                (rx_aux_data),
 
    .rx_data_ready               (rx_aux_data_ready),
 
    .rx_read                     (rx_aux_read),
 
    .tx_data                     (tx_aux_data),
 
    .tx_write                    (tx_aux_write),
 
    .tx_write_ack_o              (tx_aux_write_ack),
 
    .tx_error_no_ack             (tx_error_no_aux_ack)
 
);
 
 
 
`endif
 
 
 
ps2_keyboard #(`PS2_TIMER_60USEC_VALUE_PP, `PS2_TIMER_60USEC_BITS_PP, `PS2_TIMER_5USEC_VALUE_PP, `PS2_TIMER_5USEC_BITS_PP)
i_ps2_keyboard
i_ps2_keyboard
(
(
    .clk                         (wb_clk_i),
    .clk                         (wb_clk_i),
    .reset                       (wb_rst_i),
    .reset                       (wb_rst_i),
    .ps2_clk_en_o_               (ps2_ctrl_kbd_clk_en_),
    .ps2_clk_en_o_               (ps2_ctrl_kbd_clk_en_),
    .ps2_data_en_o_              (ps2_ctrl_kbd_data_en_),
    .ps2_data_en_o_              (ps2_ctrl_kbd_data_en_),
    .ps2_clk_i                   (ps2_ctrl_kbd_clk),
    .ps2_clk_i                   (ps2_ctrl_kbd_clk),
    .ps2_data_i                  (ps2_kbd_data_pad_i),
    .ps2_data_i                  (ps2_kbd_data_pad_i),
    .rx_extended                 (rx_extended),
 
    .rx_released                 (rx_released),
    .rx_released                 (rx_released),
    .rx_shift_key_on             (rx_shift_key_on),
 
    .rx_scan_code                (rx_scan_code),
    .rx_scan_code                (rx_scan_code),
    .rx_ascii                    (rx_ascii),
    .rx_data_ready               (rx_kbd_data_ready),
    .rx_data_ready               (rx_data_ready),
    .rx_read                     (rx_kbd_read_tt),
    .rx_read                     (rx_read_tt),
    .tx_data                     (tx_kbd_data),
    .tx_data                     (tx_data),
    .tx_write                    (tx_kbd_write),
    .tx_write                    (tx_write),
    .tx_write_ack_o              (tx_kbd_write_ack),
    .tx_write_ack_o              (tx_write_ack),
 
    .tx_error_no_keyboard_ack    (tx_error_no_keyboard_ack),
    .tx_error_no_keyboard_ack    (tx_error_no_keyboard_ack),
    .translate                   (translate)
    .translate                   (translate)
);
);
 
 
ps2_wb_if i_ps2_wb_if
ps2_wb_if i_ps2_wb_if
Line 171... Line 240...
    .wb_ack_o                      (wb_ack_o),
    .wb_ack_o                      (wb_ack_o),
 
 
    .wb_int_o                      (wb_int_o),
    .wb_int_o                      (wb_int_o),
 
 
    .rx_scancode_i                 (rx_translated_scan_code),
    .rx_scancode_i                 (rx_translated_scan_code),
    .rx_data_ready_i               (rx_translated_data_ready),
    .rx_kbd_data_ready_i           (rx_translated_data_ready),
    .rx_read_o                     (rx_read_wb),
    .rx_kbd_read_o                 (rx_kbd_read_wb),
    .tx_data_o                     (tx_data),
    .tx_kbd_data_o                 (tx_kbd_data),
    .tx_write_o                    (tx_write),
    .tx_kbd_write_o                (tx_kbd_write),
    .tx_write_ack_i                (tx_write_ack),
    .tx_kbd_write_ack_i            (tx_kbd_write_ack),
    .translate_o                   (translate),
    .translate_o                   (translate),
    .ps2_clk_i                     (ps2_kbd_clk_pad_i),
    .ps2_kbd_clk_i                 (ps2_kbd_clk_pad_i),
    .inhibit_kbd_if_o              (inhibit_kbd_if)
    .inhibit_kbd_if_o              (inhibit_kbd_if)
 
    `ifdef PS2_AUX
 
    ,
 
    .wb_intb_o                     (wb_intb_o),
 
 
 
    .rx_aux_data_i                 (rx_aux_data),
 
    .rx_aux_data_ready_i           (rx_aux_data_ready),
 
    .rx_aux_read_o                 (rx_aux_read),
 
    .tx_aux_data_o                 (tx_aux_data),
 
    .tx_aux_write_o                (tx_aux_write),
 
    .tx_aux_write_ack_i            (tx_aux_write_ack),
 
    .ps2_aux_clk_i                 (ps2_aux_clk_pad_i),
 
    .inhibit_aux_if_o              (inhibit_aux_if)
 
    `endif
) ;
) ;
 
 
ps2_translation_table i_ps2_translation_table
ps2_translation_table i_ps2_translation_table
(
(
    .reset_i                    (wb_rst_i),
    .reset_i                    (wb_rst_i),
Line 193... Line 275...
    .address_i                  (8'h00),
    .address_i                  (8'h00),
    .data_i                     (8'h00),
    .data_i                     (8'h00),
    .we_i                       (1'b0),
    .we_i                       (1'b0),
    .re_i                       (1'b0),
    .re_i                       (1'b0),
    .data_o                     (),
    .data_o                     (),
    .rx_data_ready_i            (rx_data_ready),
    .rx_data_ready_i            (rx_kbd_data_ready),
    .rx_translated_data_ready_o (rx_translated_data_ready),
    .rx_translated_data_ready_o (rx_translated_data_ready),
    .rx_read_i                  (rx_read_wb),
    .rx_read_i                  (rx_kbd_read_wb),
    .rx_read_o                  (rx_read_tt),
    .rx_read_o                  (rx_kbd_read_tt),
    .rx_released_i              (rx_released),
    .rx_released_i              (rx_released)
    .rx_extended_i              (rx_extended)
 
) ;
) ;
 
 
endmodule // ps2_top
endmodule // ps2_top
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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