📄 mouse_avalon_interface.v
字号:
/****************************************Copyright (c)**************************************************
** Guangzou ZLG-MCU Development Co.,LTD.
** graduate school
** http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name: mouse_avalon_interface.v
** Last modified Date: 2006-04-14
** Last Version: 1.0
** Descriptions: mouse logic
**------------------------------------------------------------------------------------------------------
** Created by: RuiWenBin
** Created date: 2006-04-14
** Version: 1.0
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
module mouse_avalon_interface(
//Avalon Signals
clock,
reset_n,
chip_select,
address,
read,
read_data,
interrupt,
//Mouse Output Signals
ps2_clk,
ps2_data
);
//Avalon_Slave_pled Avalon I/O
input clock; //System clock - tied to all blocks
input reset_n; //System reset - tied to all blocks
input chip_select; //Avalon Chip select
input address; //Avalon Address bus
input read; //Avalon Read signal
output [31:0] read_data; //Avalon Read data bus
output interrupt; //System interrupt
//Avalon_Slave_mouse Exported I/O
inout ps2_clk;
inout ps2_data;
wire left_button;
wire right_button;
wire middle_button;
wire[8:0] x_increment;
wire[8:0] y_increment;
wire data_ready;
wire reset;
wire ps2_clk_in;
wire ps2_clk_out;
wire ps2_clk_dir;
wire ps2_data_in;
wire ps2_data_out;
wire ps2_data_dir;
assign ps2_clk = (ps2_clk_dir) ? ps2_clk_out : 1'bz;
assign ps2_data = (ps2_data_dir) ? ps2_data_out : 1'bz;
assign ps2_clk_in = ps2_clk;
assign ps2_data_in = ps2_data;
//Mouse Instance
ps2_mouse_interface u1(
.clock(clock ),
//********************
.reset(reset),
.x_increment(x_increment),
.y_increment(y_increment),
.left_button(left_button),
.right_button(right_button),
.middle_button(middle_button),
.data_ready(data_ready),
//********************
.ps2_clk_in(ps2_clk_in),
.ps2_clk_out(ps2_clk_out),
.ps2_clk_dir(ps2_clk_dir),
.ps2_data_in(ps2_data_in),
.ps2_data_out(ps2_data_out),
.ps2_data_dir(ps2_data_dir)
);
//Register File instance
mouse_register_file u2(
.clock(clock),
.reset_n(reset_n),
.chip_select(chip_select),
.address(address),
.read(read),
.read_data(read_data),
.interrupt(interrupt),
//********************
.reset(reset),
.x_increment(x_increment),
.y_increment(y_increment),
.left_button(left_button),
.right_button(right_button),
.middle_button(middle_button),
.data_ready(data_ready)
);
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -