SOC常见问题解答
【时间:2014 年 03 月 03 日, 来源:原创, 作者:王兴伟】
Altera SOC FPGA 是一款非常有创意的产品。在同一片芯片上包括传统FPGA的逻辑单元部分和高性能的ARM处理器部分。为了满足客户们对芯片的性能、功耗、体积等方面越来越高的要求,Altera的SOC FPGA 具有非常多的特性。对FPGA和嵌入式开发人员提出了更多的要求。在本文中把客户工程师经常问到的问题进行总结。
1,SOC FPGA中的ARM是软核还是硬核?ARM核的外设是软核还是硬核?
SOC FPGA中的ARM和是硬核。所以又简称HPS,Hardware Processor System
2,ARM处理器核是包含于FPGA 逻辑单元内部的吗?
如下图所示。刚开始接触SOC FPGA就可以认为,FPGA和ARM(HPS)处理器只是封装到同一个芯片中,JTAG接口、电源引脚和外设的接口引脚都是独立的。
3,ARM处理器和FPGA逻辑单元如何通信?
如下图所示,上面蓝色区域是ARM处理器部分,下面是FPGA 逻辑单元部分。ARM和FPGA是通过他们之间的几个桥进行通信的。
4,ARM和FPGA之间的带宽时如何计算的
Cyclone V SOC FPGA器件
H2F 和 F2H两个高速桥, 每个桥128-bit 位宽, 128 * 2 * 200MHz = 51200Mbps
一个FPGA到 SDRAM 桥, 256bit位宽, 256 * 200MHz = 51200Mbps
不计算H2FLW桥情况下,所有桥,单个方向的总带宽是>100Gbps
Arria V SOC FPGA器件
H2F 和 F2H两个高速桥, 每个桥128-bit 位宽, 128 * 2 * 250MHz = 64000Mbps
一个FPGA到 SDRAM 桥, 256bit位宽, 256 * 250MHz = 64000Mbps
不计算H2FLW桥情况下,所有桥,单个方向的总带宽是>125Gbps
5,产品开发模式和传统FPGA、独立ARM处理器开发模式有什么不同?
开发SOC FPGA芯片需要使用Altera的Qsys软件。在Qsys中需要将ARM和FPGA之间的各个桥总线信号引入到FPGA侧。需要在Qsys图形化界面中使能ARM侧的各个外设,并选择相应的管脚;设置DDR颗粒的配置参数。后续经过简单操作就可以直接产生ARM的bootloader 源代码。该特性为ARM开发人员提供了非常大的便利。
之后的驱动开发和操作系统的配置、用户应用程序的开发过程和传统嵌入式开发过程类似。
注:Qsys软件已经包含于QuartusII中,不需要单独安装。