FPGA的结构特点与开发
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.
- 用大电流LDO为FPGA供电需要低噪声、低压差和快速瞬态响应(08-17)
- 基于FPGA 的谐波电压源离散域建模与仿真(01-30)
- 基于FPGA的VRLA蓄电池测试系统设计(06-08)
- 降低从中间总线电压直接为低电压处理器和FPGA供电的风险(10-12)
- FPGA和功能强大的DSP的运动控制卡设计(03-27)
- DE0-Nano-SoC 套件 / Atlas-SoC 套件(10-30)