在Basys3 FPGA上使用4x4键盘

时间:2019-03-17 14:09:44

标签: vhdl fpga vivado keypad

我想使用Vivado编写一个简单的VHDL程序,以注册来自4x4键盘(this model)的输入,并将该值显示在该板具有的7段显示器上。

为此,通过阅读Basys3 manual,我想我必须通过以下方式将行和列引脚连接到Pmod端口之一(我想使用JB Pmod端口):< / p>

  

A14到第1行,A16到第2行,B15到第3行,B16到第4行

     

从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

我的问题是。我如何开始解决这个问题?根据诸如this one之类的其他问题,col_vector是输出,我不明白为什么。我想使用this webpage的教程来研究这个项目。

我知道如何为按键和状态机实现去抖动器,以完成链接页面所具有的步骤,但是我的问题是我不理解如何从键盘读取输入,因为我执行了所有项目已经读了板子附带的按钮,而且更简单。

0 个答案:

没有答案