采用可定制微控制器来优化算法的设计
atmel公司的cap可定制微控制器为这种挑战提出了一种可行的解决方案。cap是一块基于微控制器的系统级芯片,能提供基本的处理能力,以及高密度的金属可编程(mp)数字逻辑块,这些块可以进行个性化,提供类似于dsp或其它专用的功能执行硬件。cap同时具有合理的开发周期与具有吸引力的单位批量价格的成本好处。专用cap的开发流程包括基于开发板的仿真步骤,这个开发板使用高密度的fpga来仿真算法执行功能,这种功能随后硬化在金属可编程模块中。
从全球定位系统到音视频媒体流处理,这些应用都需要实时地执行复杂的算法,很多这些算法都需要遵从定期更新的行业标准。工程师开发这些应用面临的挑战是在单位成本、外形尺寸和功耗,以及严格的成本和开发时间约束下,优化这些算法的执行,这些产品通常是大批量生产。终端用户产品必须能以合理的成本对处理算法进行升级。
硬件/软件的权衡
最佳算法实现的基本经验是,硬件是为了实现更高的性能,软件是为了实现灵活性。实际上,这种经验很难以实际应用。硬件的选择受限于微控制器内核的基本算法函数,以及dsp内核的乘法/累加和线性函数处理,虽然fpga所具有更高灵活度,但其缺点是外形尺寸、功耗以及批量时的单位成本。可选的标准单元asic可以提供更高的性能,但是因为开发时间和成本而常常不能采用。
软件被移植到选用于硬件实现的微控制器或者mcu/dsp组合上。一旦硬件/软件的划分完成以后,再要做出改变将非常难,而且非常耗时,除非是基于fpga进行批量生产。通常,只有在应用开发的最后阶段软件才可以运行于目标硬件,并确定处理算法的实现是否为最佳。
cap算法实现流程
cap使应用开发工程师能获得fpga和asic两者的优点。cap应用开发周期的第一阶段使用基于fpga的库和工具来实现算法的初步硬件/软件划分,然后将基于硬件的功能映射到类似于dsp的架构,或者在fpga中实现的其他处理单元。同时,微控制器对基于软件的算法处理进行编译,微控制器可以在其地址空间中看到fpga/mp模块,并采用分布式dma架构优化功能和存储器模块之间的数据流。图1显示了硬件/软件划分以及使用ip模块库来实现算法的整个步骤,ip模块包含硬件模块以及他们相关的软件驱动程序。
图1:cap算法硬件/软件划分和实现流程。
在硬件上,首先利用ip库或fpga提供商的工具来对算法模块进行综合;然后这些再与来自fpga提供商的库的dsp或类似功能模块进行综合;最后的步骤是将这些高层的结构映射到基本的fpga架构上,以在cap开发板上配置fpga。
在软件上,算法所要求的ip模块被编译,然后与atmel公司的低层器件驱动程序库链接起来,这些器件驱动程序处理多个外设阻止的操作以及cap soc的外部接口。如果有要求,该代码可以链接到操作系统、用户界面以及顶层控制模块来实现这个系统的运行。全部的代码组被加载到用于微控制器内核的程序存储器中,微控制器内核是cap的中心架构单元。
cap开发板的基本架构如图2所示。设备的固定部分是在cap芯片中,它以标准的微控制器加片上存储器、外设和接口实现的,所有这些在图中显示为外部连接。各种存储器都可以连接到外部总线接口(ebi)。
图2:cap开发板。
开发中算法的硬件部分通过其配置存储器映射到fpga中,软件被加载到微控制器所选择的外部或内部程序存储器中。这样,所配置的开发板以接近运行速度仿真最后的cap器件,包括非常难以进行仿真的多任务处理进程间通信和中断。这种仿真步骤使算法实现能在真实使用条件下彻底调试。它还使可以利用衡量标准来确定最初的硬件/软件划分以及之后不同模块的综合/编译是否是最优化的。如果要求改进,这些可以使用前面介绍的相同设计流程来实现,除了延长开发时间外,并不会增加额外的成本。可以通过硬件/软件的分割以及硬件/软件实现的多次设计迭代来获得最佳的设计。
cap金属编程和制造流程
一旦所开发的设备的功能被固定下来,对fpga进行编程所使用的最终rtl代码被映射到(由ateml公司或授权的第三方设计公司)金属层来对cap金属可编程模块进行个性化。苛刻的布局后仿真能确保金属编程cap的功能与仿真版本的功能相同。
原型很快地生产出来,应用开发人员可以对设备的硬件/软件功能进行最后的验证,特别是用来检查算法是否是最佳的。在最糟糕的情况下,如果原型并不令人满意,从仿真阶段的额外返工成本和时间是合理的,远远低于标准单元asic的完全掩模替代的成本和时间。在原型得到批准后,便开始个性化cap设备的批量生产,使用原型生产的相同流程。
设计师根据现场反馈,并根据任何数据处理算法的升级,基于在金属编程之前开发板的最终fpga配置的修改,从而可以快速开发出基于cap的设备改进版本,并比最初的版本成本更低。
本文结论
atmel公司的cap可定制化微控制器解决了复杂算法优化的挑战。特别是,它使得算法实现的硬件/软件分割能在接近运算速度和实际使用条件下进行仿真。然后,所选择的实现被硬化到金属可编程模块中,这个模块能提供最佳的性能和功耗,并且非常具有吸引力的批量单位成本。 在不需要额外开发成本的情况下可以对算法实现多次迭代设计,以确定哪一个是最优的。
通信电源监控系统发展情况及若干问题的探讨
下一代逻辑器件的脊柱DNA
高低温-恒温恒湿箱控制系统的简单介绍
汉威智慧环保大数据平台为环境管理提供智能化决策支持
氮化镓功率器件与驱动芯片领先厂商晶通半导体授权世强硬创代理
采用可定制微控制器来优化算法的设计
新能源汽车销量200万辆的目标能实现吗?
能量收集电源管理在物联网中的重要性
财富杂志:李艾科是怎么搞垮惠普的
光端机与光纤收发器区别
又一个乐视的背锅侠_2017毅昌股份持续下跌
三星Exynos9系列处理器采用8nmLPP工艺首次集成NPU
赛峰公司研发出了名为Geonyx的军用导航系统,没有采用GPS
synchronized知识合集1
SLM在三维直接光刻中的多点加工
AccelerComm宣布基于Silicom N5010平台的符合5G O-RAN标准的基站加速器
Imagination 和 OTOY 共同发布突破性的硬件加速渲染平台
大族协作机器人入选深圳市第一批智能机器人应用示范典型案例
印度率先提议使用战斗机器人,却惨遭打脸
电气维修方法论第二十篇(电气元件的规格封装)