§ Код

Скачать готовый шаблон модуля 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);