特色C语言平台 SoC设计最佳化(一)
在设计上能减少结构探索时间的C语言平台,在结构上如何以新思考突破?如何形成一个具有特色的C语言平台,是的SoC设计达到最佳化呢?
以往半导体业者大多使用FPGA(Field Programmable Gate Array)製作样品(Prototype),接着锁定几项晶片重要规格,依此找出最适合该晶片的结构,这种方式最大缺点是作业时间非常冗长。然而,C语言平台的设计方式则是,利用软体模拟分析检讨晶片结构,以往FPGA平台的样品,大约需要半年左右的结构探索时间,如果採用C语言平台的设计方式,只需要花费约2周~1个月的时间。
目前开发最快的是日本冲电气,以ARM为基础的整合平台及设计环境可应用在晶圆专工的先进技术,根据冲电气的规划,在内部适用C语言平台设计技术的SoC,是使用了三种架构,分别是:「μPLAT」+软体、「μPLAT」+专用加速器度(accelerator)+软体、硬体连线(hard wired)电路。
在「μPLAT」+软体的部份,传统FPGA也有支援此功能,因此IC设计公司可以利用IP来源业者的Process Core,再以μPLAT为基础开发SoC,例如目前ARM已经将ProcESS Core,封装成软体提供客户使用。而关于「μPLAT」+专用加速器度(accelerator)+软体、硬体连线(hard wired)电路结构开发的晶片的部份,就是利用C语言平台设计方式使开发更效率化。此外,「μPLAT」+专用加速器度(accelerator)+软体中,专用加速器度还分成两种执行方式,分别是:将C语言资料转换成System C,再将SySTem C输入至动作合成工具内,最后嵌入硬体连线(hard wired)电路,以及利用合成使Process Core特定化,接着在该Process Core进行C语言演算作业。采用第一种方式的合成动作方式,可以使晶片发挥低耗功化效果,第二种的特定化Process Core合成方式,以资源共用的观点而言确实相当有效,不过耗功上经常不如第一种的合成动作方式。
图说:半导体业者大多使用FPGA制作样品,依此找出最适合该晶片的结构,这种方式最大缺点是作业时间非常冗长。(School of Computer Science)
C语言平台摆脱传统刻板观念
关于C语言平台的SoC设计方式的流程是,首先需要从客户端接收要求,以SoC处理的「C语言/C++描述的演算」与该SoC使用方法的「use case」,并收取「演算(Algorithm)测试环境」然后再开始进行SoC开发作业。此时必需先检查收取的原始码(Source Code),确认是否适合动作合成或是组合软体,不适合的场合,则检讨原始码的修正进行架构探讨。由于该工程被赋予「高精度评估」的角色,因此已经摆脱传统「设计」的刻板印象,此时短期可量产的优先度比品质更高,例如1个月内完成探索的设计,只进行代表性项目的验证,如此就能够缩短探索工程的验证时间,至于验证品质则在探索之后的后段工程透过设计方式维持。
结构探索工程又分成:结构草案的检讨,以及结构初期模型的制作与检验。结构草案的检讨是根据原始码的分析结果,决定使用「动作合成的硬体连接」,或是专用处理器。功能不太複杂的晶片,要求低制作成本与低耗功时,大多选择动作合成方式;要求相似功能进行复合性处理时,通常会选择专用处理器方式。决定基本方针后立即检讨包括,演算位元的宽度、并联处理电路的结构、动作频率、与软体的搭配等等问题,接着制作晶片的结构模型,再利用虚拟样品模拟器(virtual prototyping simulator)验证,模拟器除了晶片功能之外,还能够分析包含晶片外部的资料转送等系统整体与晶片的所有效能。
采用C语言平台的设计方式,只需要花费2周~1个月的时间,就可以完成模拟分析检讨晶片的结构。(National Center for Ecological Analysis and Synthesis)
目前在进行合成所面临的问题
选择动作合成方式时会面临下列问题,分别是:演算转换至System C化的工程数减少、转换后以System C化为对象的高速化与高精度化等问题,因此System C化时演算部位必需以UnTImed模型封装,介面的部位则以定时模型封装,利用上述溷合封装追加埠,加上变数的有效位元长度设定等最低限度追加处理作业,就可以达成System C化目标。
目前动作合成工具技术上还不成熟,若直接转换成System C,闸道(gate)规模与消费电流值会变大,为了达成System C化必需特别设置Guide Line。有关介面部分,就可以使用原先惯用的雏型,透过再利用方式有效减少工程数,如 此一来数千行的演算,大约一周就能够转换成System C。
有关专用处理器,利用一般的处理器制作工具,同样能够轻易进行最适化探索作业,进而使处理器的开发时间,从以往6个月压缩至2~3个月。实际开发时必需先进行Pr
- 基于MSP430 Timer_B的D/A转换及C语言源程序(03-01)
- 基于CPLD和单片机的任意波形发生器设计(07-12)
- AD7674与TMS320F2812 McBSP之间的串口通信(07-19)
- ADC0809 A/D转换器基本应用技术(07-27)
- 基于ADSP-BF533处理器的滤波器的实现及优化(08-02)
- 三相四线制有源电力滤波器软硬件系统的设计(08-18)