§ Код

Скачать готовый шаблон модуля ps2keyboard.v.gz
Скан-коды

§ TOPLevel

wire [7:0] ps2data;

// Контроллер клавиатуры
ps2keyboard keyb
(
    .CLOCK_50           (clock_50),    // Тактовый генератор на 50 Мгц
    .PS2_CLK            (ps2_keyb[1]), // Таймингс PS/2
    .PS2_DAT            (ps2_keyb[0]), // Данные с PS/2
    .received_data      (ps2data),     // Принятые данные
    .received_data_en   (ps2hit),      // Нажата клавиша
);

// Прием символа (пример)
always @(posedge clock_50) begin

    if (ps2hit)
        led[3:0] <= ps2data[3:0];

end

§ Общий вид (верхний уровень)

PS2_Controller Keyboard
(
    /* Вход */
    .CLOCK_50       (clock_50),
    .reset          (kbd_reset),
    .the_command    (ps2_command),
    .send_command   (ps2_command_send),

    /* Ввод-вывод */
    .PS2_CLK        (ps2_keyb[1]),
    .PS2_DAT        (ps2_keyb[0]),

    /* Статус команды */
    .command_was_sent              (ps2_command_was_sent),
    .error_communication_timed_out (ps2_error_communication_timed_out),

    /* Выход полученных */
    .received_data      (ps2_data),
    .received_data_en   (ps2_data_clk)
);