赞
踩
目录
编辑整理 by Staok,始于 2021.2 且无终稿。转载请注明作者及出处。整理不易,请多支持。
本文件是“瞰百易”计划的一部分,尽量遵循“二项玻”定则,致力于与网络上碎片化严重的现象泾渭分明!
本文系广泛撷取、借鉴和整理,适合刚入门的人阅读和遵守,已经有较多经验的人看一看图个乐,如有错误恭谢指出!本文已经是长期积累和堆叠而形成一定规模,不必按照从前到后的顺序去看,可以挑感兴趣的章节去看。
本文为简述风格,本意即记录要点和便于快速拾起。
本文对应的 Github/Gitee 仓库地址,本文最新的原文 和 一些源码、备查手册等等 均放在里面。
p.s 以下为列举日常项目中用到的可以开源的部分模块源码(Verilog or VHDL)或者实现思想(就是留个坑,但还没写)。
Github 上有哪些优秀的 Verilog/FPGA 项目? 有很多好的推荐项目和回答!
WangXuan95 (WangXuan95) / Repositories (github.com) 开源了许多 Verilog IP。
Alex Forencich 的 GitHub 主页 开源了许多 Verilog IP,Verilog IP cores - Alex Forencich。
FreeCores (github.com) A home for open source hardware cores。
文件位置:./pConst 的 basic_verilog-master.zip
OpenCores。在这个网站上可以看到各种经过工程师验证过的内核,比如8051、OpenRisc、AVR、MIPS32等。
NingHeChuan 的 ip_lib ——构建自己的IP库,搭建起你的数字积木。
文件位置:./FPGA学习和规范 的参考源码/NingHeChuan 的 ip_lib/
类MCU的时间片轮询实现,晶振时钟通过PLL IP得到准确时钟,每个PLL有五个输出,分别分频得到运行周期为 10MHz、5MHz、1MHz、1KHz、100Hz的程序的入口,把不同功能的程序直接放在想要按照某个周期运行的程序入口即可。这个直接写到模板的Top文件即可,不用作为一个模块。
根据寄存器或者外部引脚的电平组合等信息,可以在运行时任设或者有限改动FPGA内部逻辑的输出引脚,就像STM32的外设引脚切换或者K10的FPIOA一样允许用户将255个内部功能映射到芯片外围的48个自由IO上。
按键消抖
思想:当“按键可以检测标志位”有效时,按下的边沿触发启动一计数器,同时标记“按键可以检测标志位”失效,当计数器计数到一定值后,再检测按键是否处于按下状态,如果是则标记“按键有效”标志位做输出,如果不是则停止计数,同时标记“按键可以检测标志位”有效,同时清空计数值。
sopc 读取外部按键设计思路,引脚输入后先在FPGA的逻辑上先实现一个去抖,然后把无毛刺的稳定的信号传给 nios ii 输入脚,然后 nios ii 里面实现一个外部引脚沿中断。
文件位置:./FPGA学习和规范 的参考源码/按键消抖/
特定序列检测与发送
思想:用 case 语句实现简单的一段状态机即可。
PWM信号产生
思想:占空比值与一个向上计数器计数值比较,当占空比值比计数值大时输出高电平,小时输出低电平。
参考“小梅哥 AC620V2开发板配套资料”的无源蜂鸣器章节和例程。
I2C模块
SPI模块
择时更新,交流可催更
UART模块 看《FPGA设计-实战演练(逻辑篇)》 吴厚航 的随书源码。(@TODO 不过这个程序的最外层还不够明朗,需要再整理简化使用)
状态机
注意点:
参考:
…
《硬件架构的艺术:数字电路的设计方法与技术》,该书的译者序:“…实用且有效…作者系统打造出一栋由实用技术组成的大厦……一切从解决问题出发,解释怎么做,并给出原理图和代码,以及解决方案……本书主要内容涉及时钟和复位、多时钟域设计、时钟分频器、低功耗设计技术、流水线技术、字写顺序、消抖技术和电磁兼容性等内容”。该书针对以上方面给出了很多设计策略和实用方法,或者说对很多模块的设计给出了推荐的 HDL 和电路,适合当作工具书手办阅读。该书罗列了很多应该避免的有隐患的(甚至仿真的时候不容易发现而实际运行时候容易出问题的种种情况)综合后的数字逻辑电路,并由此给出了很多应该避免的 HDL 写法,以及查看综合后电路是否有已知的隐患;并也给出了推荐的数字电路形式。该书在网上容易下载到电子版。
p.s 本文一部分来自自己总结的经验,一部分来自参考。参考不是照搬,是选择我认为的精髓,每个人不同,所以推荐看一下这些参考,TA们都提供了很好的技巧。当然也许还有很多更好的资料,可以留言推荐。
p.s 正文中某些段落内容的旁边已经加注了参考和引用源,这里列出剩下的引用源。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。