4.2 基于FPGA的SOC设计方法
目前,由于FPGA性能提升价格下降,同时嵌入越来越多内核,很自然地,很多IC设计公司将FPGA用于ASIC原型验证,把FPGA可编程的优点带到了SOC领域,其系统由嵌入式处理器内核、DSP单元、大容量处理器、吉比特收发器、混合逻辑、IP 以及原有的设计部分组成。
SOC 平台的核心部分是内嵌的处理内核,其硬件是固定的,软件则是可编程的;外围电路则由FPGA的逻辑资源组成,大都以IP 的形式提供,例如存储器接口、USB接口以及以太网MAC层接口等,用户根据自己需要在内核总线上添加,并能自己订制相应的接口IP 和外围设备。
基于FPGA的典型SOC开发流程为:
1、芯片内的考虑
从设计生成开始,设计人员需要从硬件/ 软件协同验证的思路入手,以找出只能在系统集成阶段才会被发现的软、硬件缺陷。然后选择合适的芯片以及开发工具,在综合过程得到优化,随后进行精确的实现,以满足实际需求。由于设计规模越来越大,工作频率也到了数百兆赫兹,布局布线的延迟将变得非常重要。为了确保满足时序,需要在布局布线后进行静态时序分析,对设计进行验证。
2、板级验证
在芯片设计完毕后,需要再进行板级验证,以便在印刷电路板(PCB) 上保证与最初设计功能一致。因此,PCB 布局以及信号完整性测试应被纳入设计流程。由于芯片内设计所做的任何改变都将反映在下游的设计流程中,各个过程之间的数据接口和管理也必须是无误的。预计SOC 系统以及所必须的额外过程将使数据的大小成指数增长,因此,管理各种数据集本身是急剧挑战性的任务。