怎样在设计中添加FIFO宏模块

quartus软件内置了很多我们经常用到的电路模块,统称为宏模块,在做EDA设计的时候,我们可以直接调用他们来简化设计过程。不要小看了宏模块,如果利用得当,可以省去你一多半的设计时间呢。这里以FIFO先进先出宏模块为例,说明在quartus中怎样添加宏模块。

【quartus】怎样在设计中添加FIFO宏模块

工具/原料

  • quartus II 9.0

步骤/方法

  1. 执行菜单【File】-【Open Project…】命令,在quartus中打开一个设计项目

    【quartus】怎样在设计中添加FIFO宏模块
  2. 执行菜单【Tools】-【Megawizard Plug-In Manager…】命令,打开Megawizard Plug-In Manager设置向导

    【quartus】怎样在设计中添加FIFO宏模块
  3. 这里我们是添加一个全新的宏模块,所以选择【Creat a new custom megafunction variation】,点击【next】按钮

    【quartus】怎样在设计中添加FIFO宏模块
  4. 右上方会显示你所用的芯片系列,在左侧树形列表里选择你需要的宏模块,这里选择【Memory Compiler】-【FIFO】先进先出模块,选择所要生成的语言和FIFO模块的存储路径及文件名,点击【next】按钮

    【quartus】怎样在设计中添加FIFO宏模块
  5. How wide should the FIFO be?后填写你建立的FIFO位宽多少,How deep should the fifo be?后填写你的FIFO深度,也就是能装多少个数据,下一步【next】

    【quartus】怎样在设计中添加FIFO宏模块
  6. 一般情况下,FIFO输出我们只选择数据q[#:0]和empty就可以了,所以去掉empty以为所有项目前的对勾,下一步【next】

    【quartus】怎样在设计中添加FIFO宏模块
  7. 这一步可以默认设置不变,下一步【next】

    【quartus】怎样在设计中添加FIFO宏模块
  8. 一般情况下在page 6 of 8 中选择【Yes(best speed)】,下一步【next】,page7 of 8默认不变,下一步【next】

    【quartus】怎样在设计中添加FIFO宏模块
    【quartus】怎样在设计中添加FIFO宏模块
  9. 宏模块向导最后一步,这里会显示向导生成的所有文件名,及其描述,一般情况下默认即可,点击【finis】保存并退出向导

    【quartus】怎样在设计中添加FIFO宏模块
  10. 我们可以在软件的【project Navigator】-【Files】中看到我们新添加的宏模块文件,因为在第4步我们选择的是Verilog HDL,所以生成文件是Verilog HDL代码编写的。

    【quartus】怎样在设计中添加FIFO宏模块
    END

注意事项

  • 读者可以依照此过程,添加其他宏模块到自己的设计中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、设计按键FIFO的优点   要介绍实现按键FIFO的优点,首先要了解FIFO的一些基本概念。FIFO即First In First Out,是一种先进先出的数据缓存方式,例如在超市购物之后我们会提着满满的购物车来到收银台排在结账队伍的最后等待付款,先排队的客户先付款离开,后面排队的只有等待前面付款离开才能进行付款。说白了FIFO就是这样一种先进先出机制,先存入的数据在读取时最先被读取到。   设计按键FIFO注意有三个方面的优点(来自于安富莱电子Eric2013大佬总结):   1、可以有效记录按键事件的发生,特别是系统要实现记录按键按下、松开、长按时,使用FIFO来实现是一种不错的选择方式。   2、系统是阻塞的,这样系统在检测到按键按下的情况,由于机械按键抖动的原因不需要在这里等待一段时间,然后在确定按键是否正常按下。   3、按键FIFO程序在系统定时器定时检测按键状态,确认按键按下后将状态写入FIFO,不一定在主程序一直做检测,这样可以有效降低系统资源的消耗。 2、按键的硬件设计   按键的原理图如上图所示,对于KEY0~KEY2这三个按键,一端接地,另一端连接stm32的GPIO端口。当按键按下时相应的IO口被拉低,如果把GPIO口配置为输入模式,此时读取相应的IO口电平,就可以检测到按键是否被按下。对于KEY_UP按键则是与前面三个按键相反,IO口配置为输入模式时,读取到高电平时表示按键按下。因为机械固有的物理特性,按键按下内部弹簧片在瞬间接触的时候会有力学的回弹,造成2-8毫秒内信号不稳定,所以在设计检测机械按键是否按下的程序时,应考虑到按键消抖问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值