📄 ps2_vga_top.v
字号:
module ps2_vga_top( clk, rst_n, ps2_clk, ps2_data, vga_hs, vga_vs, vga_r0, vga_g0, vga_b0 );input clk;input rst_n ;// synthesis attribute clock_buffer of rst_n is ibufg;inout ps2_clk;inout ps2_data;output vga_hs;output vga_vs; // sync signals for monitoroutput vga_r0, vga_g0, vga_b0;wire [4:0] ps2_status;wire ps2_key_data_ready;wire ps2_key_read_ready;wire ps2_key_released;wire tx_write;wire [7:0] ps2_ascii;wire [7:0] ps2_scan_code;wire [7:0] tx_data;wire ps2_tx_write_ack_o; ps2_vga ps2_vga_inst( .clk ( clk ), .rst_n ( rst_n ), .ps2_ascii ( ps2_ascii ), .ps2_data_ready ( ps2_key_data_ready ), .ps2_read ( ps2_key_read_ready ), .fg_color ( 3'b111 ), // white .bg_color ( 3'b000), // black .vga_hs ( vga_hs ), .vga_vs ( vga_vs ), .vga_r0 ( vga_r0 ), .vga_g0 ( vga_g0 ), .vga_b0 ( vga_b0 ) ); //----------------------------------------------------------- ps2_keyboard #(3000, // number of clks for 60usec. 12, // number of bits needed for 60usec. timer 1000000, // number of clks for debounce 20, // number of bits needed for debounce timer 1 // Trap the shift keys, no event generated ) keyboard_block ( // Instance name .clk ( clk ), .reset ( !rst_n ), .ps2_clk ( ps2_clk ), .ps2_data ( ps2_data ), .rx_extended ( ps2_status[1] ), .rx_released ( ps2_key_released ), .rx_shift_key_on ( ps2_status[3] ), .rx_scan_code ( ps2_scan_code ), .rx_ascii ( ps2_ascii ), .rx_data_ready ( ps2_key_data_ready ), .rx_read ( ps2_key_read_ready ), .tx_data ( tx_data ), .tx_write ( tx_write ), .tx_write_ack_o ( ps2_tx_write_ack_o ), .tx_error_no_keyboard_ack ( ps2_status[4] ) );endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -