Используйте клавиатуру 4x4 на Basys3 FPGA - PullRequest
0 голосов
/ 17 марта 2019

Я хочу создать простую программу VHDL, использующую Vivado для регистрации ввода с клавиатуры 4x4 ( эта модель ) и отображения этого значения на 7-сегментном дисплее, который есть на этой плате.

Для этого, прочитав руководство Basys3 , я предполагаю, что мне нужно подключить выводы строки и столбца к одному из портов Pmod (я хочу использовать порт JB Pmod) следующим образом:

от A14 до Row1, от A16 до Row2, от B15 до Row3, от B16 до Row4

от A15 до Col1, от A17 до Col2, от C15 до Col3, от C16 до Col4

и сущность для использования должна быть похожа на эту

entity Keypad is
    Port (
        clk        : in  std_logic; 
        reset      : in  std_logic;
        row_vector : in  std_logic_vector(3 downto 0);
        col_vector : out std_logic_vector(3 downto 0);
        code       : out std_logic_vector(3 downto 0)
    );
end Keypad;

, поэтому я могу использовать row_vector [0], row_vector [1], row_vector [2] и row_vector [3] в качестве Row1, Row2, Row3 и Row4 соответственно и то же самое со столбцами.

Кодовая переменная примет свое значение в соответствии со следующей таблицей

enter image description here

Мой вопрос.Как мне начать реализовывать эту проблему?По некоторым другим вопросам, таким как , этот , col_vector является выходным, и я не понимаю, почему.Я хочу подойти к этому проекту, используя учебник этой веб-страницы .

Я знаю, как реализовать расшифровщик для клавиш и конечного автомата для выполнения шагов, которые имеет связанная страница, но моя проблема в том, что я не понимаю, как читать ввод с клавиатуры, так как всепроекты, которые я делал, читали кнопки, поставляемые с платой, и они были проще.

...