fpga的结构特点与开发
我这个题目想说明的是,fpga的内部的有其相应的fabric,如何在开发过程中最好最大限度的使用它。
其中有些内容是我阅读xilinx网站上提供的xapp手册学习到的,我在这里再次谈到它们,是因为的确是太好用了。
1.srl16
srl16在实现延时、闭环实现占空比可控的触发脉冲方面很方便,代码中例化它,会使代码比较简洁。在调试时,调整延时量也很方便。使用它要注意的是它的tcko比较大,对时序会是一个瓶颈。扬长避短,在适当的地方加一个触发器dff,再输出使用。
2.startup
startup模块,对很多人很陌生,在实际设计中使用它很少。但如果使用它,会给设计带来很大的可靠性和编码简便性。我了解了一下,有朋友“排斥”它,是因为它不能仿真,确切的说在仿真的时候带来很大的麻烦。其实不然,modelsim是支持它仿真的。要想好好的了解它,网上可以搜索到有关如何使用它的一篇文档《verilog gsr/gts simulation methodology》,很多人都使用过mcu、dsp芯片,startup就相当于这些器件内部的全局复位管理单元。但startup有比它们更优势的一面,节省布线资源,同时节省生成bit流的时间。
3.bram
bram是一个很牛的东西,它可以实现复杂数学运算,可参考《插值查找表:实现dsp功能的简便方法》;可以将一些复杂的大逻辑放在bram中实现;拟合运算也可以高效的实现。要高效的使用它,可以在设计中直接例化,但这不是最好的方法。xst工具有相应的综合约束语法,可以在代码中用hdl语言描述,在综合的时候告诉xst综合为bram即可。
4.全局时钟相关的基元
涉及到时钟方面的设计内容,一定要采用例化方式,这也是目前的设计主流方法。另外,现在fpga发展很快,xilinx推出了很多革新的器件,这些器件提供了花样繁多的buf,像bufh,bufio等等。使用它们之前一定要仔细阅读资料,因为他们的使用对io或io bank是有严格要求的,有些buf只能与特定的管脚相连,否则process中map阶段不能通过。这样既开发时间,又需要该做pcb.
AI PC 灵魂拷问
魅族pro7什么时候上市?魅族PRO7首发联发科X30,小米6首发骁龙835,究竟谁能笑到最后?
2018中国工业机器人市场现状,工业机器人产量和销量双增长
三相电接上线电灯不亮的原因
受到COVID-19严重影响的国家将如何正确恢复呢?
FPGA的结构特点与开发
无线射频识别软件和中间件系统简介
苹果确认部分iPhone13存在bug_苹果十三还继续香吗
如何正确安装无线振动传感器
Pixel 4将搭载更新率更高的屏幕让触控更加流畅
晶方科技:拟270万欧元购买Anteryon公司6.61%股权
MAX3541一次变频电视调谐器
5G在智慧教育领域催生5G+超高清远程互动教学
康瑞连接器讲解定制高速连接器需的考虑问题
小米6Plus什么时候上市最新消息:小米6Plus有望7月推出,8G内存+6寸屏幕华为颤抖
WiFi 6比WiFi 5相比较,哪些方面增强了
到2020年,中国智慧城市的支出将增长12.7%
高速PCB可控性与电磁兼容性设计
三款高精度放大电路图
Linux桌面系统市场份额首次突破3%