新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 智能流程简化可编程系统芯片设计

智能流程简化可编程系统芯片设计

作者:时间:2011-04-23来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/150828.htm

  不仅ASIC/FPGA人员很少拥有/模拟的实际经验,大多数设计人员同样也缺乏数字逻辑的设计经验。因此,越来越复杂的设计内容要求工具必须“化”,也就是说,开发工具可以对不同的系统部件进行配置及初始化,并将这些部件正确地联结在一起,使所有交叉领域复杂性的验证任务变得简单。在这种情况下,接下来还得生成一个FPGA!在设计的前期(相对于实现阶段而言),这种复杂性通过3个关键环节来管理,即部件建模、设计实例化和验证

  部件建模

  当针对半导体制备进行部件建模时,重要的是仔细权衡部件的细节行为和验证系统是否正确工作所花费的时间。这种权衡对PLD架构内的模拟部件尤其重要,即使这部分的预制性表明这些问题已经解决。在最高的抽象层,所有模拟部件都是数字部件,其模拟行为的模型是通过叠加严格的数字化行为指标来建立。这里的技巧是抽出部件的全部行为细节,同时保留那些决定最终系统能否满足设计要求的功能。对于PSC流程,模拟功能的电气特征参数(如:信号完整性、A/D转换功能和耦合效应)均可在产品技术资料表中查到,并基于实际半导体器件的特征数据。基本的模拟开关行为包括输入预定标、微分增益、迟滞、A/D控制功能和输出行为等,都被抽象成粗略的数字行为模型,适合在数字仿真器中描述系统级的行为特征。

  设计实例化

  跟有些人猜测的一样,对复杂精细的系统进行设计实例化需要非常灵活且具备足够智能的“设计生成”环境,让设计人员快速入手和实施。基本上,这个设计环境将容许所需的资源导入设计环境中,以达到目标器件逻辑资源所允许的最大限度。由本身的图形配置器提供支持,这些非常灵活的资源可以被捕捉、配置,以及设计实例化,而所有操作均为简单的鼠标点击,无需直接编写HDL代码。与此同时,这种工具链创建了主干总线,将所需资源的互连及自动创建必要的控制机制。这些工序将由以图形化用户界面为基础的智能工具在背后完成,无需用户直接引导。这些工具专注于简便的使用及提供快速设计的开发能力。当然,它们不会排斥传统的HDL代码编程——对于那些习惯使用HDL的用户,以及需要最大限度地优化设计或需要大量设计定制的用户,HDL编程功能是不可或缺的。

  验证

  传统的混合信号ASIC开发遵从自下向上的方法。这种开发方法涉及两个独立的团队;一个开发数字部分,即编写RTL代码;另一个在晶体管层面实现模拟电路。对于验证而言,设计人员为了验证各种系统级行为如功能、性能和延时等,一般都使用基于Verilog-AMS或VHDL-AMS语言的高层全仿真,这种方法需要很好地关联最终电路的模拟行为模型。然而,晶体管层面的仿真仍然需要,以便验证某些接口层问题、时序、信号完整性和功率。这也有助于避免模型和电路间的偏差及错误。最近几年,一类全新的开发工具应运而生,可让混合信号协同仿真环境验证给定SoC中的混合信号部件。

  在PSC开发流程中,并不需要混合信号仿真。器件中模拟功能的处理方式,非常相似于现成的分立组件。产品的资料表已提供了大量的模拟功能电气特性参数,并基于实际半导体的特征数据,象分立组件供应商提供的资料一样。由于在最终模型中抽出了细节性的模拟行为,这种模型完全能在全数字仿真器(如ModelSim)中完成系统级验证。在这种仿真测试平台上,模拟输入表示成一些实数值或数位向量值,通常由测试平台工具(如Synapticad WaveFormer)来生成。

  基于这个抽象层面,用于混合信号FPGA的基本验证方法在本质上就与标准数字FPGA产品的验证方法相同。简言之,PSC设计人员在设计过程中一般需要完成如下步骤:

  a) 在Libero工具中生成和集成系统构件;

  b) 通过Synplify或Synplify PRO综合设计;

  c) 使用ModelSim验证设计;

  d) 使用Libero Designer将设计编译到Actel Fusion PSC中,以便进行后端实现;

  e) 在ModelSim中运行时序反标注(back-annotated timing)功能来重新验证。

  这个基本流程能让Fusion客户使用公认的方法,验证其混合信号PSC的系统级行为,并可在设计的任何阶段如综合前、综合后和布局后进行,而且与验证全数字芯片一样简单。熟悉Libero流程的设计人员不会看到任何重大变化,而呈现在新客户面前的是简单易懂的流程,可让他们快速简便地完成 Fusion技术到其系统的“融入设计”(design in)。这个流程将会执行仿真系统级行为所需的充分工作,并在给定的客户设计中以一组给定的仿真输入与数字系统中剩余部分的相互作用为基础。

  结语

  从概念上来说,SoC开发本身就需要多种专门技术,包括模拟设计、数字逻辑设计和系统/架构定义。不用说,随着集成度的提高,这种开发很快就变得非常复杂,而且,在FPGA开发中经常都会有一些逻辑/FPGA设计工程师并没有这方面深入的专门知识。FPGA的性大大增强了系统的可用性,但同时也增加了另一个层面的复杂性。因此,需要使用智能化的系统级集成和验证工具来实现PSC。在适当的抽象层面进行系统级验证已经证明能够改善设计质量和提升设计团队的整体生产力。随着新的开发工具出现以支持这个流程,设计质量和生产力可望进一步提高。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭