关于可编程系统级芯片(SoPC)应用设计的工具要求
扫描二维码
随时随地手机看文章
对可编程系统级芯片(SoPC)的开发而言,仅仅依靠可编程器件(PLD)在规模和速度方面的进步,依靠使用方便的嵌入式处理器内核,以及依靠其他的IP内核本身是不够的。通过解决系统级的复杂问题,使PLD技术在产品面市时间方面带来好处,需要一种清晰的系统层次的构造方法。
过去, PLD的用户喜爱MAX+PLUS II的集成化特点(一个完全集成的设计实体,包括设计输入、综合、仿真、布局布线和时序分析),今天,同样还是那些用户,却要求最佳的综合工具、最佳的仿真工具和最佳的时序分析工具。PLD布局布线工具必须以某种方式满足这些不断变化的要求,这种方式使得整个设计方法在方向上更加以专用集成电路(ASIC)为中心。如果这种新的PLD设计方法正确地构造出来,它将比ASIC技术更快地促进IP内核的应用,并且,支持只有可编程技术才能提供的灵活性和定制能力。
现在,在高密度器件中使用IP内核已经是非常普遍的做法。尽管用户使用总线接口功能(如 66 MHz的PCI总线)和DSP功能(如FIR滤波器)已经有几年的时间,IP内核的应用最近又出现了三个基本的变化。首先是现在的专用编程器具有强大的功能和灵活性。例如,新的FIR编译器包含了一个支持4比特到32比特系数精度的内置系数生成器,可以设计任何抽头数目的滤波器。该编译器还支持样点的等间隔舍入、内插以及串行和并行的算法结构选项,从而使用户可以按照自己的性能和布局面积要求优化滤波器,并且,可以容易地修改和重新评价滤波器以满足系统的要求。
在强化设计方法方面采取的第二个重要变化就是现在已有的对各种工业标准开发工具的接口。例如, 现在的FIR 编译器还能够产生MATLAB、Simulink、VHDL和Verilog HDL 格式的仿真模型,从而与上述各种强大的工具更紧密地连接起来。类似的支持Reed-Solomon纠错算法等DSP应用的应用编译器也正在开发过程中。
与IP内核的应用有关的第三个重大变化是专门为PLD优化的嵌入式处理器的出现。只有使用了高性能的处理器, SoPC设计能力的潜力才真正成为可能。在一个理想的开发环境中,设计者将只是简单地编写出体现系统规范的C代码,然后,足够智能化的开发工具将在嵌入式处理器中划分某些算法,并将其余的算法综合到可编程逻辑中去。然而,遗憾的是,现有的工具还没有达到如此高级的水平,而在PLD中集成嵌入式处理器会将增加设计的复杂性。新的开发方法必须解决建模、处理器集成和PLD的设计输入等问题,并且,能够智能化地开发各种总线接口来优化系统性能。
为了优化系统级的解决方案,开发工具必须就处理器内核如何与存储器、外设I/O模块相互作用提供精确和完整的模型。利用硬核处理器进行设计,通常需要一个描述特定的系统总线操作的处理器总线功能模块,一定的时序关系,以及设计内部处理器模块与其他模块的接口。使用软核处理器,则需要正确的行为模型来证实PLD内部的具体实现满足处理器子系统的时序规范。整个SoPC的设计过程必须支持对VHDL或者Verilog仿真、行为仿真以及VHDL和Verilog 测试工具。
保证嵌入式处理器在PLD中成功应用的关键是开发一种直观的方法,用来选择一个指定的处理器,选择所有适用的外设功能和外部存储器控制器,以及定义存储器映象图。开发工具SoPC Builder使用设计者熟悉的MegaWizard插件完成全部适用选项的选择。
外设和存储器映象选定后,处理器C代码的生成、实时操作系统(RTOS)的选择以及外设驱动程序的设计也非常关键。对PLD编程需要用一个集成了嵌入式处理器初始化代码和传统的PLD初始化文件的器件文件。将这些文件集成到一个连贯的过程中,才能实现成功的编程。
设计方法中采用的IP内核会不断变化,在很多其他的设计方式中,设计方法与现有的ASIC方法紧密结合,而用户正在要求将从前只与ASIC设计有关的工具应用到PLD设计中。去年,功能和时序仿真对大多数PLD用户还是足够的,但是现在用户却在期望使用行为仿真工具优化设计过程。为了满足这一需求,Altera在其所有开发工具的应用中包含了利用建模技术实现的行为仿真功能。这些开发工具还提供了测试功能以加速仿真的过程。
现在,基于仿真向量文件的功率估计工具也已问世。这些工具使用仿真向量文件来代表实际的器件操作,以此来模拟可编程器件(PLD)的功耗,精度比按照设计规模、时钟速率和节点切换速率来估计功耗的上一代设计工具高得多。用户还期望用基于最小时序的时序仿真来补充基于典型延迟的时序仿真,从而证实其设计将在所有的操作条件下正常工作。
通常,设计方法发生变化或者是因为新的工具提高了系统性能,或者是因为它们带来的生产效率的提高,缩短了设计周期。基于C代码的设计和行为综合工具能够缩短设计周期。
今天,对这些提高生产效率的工具的挑战在于:对于现有的HDL方法,从更高层次的抽象能否产生具有比较性的性能?在ASIC技术能够获得高得多性能的应用场合,PLD的用户通常想充分利用器件的性能。 只有当这些提高生产效率的工具以提供最优性能的方式解决这种抽象的性能折中时,它们才会有实用价值。当且仅当它们真正可行的时候, PLD的形式验证才是可行的。
目前,尽管PLD开发工具的性能已经大为提高,人们仍然在持续努力。智能逻辑布局和时序驱动布线技术的新发展正在预示着新的性能超越。不久以前, fMAX的性能指标就提高了40%到50% 。并且,新技术与传统综合工具的结合更紧密,如更精确的时序估计和闭环综合将进一步提高性能。
使用PLD主要优势之一是PLD提供了一个硬件平台,在这个平台上可以进行软件开发、建模、系统级仿真,并且,在设计过程早期就可以进行协同验证。在这一过程中,尽早获得在硅片中布局布线的结果是一个优势,只要它确实提高了系统级调试过程的效率。象SignalTap技术这样的第一代调试工具使用了嵌入式逻辑分析器,当以系统最高速度运行器件时,它使得整个设计的全部内部节点是可见的。人们期待着调试工具的进一步改进,以便将同样的直观性带回到最初的HDL源代码中去,并且通过快速的转换来观察新增的节点。
PLD开发工具必须进一步发展,从而与技术进步和EDA产业的发展相适应。器件的复杂度在不断地增加,设计方法也必须在不降低器件性能的情况下,通过缩短设计周期来提高生产效率。如果成功了,这种技术将使得基于PLD的产品进入传统的嵌入式处理器市场。