基于FPGA的混合信号验证流程
随着SoC设计上的混合信号组件数量增加了,基本的功能验证对于硅初期能否成功也愈来愈重要。FPGA在系统整合难题上加入了一个新特点。在核心上,此新范例-可编程系统单芯片(programmable system chip,PSC)整合FPGA电闸,内嵌快闪和模拟功能在单一的可程序化组件中,提供了具真正程序能力的理想低成本路径,而且系统设计者可以用来快速地设计和研发复杂的混合信号系统。
关键准则
如业界分析师所言,FPGA正成为现代高度整合的SoC系统选择的工具。原因很明显。由于硅架构是预先组装的,因此没有NRE成本,且任何可能影响产品性能或装置可靠度的制程变化都应已解决。芯片整体作业中大部分的复杂度(包括寄生RLC对时序的影响等)特性都已完整调整,且规格上的数据已考虑到这些。因此所有的验证循环都可以致力于设计的适当功能性上。下一个需要的是可以尽量减少特征化和强化设计功能性目标时间的验证方法。此项减少是透过组合智能型模型(抽出不会影响整体系统行为的较不重要细节)将所产生的模型置入已完全了解的流程中。
复杂度增加
现场可程序化是系统整合全新的一面。此新的整合层级较深入且有以下几个优点:系统设计者可移除系统的许多组件而将该功能整合在单一PSB中,大幅简化系统设计;组件大幅减少就会有明显小许多的尺寸;且微控制器核心的整合会免除主处理器的周边任务,降低系统处理的工作量要求。
新一代的PSC是第一个如此进入可程序化逻辑市场的代表。它是第一个以FPGA提供的硬件可重组态性的基本好处结合闪存、混合信号功能性以及微控制器技术。日益复杂的内容开启了更小的整合装置之许多可能,但FPGA设计者也立即有了额外的挑战,其中一项就是对付混合信号设计的复杂性。很少FPGA设计者有机会在这些领域中取得深刻的经验,因此什么是管理这些计划的复杂度并确保它们第一次就成功的方法呢?
此一跨范围的专业技术必须包裹在工具流程中。工具必须做得够聪明来管理重要细节(如接口、组态和初始化需求)以便连结不同的组件并放在同一作业中。理想上此新系统功能性的复杂设计内容汇集基本上和传统工具流程完全一样的工具流程。
智能型流程
不仅是ASIC/FPGA设计者对系统/模拟设计的实际经验很少,大部分的系统设计者也同样没有数字逻辑的设计经验。因此,日益纯熟的设计内容需要智能型的工具流程。这意味着工具有智能去组态和启动不同的系统组件,正确地将它们结合,并将令人却步的所有跨范围复杂度验证任务弄简单给工程师。在这种情况下,他们就必须产生一个FPGA。从前端(和实作步骤相反)开始,此复杂性就在3个重要区域中被管理:组件模型、设计实例(instantiation)以及验证流程。
组件模型
当制作以硅为目标的组件模型时,对于细节组件行为对照验证系统正确作业所需的时间的取舍需谨慎为之。这在PLD架构的模拟组件中尤其重要,依此零件的预先组装天性即使是已解决的问题还是会被呈现。在最高层级的抽取中,所有的模拟组件都是依据数字组件将严格的数字行为规范覆盖在模拟行为模式上。窍门是抽出组件的完整行为细节,只留下能决定符合特定设计目标系统所需的功能。在PSC流程方面,依据实际硅的特征化数据的规格上具有模拟功能的电子特征,如信号整合度、A/D传输功能以及耦合效应等。包括输入预先缩放、差动增益、迟滞、A/D控制功能及输出行动等基本的模拟交换行为会被抽出,并放入适合在数字仿真器中特征化系统层级行为的粗略数字行为模式中。
设计实例
此一复杂且纯熟系统的设计实例需要有足够智能让设计者快速行动的灵活设计产生环境。基本上此,可达目标装置的逻辑资源所允许的最大值。这些受到自身绘图组态器支持的非常灵活资源是可以撷取、组态、并例举在设计中的,全都是非常简单的pick-and-click动作,不需要直接HDL编码。同时工具链会创造骨架,将想要的资源互连,并自动创造必要的控制机制。
智能的以GUI为基础的工具是在不需要直接使用者引导的背景下达成这些步骤的。这些工具的焦点都在容易使用,并提供快速的设计发展。当然它并不排除传统的 HDL代码发展,后者是熟悉HDL的使用者所不可或缺的,他们在计算电闸时需要最大的最佳化设计,或是需要广泛的设计客制化。验证
传统的混合信号ASIC发展遵循由下而上的方法。它牵涉到两个不同的小组:一个研发数字部分的写入RTL代码,而另一个在晶体管层级实作模拟电路。在验证方面,设计者一般使用Verilog-AMS或VHDL-AMS的高层级全芯片仿真以验证系统层级的行为,如功能、性能和迟滞等。这需要和最终电路关系密切的模拟行为模式。然而
- 基于FPGA的通信系统基带验证平台的设计(06-11)
- 提高嵌入式软件质量(03-15)
- 基于测试仪器技术及UML的模型验证集成测试(01-20)
- 利用基于FPGA 的仿真平台简化SoC IP 验证(06-06)
- 一种面向系统芯片的FPGA协同验证方法(06-06)
- 通过将SystemC和SystemVerilog集成在单个环境中获得事务级建模和高级验证功能(06-06)