 
- UID
- 1023229
- 来自
- 中国
|


FPGA的开发之前,我们就要了解FPGA有什么资源,了解了这些之后,在进行芯片设计的时候才能充分利用资源以实现更好地性能,节约面积和功耗等等。
FPGA设计主要由以下的6部分组成:
1、IOB(输入输出块):就是芯片与外界电路的接口,这些接口可以有不同的电气特性,可以改变驱动的电压,并确定是输入还是输出,上拉还是下拉电阻。
2、CLB(可配置逻辑单元):基本逻辑单元,可以实现组合逻辑,时序逻辑,还可以配置为分布式RAM和ROM。
3、DCM(数字时钟管理模块):PCM和PLL。
4、RAM(随机访问内存):可以配置为单端口RAM,双端口RAM,内容地址存储器(CAM)以及FIFO等常用存储结构。
5、布线资源:FPGA的线的资源可以分为:
1、全局资源:比如全局时钟,全局复位/置位; 2、长线资源,芯片bank间的高速信号和第二全局时钟的布线;
3、短线资源:用于完成基本逻辑单元之间的逻辑互联和布线;
4、用于分布式的布线资源,用于专有时钟、复位等控制信号。
6、底层内嵌功能单元:DLL(delay locked loop),PLL(phase locked loop),DSP等软处理核。其实就是已经用代码编好的封装好的verilog代码,调用它就可以实现所需的功能,比如PLL,调用它的话就可以为你配置好一个PLL。我觉得这个东西很像c语言中的库。
7、嵌入式专用硬核:就是相比软核而言已经为你配置好的的单片机。比如power PC和一些dsp。
我们经常会听到IP核,其实一般来说,IP核分成以下三种:
1. 软核(Soft IP Core) :软核在 EDA 设计领域指的是综合之前的寄存器传输级 (RTL) 模型 ;具体在 FPGA 设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合以及布局布线才能使用。其优点是灵活性高、可移植性强,允许用户自配置 ;缺点是对模块的预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。软核是 IP 核应用最广泛的形式。
2. 固核(Firm IP Core):固核在 EDA 设计领域指的是带有平面规划信息的网表;具体在 FPGA 设计中可以看做带有布局规划的软核,通常以 RTL 代码和对应具体工艺网表的混合形式提供。将 RTL 描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。和软核相比,固核的设计灵活性稍差,但在可靠性上有较大提高。目前,固核也是 IP 核的主流形式之一。
3. 硬核 (Hard IP Core):硬核在 EDA 设计领域指经过验证的设计版图 ;具体在 FPGA 设计中指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。不能修改的原因有两个 :首先是系统设计对各个模块的时序要求很严格,不允许打乱已有的物理版图 ;其次是保护知识产权的要求,不允许设计人员对其有任何改动。IP 硬核的不许修改特点使其复用有一定的困难,因此只能用于某些特定应用,使用范围较窄。
|
|