如今的产品生命周期可能短至六个月,因此在这种情况下要想取得定制ASIC的低成本、低功耗和高性能优势几乎是不可能的。定制ASIC的设计周期通常要一年左右,这通常要比终端产品的生命周期还要长。另外,标准单元ASIC还具有NRE费用(非重复工程成本),对于基本的0.13微米设计,该成本约为30万美元,而对于具有复杂IP内容的90nm设计将超过100万美元。因而当每年的批量小于10万片时,从经济角度看就不具有可行性。
为此人们研发出了平台化或结构化ASIC,它们具有预设计的IP块和可编程的ASIC门,可显著降低成本并缩短设计周期。这种方案将设计周期从一年甚至更长的时间缩短到几个月,还将NRE成本降低到大约15万美元,不过与门阵列相关的较大尺寸使得单片成本过高而无法补偿NRE。
利用现成的标准微控制器来实现设计通常会较快且具有较高的成本效益,许多微控制器都是系统级芯片(SoC),能够提供大量的网络功能和人机接口功能,例如LCD控制器和相机接口。这些现成的SoC常常具有所有功能,性能高且成本低,采用基于单元的ASIC即可实现。但是, 需要硬件加速的一些设计中要求一些高强度运算的功能,如Turbo编码、GPS环形解调器和图形处理等,它们都需要用硬件实现。未来发展趋势是利用FPGA来实现这些DSP功能。由于工艺技术的进步,这种设计的成本将明显降低,而且几乎有完全取代平台ASIC。
不过,FPGA也有一些缺点,最显著的是功耗高,执行速度慢,FPGA中IP的安全性也相对较差。尽管其成本下降很快,但当批量达到1万片时,其批量成本就不再下降了。因此FPGA还比较贵。
目前有种新的ASIC技术,它采用一种金属-可编程的单元结构(MPCF),所实现的硅片效率与单元ASIC相当(在130nm工艺上为170K-210K门/mm2)。例如,在130nm工艺节点,利用MCPF实现一个D触发器(DFF)所用的硅片面积与标准单元相比几乎相同(图1:用130nm MPCF和130nm 标准单元实现的D触发器)。
目前正在利用MPCF技术开发可定制的微控制器,它不仅具有单元ASIC的超低单片成本优势,还具备结构化ASIC的低NRE和不到两个月设计周转期的优点。基本上,具有SoC级集成度的现有MCU结合金属化可编程单元结构就可用来实现可定制的SoC平台。
作为这种可定制微处理器的一个例子,它采用了基于200 MHz ARM926EJ-S的现有MCU,带有用于确定性处理且均为16 Kbytes的紧耦合程序和数据高速缓存,32 Kbytes的附加SRAM,32 Kbytes的ROM以及支持网络、数据传输、人机接口的外设,并增加了一个等效于28K 或 56K FPGA LUTs (250K 或 500K 可布线 ASIC门)的金属化可编程块(MP)。(图2- AT91CAP9方框图)。器件上已有的外设包括USB 主机和器件、10/100 以太网MAC、LCD控制器、用于连接CAN、MCI和SPI总线的图像传感接口。
图1:用130nm MPCF和130nm 标准单元实现的D触发器。
图2: AT91CAP9框图。
用MPCF技术实现的MP块大得足以实现一个二级ARM处理器核、一个数字信号处理(DSP)、一些额外的标准(或非标准)的接口以及其他的复杂逻辑块,如GPS环形解调器。它具有众多固有功能和专用的外部连接,可以提高特殊应用逻辑单元的实现效率。它内部含有多个分布式的单口和双口RAM块,能够与需要它们的逻辑单元实现紧耦合。MP块的时钟可以来自时钟发生器和电源管理控制器的所有时钟。这为其内部所实现的特殊应用逻辑单元的定时提供了最大的灵活性。
所有外设都实现了DMA进行外设和存储器之间的数据传输。否则,外设和存储器之间的数据传送将耗尽ARM9的资源。例如,一个20Mbps的高速SPI数据传送将需要占用ARM的所有周期。简单的DMA在每台外设的芯片上实现,并由一个卸载数据传送任务的DMA控制器来管理,这样,在进行20Mbps SPI传输的同时,还能留出88%的ARM9周期用于程序处理(图2)。此外,还有一个四通道DMA控制器负责以太网MAC、LCD控制器和相机接口。
一个具有六主和六从的六层高级高速总线(AHB)矩阵可以彻底消除总线竞争。六主分别是CPU数据、CPU指令、外设DMA控制器、以太网和USB主机。而六从则是存储器、USB器件以及外设总线桥。任何一个主在需要时都可以控制任何可用的总线。正因为总线数量与主一样的多,因此根本不会出现任何总线竞争。
MP块的外部连接包括到AHB总线矩阵的多路主连接和从连接、在MP块中实现的用于外设的一组中断线、一组外设使能线、两套并行的专用I/O口和一个到USB接收器的复用连接。这样,就可以在MP块里实现第二个USB设备。
该芯片包括一个SD/MMC存储卡接口(MCI)和一个外部总线接口(EBI),这些接口支持SDRAM、带误码纠错(ECC)功能的NAND闪存以及支持可与板上GByte-plus的True IDE模式接口连接的CompactFlash,或者包括USB记忆棒的可移动存储器。
一个完整集成的系统控制器可管理设备的中断处理、复位、启动/关机、定时、电源管理和并行I/O控制,因而支持实时操作。
金属可编程块
金属可编程块具有众多的内部功能和专门的外部连接,可提高特殊应用逻辑单元的实现效率。在内部,它含有多个与需要它们的逻辑单元紧耦合的单端/双端口RAM块(图3:金属可编程块接口)。
图3:金属可编程块接口。
MP的外部连接包括:
1. 连接到AHB总线矩阵的多路并行主连接和从连接。它们与专用的DMA通道一起,可以经配置产生连接到特殊应用逻辑单元的高带宽数据链路。如果在MP块中需要APB外设,可以在内部构建一个AHB/APB桥和外设DMA控制器(PDC),以便提供所需的接口;
2. 一组中断线。该中断线使特殊应用逻辑单元产生由高级中断控制器处理的中断;
3. 一组外设使能线。它允许特殊应用逻辑单元在设备的固定端口中连接或断开外设;
4. 两组并行的专用I/O口。它们提供大量用于特殊应用逻辑单元的外部I/O,也能提供连接到MP块的I/O的电气特性;
5. 一个到USB接收器的复用连接。这使得在MP块中可以实现第二个USB器件。
MP块的时钟可以来自时钟发生器和电源管理控制器的所有时钟。这为其内部实现的特殊应用逻辑单元的定时提供了最大的灵活性。
设计流程
基于MPCF的可定制微控制器的设计流程与采用现成ARM9 MCU和FPGA的设计流程非常类似。实际上,为了试探市场,MCU+FPGA设计可能进行批量制造。一旦证明成功,整个设计流程就可以直接移植到可定制的微控制器上。
FPGA寄存器传输级(RTL)网表可以被直接移植到已经包含AHB接口、DMA通道以及I/O通道的MP功能块上。
平台中的所有外设/接口都提供了设备驱动程序。它们也可以作为模板用作MP功能块中定义的外设/接口的等效驱动程序。
业界领先的操作系统都已经具有到可定制微处理器架构的端口。这些软件模块与应用代码模块和用户接口的集成可以与硬件开发并行进行。
系统规范和硬件/软件划分
可定制MCU设计流程的一个主要优点是可以在硬件生产之前的仿真阶段中对硬件/软件进行验证,如果需要的话还可以加以修正。这样可以节省时间和重新流片的昂贵费用。
定制MP功能块的工作通常由客户和合格的第三方设计公司共同完成。第一阶段主要是开发特殊应用的硬件块和相关的软件驱动程序。在绝大多数情况下,硬件块编码用的是Verilog RTL ,而软件开发用的是C、 C++ 或ARM汇编语言。
已经写入由MCU供应商提供并针对MP Block RTL代码开发的模板中的功能块的占位符(placeholder)实例化可以简化将特殊应用功能块集成到MP功能块中去的工作。为AHB主/从设备和APB从设备提供有不同的模板。在某些功能块中,DMA或PDC连接是预先编程好的。例如,一个带有PDC连接的APB连接功能的HDL如下所示:
需要验证MP功能块的RTL代码与微控制器的固定端口之间的兼容性。然后再利用供应商提供的特殊工艺目标库对RTL代码进行综合,并对整个器件执行功能仿真。
平台的低级设备驱动程序由MCU产商提供,而MP功能块的驱动程序则来自用户或者第三方设计公司。这些驱动程序再与编程MCU和外设/接口的应用模块集成在一起。如果需要操作系统,可以从有资质的第三方获得pre-ported版本并集成进软件包中。软件包还需要利用业界标准的开发工具进行测试。当然也可以在该阶段进行硬件/软件的协同仿真。
仿真
设计流程的关键步骤是硬件和至少低层软件的仿真。AT91CAP仿真板包括一个完全互补的存储器、标准接口、网络和可配置连接(图4:AT91CAP仿真板)。
图4:AT91CAP仿真板。
实际经验证明,这种仿真步骤几乎总能发现设备的硬件和/或软件、或者设备硬件/软件接口中的各种错误。在这一阶段对设备完整设计的校正和再测试能力是缩短设计时间和降低设计成本的主要因素,它能提高首次流片和软件开发成功的概率。额外的好处是最终设计的仿真版本可以用作未来设计反复的起点,从而大大节省设计工作量。
可定制MCU供应商利用针对设备和MP块的固定端口确立的底层规划实施布局和布线。只需要对MP块的金属层进行布局布线。后版图仿真可以确保不违反时序约束。
该方案的优点之一是设计团队无需等待设计原型就能完成软件开发。应用软件的开发和测试可以和布局布线与原型制造同时进行。一旦设备和软件在目标应用中得到验证,客户就可以基于滚动预测正式地批准产品的批量生产。因为掌握着空白晶圆的库存,因此可以根据市场的需求随时调整实际产量。
当设备的批量需求满足投资需求时,网表可以被重新映射到完全标准单元的设计,带来的优点是减小裸片尺寸,提高性能并降低功耗。
没有ASIC NRE和设计周期的ASIC性价比具有金属可编程单元结构的可定制微控制器可以帮助设计师将他们的定制IP集成到准现成的解决方案中。它能提供全定制ASIC的成本、功耗和性能优势,而NRE和设计周期与现成的MCU+FPGA设计没有太多的区别。