2015-11-23 1 views
-1

Я пытаюсь создать систему паролей с FPGA и verilog baysis2, которая проверяет пароль, который вводится с клавиатуры. Мне нужно убедиться, что моя клавиатура работает нормально, так как кажется, что она немного глючит. Мне сказали, что лучший способ убедиться, что моя клавиатура отправляет данные на доску, - это проверить, достаточно ли ps2d и ps2c, когда я нажимаю кнопку, что имеет смысл. Проблема в том, что при тестировании два светодиода, которые я связывал ps2d и ps2c, являются ВСЕГДА LOGICAL HIGH, даже когда клавиатура отключена! Это какая-то особенность verilog/Xilinx ISE или у моей платы плохой порт?Baysis2 Порты клавиатуры всегда высоки

Следующий мой код Verilog.

module wtf(ps2d, ps2c, ps2dout, ps2cout); 

    input wire ps2d, ps2c; 
    output wire ps2dout, ps2cout; 

    assign ps2dout = ps2d; 
    assign ps2cout = ps2c; 

endmodule 

Со следующим ограничением файла

NET "ps2c" LOC = "B1" | DRIVE = 2 | PULLUP ; 
NET "ps2d" LOC = "C3" | DRIVE = 2 | PULLUP ; 
NET "ps2cout" LOC = "G1" ; 
NET "ps2dout" LOC = "P4" ; 
+0

Почему у вас есть 4 контакта? PS/2 - двунаправленная 2-проводная шина. – Paebbels

+0

2 для проводов ps/2, 2 для светодиодов для тестирования. –

ответ

1

Ну, файл UCF позволяет внутренним подтягиваний на этих штырей, поэтому чтение тех выше, ни с чем подключен именно то, что он должен делать.

+0

Ах спасибо. Я взял это прямо из ссылки, не зная, что он делает. Какой смысл использовать PULLUP? Зачем читать ввод, если он всегда будет установлен высоким? –

+0

Он обеспечивает, чтобы штырь всегда находился на определенном уровне, даже если ничего не подключено. Если что-то, связанное с штифтом, потянет его, то оно будет считаться низким. –

Смежные вопросы