§ Код
Скачать готовый шаблон модуля ps2keyboard.v.gzСкан-коды
§ TOPLevel
1wire [7:0] ps2data; 2 3// Контроллер клавиатуры 4ps2keyboard keyb 5( 6 .CLOCK_50 (clock_50), // Тактовый генератор на 50 Мгц 7 .PS2_CLK (ps2_keyb[1]), // Таймингс PS/2 8 .PS2_DAT (ps2_keyb[0]), // Данные с PS/2 9 .received_data (ps2data), // Принятые данные 10 .received_data_en (ps2hit), // Нажата клавиша 11); 12 13// Прием символа (пример) 14always @(posedge clock_50) begin 15 16 if (ps2hit) 17 led[3:0] <= ps2data[3:0]; 18 19end
§ Общий вид (верхний уровень)
1PS2_Controller Keyboard 2( 3 /* Вход */ 4 .CLOCK_50 (clock_50), 5 .reset (kbd_reset), 6 .the_command (ps2_command), 7 .send_command (ps2_command_send), 8 9 /* Ввод-вывод */ 10 .PS2_CLK (ps2_keyb[1]), 11 .PS2_DAT (ps2_keyb[0]), 12 13 /* Статус команды */ 14 .command_was_sent (ps2_command_was_sent), 15 .error_communication_timed_out (ps2_error_communication_timed_out), 16 17 /* Выход полученных */ 18 .received_data (ps2_data), 19 .received_data_en (ps2_data_clk) 20);