当前位置:   article > 正文

fpga实操训练(按键输入)_quartus怎么设置用电脑键盘输入

quartus怎么设置用电脑键盘输入

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        在fpga上面进行按键的输入,要比stm32编写按键输入要容易的多。这里面最主要的工作就是把led输出和按键输入绑定在一起。当然,因为按键抖动的关系,需要进行一定的节拍延迟,再将信号传递给led。

   

1、普通按键输入 

  1. module key_test(clk, key, led);
  2. input clk;
  3. input key;
  4. output led;
  5. wire clk;
  6. wire[3:0] key;
  7. wire[3:0] led;
  8. reg[3:0] tmp1;
  9. reg[3:0] tmp2;
  10. always @(posedge clk)
  11. tmp1 <= ~key;
  12. always @(posedge clk)
  13. tmp2 <= tmp1;
  14. assign led = tmp2;
  15. endmodule

        如上面代码所示,按键因为是被按下的时候是低电平,所以需要进行取反的动作。按键输入key首先会被传递给tmp1,tmp1会传递给tmp2。最后led输出的时候,才会将tmp2输出给led灯。

          等完成了verilog编译之后,就需要把信号和pin脚bind在一起。这里需要注意的是key[0]。原来key0用的是reset引脚,因为这里是对key输入进行测试,取消了复位信号,所以这里的key[0]指向了N13这个引脚。

        做好了上面这几个步骤之后,就完成了按键和led灯之间的映射关系。按下key0,led0灯亮;按下key1,则led1灯亮,以此类推。

2、fpga程序的保存和烧入

        前面fpga虽然也生成了sof文件,但是这是通过jtag烧入的。如果断电之后,fpga的程序就丢失了。所以,最好的方法还是需要把程序保存在spi norflash里面。正好quartus也提供了这样的接口,选择“File”-》“Convert Programming Files”,

         这个时候,不出意外就会出现这样的窗口,

         需要配置的有4个地方。1是设置最终要烧入的文件类型。2是选择norflash的类型。3是选择fpga的类型。4是选择要转化的文件。其中2和3根据自己开发板的情况灵活进行选择。如果一切OK,单击Generate按钮即可。

         有了生成的jic文件,下面就可以准备烧入了。选择“Tools”-》“Programmer”。这时双击文件,重新选择刚刚生成的jic文件,

         等选择之后,会发现烧入的界面发生了改变。

        先勾上Erase,单击start,过一会应该就能erase完毕。

         再次勾上Program/Configure,单击start。注意先把Erase取消掉,

         等到这些都做完之后,整个烧入就结束了。为了测试jic是不是真的烧入到flash当中了,可以先断电,再上电。如果相关功能还保留着,那说明确实烧入到flash里面去了。否则,就需要检查一下为什么烧入失败了。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号