1.1 FPGA芯片结构
1. 可编程输入输出单元(I/O)
芯片连接外围电路所提供的接口单元,完成对输入输出信号在不同电气特性下的驱动与匹配要求。
2. 可配置逻辑块(CLB)
用户实现自定义的逻辑点库的基本单元,由多路复用器与触发器组成,可以实现组合逻辑、移位寄存器、RAM。
3. 数字时钟管理模块
4. 嵌入式块RAM
调用这一部分的资源可以节约FF触发器和4-LUT等底层可编辑逻辑资源,可以被综合成ROM、单端口RAM、双端口RAM、以及FIFO等常用存储结构。
5. 丰富的布线资源
信号的传输速度与输入输出的能力受布线的工艺和长度的影响。布线资源可以分成四类:
全局布线资源、长线资源、短线资源、分布式资源。
6. 底层内嵌功能单元
DLL、PLL、DSP、CPU等,越来越丰富的底层内嵌功能单元,不仅使具有了软硬件协同设计的能力,而且逐步使FPGA成为系统及的设计工具。
7. 内嵌专用硬核
FPGA的特点如下:
1)具有丰富的FF出发器结构,更适用于完成时序逻辑电路的设计
2)存在分段式布线结构决定了其信号在不线上的延时使不可预测的
3)具有较大的编程灵活性,主要通过改变内部的连线来编程,可以在逻辑门下完成编程
4)集成度较高,具有丰富的布线结构与逻辑实现
5)基于SRAM编程,可以编程任意次,实现板级和系统级的动态配置
1.2 工作原理
当用户通过原理图或者HDL语言描述了一个逻辑电路以后,开发软件进行逻辑综合之后,并将结果写入SRAM中,每一组输入信号就等于需要进行查表的地址值,随后寻找出对应地址的内容,然后输出。
FPGA可以反复编程的本质是存在查找表(look_up_table,LUT),本质上就是一种RAM,但是LUT具有更快的执行速度和更大的规模。
FPGA的四种配置模式:
1、串行模式:PROM串行配置
2、并行模式:Flash、PROM
3、主从模式:一片PROM配置多个FPGA
4、外设模式:作为微处理器的外设
1.3 FPGA主要器件
1.4 FPGA设计流程
1.分析需求
自顶向下,划分模块
2.各个子模块HDL设计
3.各个子模块前仿真
4.各个模块整合成系统进行设计
5.系统逻辑综合
将较高级的抽象层的描述转化为较低门级描述的过程
6.布局布线
布局:将芯片内部的逻辑单元进行合理的配置
布线:根据布局的几何结构,合理正确的利用芯片内部的连线资源进行元件连接
7.后仿真
时序仿真:将芯片和走线延时信息标注到网表中进行判断是否满足每一个触发器的建立时间与保持时间要求。反映的是整个系统的实际工作情况,可以知道关键路径是否满足时序要求。
8.程序下载调试
反复
1.5 开发工具
设计工具、综合工具、仿真工具、布局布线工具、验证与调试工具