利用Mentor高层次综合技术快速实现复杂DSP算法

上传人:z**** 文档编号:114656295 上传时间:2022-06-29 格式:DOC 页数:11 大小:31KB
返回 下载 相关 举报
利用Mentor高层次综合技术快速实现复杂DSP算法_第1页
第1页 / 共11页
利用Mentor高层次综合技术快速实现复杂DSP算法_第2页
第2页 / 共11页
利用Mentor高层次综合技术快速实现复杂DSP算法_第3页
第3页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
利用Mentor高层次综合技术(Catapult Synthes is)快速实现复杂 DSP 算法摘要:为了满足产品上市时间和功能丰富性的要求, 越来越多的先进设计公司开始提高设计的抽象层次进行复 杂的DSP硬件设计,从RTL级提高到C/C+,以保持产品 的持续领先地位。Mentor Graphics的高层次综合工具(Catapult Synthesis)是第一个综合标准的ANSI C+的产 品,它可无误地生成针对 ASIC/FPGA 的高质量 RTL 代码, 且速度比手工编码的快 10-20 倍。本文以 FIR 的实现为例, 利用 Catapult Synthesis 快速探索不同的设计架构,快速地找 到性能、面积和功耗之间折衷的最佳实现方案,使得真正的 IP 复用成为可能,并以图表方式给出不同约束下的面积、延 迟和吞吐率(36、3、1 时钟周期)的性能,同时提供了集成的 验证和综合流程,极大地提高了设计效率。关键词:高层次综合;Catapult Synthesis;验证;IP复 用;DSP;吞吐率1.引言随着市场对 3G、4G、WiMAX、 WLAN、UWB、MPEG4、 H264、VC1 等应用的追捧,其设计规模和复杂度增加使得设 计者需要考虑的问题越来越多,而激烈的市场竞争也使得电 子产品上市时间的压力越来越大,采用传统的RTL级设计已 导致了许多估计不到的难度:1)如何能够在上市时间的巨大压力之下,快速的找 到一种优化的结构来实现?2)由于系统设计和RTL设计之间存在鸿沟,如何避 免理解上的偏差,减少RTL设计中的错误?3)如何根据接口定义和要求的变化,快速实现 RTL 设计?4)如何快速验证RTL是否与原有的算法匹配?5)如何进行产品的差异化开发,如何真正做到IP的 Reuse?因此,需要采用更高抽象层次的设计方法来满足新的设 计需求。Mentor公司的Catapult?R Synthesis高层次综合工 具套件帮助硬件设计工程师将设计抽象层次提高到 ANSI C+,使得下一代无线、卫星、视频和图像处理等应用中需 要的高性能复杂ASIC和FPGA硬件的快速实现成为可能。2. 微结构分析和优化Catapult Synthesis 是业内第一个也是最成熟的综合无定 时的ANSI C+的产品,它采用自动生成的方法,避免了手 工编码引入设计的错误,且速度比手工编码的方法快 10-20 倍。由于传统的设计方法是劳动密集型的,它们几乎没有给 设计者留下评估其它可选架构的时间。硬件设计者被迫提前 对架构进行选择,从而不可避免地导致非优化的硬件实现; 像 SystemC/ HandelC 那样的硬件化语言,需要将硬件实现的 细节在代码中规定,因而其对微架构的尝试也很有限,而 ANSI C+代码并没有规定硬件实现细节,可以在整个设计空 间中探索,并能快速探索不同的微架构对实现结果的影响, 从而可以快速找到一种性能、面积和功耗之间适当折衷的最 佳实现方案,如图 1 所示。3. 创新的设计流程世界上领先的公司之所以可以持续领先,就在于其产品 的上市时间比其竞争对手短。目前设计流程中系统设计与硬 件设计之间有明显的断层,根据 Collett International Research 作的一项调查表明, 78%的产品不能按期完成正是 由于原始系统级规格(C/C+或Spec)转译成RTL描述时 的错误造成的。利用Mentor的Catapult设计流程,由定点的C+代码直 接综合出可综合的 RTL 代码,如图 2 所示。该流程的好处是 工具自动解析C+的代码,不会因为硬件设计者对C+代码 的理解上的偏差而造成设计上的缺陷,并且可以节省大量的 RTL 设计、调试和优化 RTL 代码的时间。如果需要进行原型 板验证,可以在 Catapult 综合时指定所用 FPGA 型号和期望 的频率,即可生成针对该 FPGA 型号优化的 RTL 代码,同时 也生成了 Precision?R 综合的脚本,双击该脚本可直接调出 Precision RTL 进行 RTL 综合,然后利用相应的布局布线工具 进行布局布线,最后下载到 FPGA 中进行板级验证。为了保证硬件设计者能创造出最佳的设计实现,Catapult Synthesis 通过与领先的第三方工具提供商(如 Synopsys Design Compiler?R )的密切合作为时序验证和功 耗估计提供了确定的设计流程。顺序等效性验证流程(Calypto SLEC?R )可在系统级输入模型和输出的RTL设 计之间方便地证明功能的等效性,即为纯粹的ANSI C+源 代码和输出 RTL 代码提供了形式验证的途径。功耗估计流程 (Sequence PowerTheater?R)使设计者在设计如消费类和移 动通信产品等功耗敏感的应用时能够精确地估计设计的功 耗。因此采用该创新的设计流程,可以得到面积、延迟和功 耗三者最佳的折衷解决方案。4. 层次式设计和接口综合能力在设计之初,Catapult Synthesis可帮助设计者确定和分 析可能的设计层次,允许设计者交互选择优化的层次结构。 一旦设计者决定了合适的层次结构, Catapult Synthesis 运用 其层次式引擎为各个函数综合出具有独立有限状态机,控制 逻辑和数据通路的并行层次式子系统。考虑到实际的项目开发过程中,系统的 Spec 往往会随着 市场对项目的需求的变化而发生改变,且往往导致部分 RTL 代码的重新编写,延误了项目的进度。而 Catapult Synthesis 不需要在源码上嵌入接口协议,它采用纯的ANSI C+描述 作为它的输入,并采用专利的接口综合工艺来控制设计接口 上的时序和通信协议。这使得设计者可以针对各种微架构和 接口设计执行详细的what-if分析,大幅减少RTL的实现时 间,改善设计流程的可靠性,降低硬件开销,保持产品的竞 争优势。相对于其它的高层次综合工具而言, Catapult Synthesis 不仅提供了丰富的硬件接口如流接口、单端口或双 端口 RAM、硬件握手、FIFO、AMBA以及许多其它内嵌的 I/O元件,还通过支持含FIFO的流通道、乒乓存储器、共享 存储器和通道深度和宽度调整来自动保证层次式模块之间 的数据通信的正确性,如图 3 所示。此外, Catapult Synthesis 的库编译器可以提供定制的或具有特定属性的I/O元件,使 得设计者能够将存储器,IP,DesignWare和现存的RTL代码 提升为定制的库单元,从而进一步增强设计的性能,显著减少项目的开发周期。5. 产品的差异化开发和 DSP 算法的快速高性能实现市场竞争的日益加剧,顾客对产品的需求划分更加细 化,而丰富和完善的产品线可以加深顾客对商家品牌的认知 度。原来在开发相应的高、低端产品时,往往需要重新进行 RTL 代码的设计,延误市场先机,而 Catapult Synthesis 可以 帮助解决这一问题。就打印机而言,从低端家庭打印机到高 端网络打印机的所有产品的基本算法都是相同的。然而,不 同打印机类型在数据通信、处理、存储需求上的重大差异要 求那些算法有明显不同的实现,包括不同的存储器架构和通 信总线架构。如果采用基于 RTL 的方法就需要对每一代打印 机所需的架构上做重大修改, Catapult Synthesis 可以根据 高、低端的不同需求而施加相应的硬件约束条件,自动并快 速生成 RTL 代码,从而节省了大量的项目开发时间。Catapult Synthesis 为设计者如何综合成高性能硬件 提供了全面的控制。利用同一个C/C+源代码,硬件工程师 利用高层次约束可生成从紧凑到高度并行的实现方案。这些 结构约束窗口提供了设计中所有端口、数组和循环的图形视 图,并允许施加下列部分或全部的约束,如图 4 所示: 循环的展开和流水 循环的合并 RAM 、ROM 或 FIFO 数组映射 存储器资源的合并 存储器位宽大小的调整以 FIR 的实现为例, FIR 滤波器的实现通常有并行和串 行两种实现方法。第一种方法采用多个乘加器(MAC)并行 运算,能以很高的吞吐率进行运算,延迟较小,代价是其硬 件规模较大,串行方法用一个乘加器完成 FIR 的各级运算, 使用的硬件资源较少,但相应的延迟较长。采用传统的设计 方法学,如果要实现 FIR 的话,需要根据特定的应用,决定 采用串行或并行的架构,再编写相应的 RTL 代码,如果根据 前一个项目的串行要求编写的代码,需要复用于下一个要求 高吞吐率的项目中时,就不能满足应用的要求。这也是在RTL 级不能进行真正 IP 复用的主要原因。Catapult Synthesis自动解析纯粹的定点ANSI C/C+语 言,根据设计者施加的高层次硬件约束条件,通过生成的层 次式甘特图,设计者能立刻了解C/C+代码的性能瓶颈或低 效性,如阻止并行性的存储器带宽限制,循环相关性以及限 制优化调度的数据相关性等,可以快速识别设计中的问题, 并能交叉定位到C+源码上,从而同时优化算法和硬件实现, 最终快速收敛于一个优化的硬件实现上,如图 5 所示。此外, 通过构造与关键时序不同的数据通路的基本FSM控制逻辑 和提升原来的工艺确定的算子来构造高度优化的数据通路, 保证了数据通路延迟的精确性,从而达到设计性能的最佳 化。Catapult Synthesis 可以基于设计者设置的不同约束而生 成不同的实现方案,并在X-Y图、柱状图、表格以及原理图 上显示出不同的方案的实现结果。而它提供的细粒度资源管 理功能,又可以使用户进一步控制硬件实现方案中元件的特 定结构和数量,可提供高达 15%的设计面积和5%的设计速 度的优化能力,如图6所示。图6中显示了 FIR的三种不同 实现方案的结果,其吞吐率分别为 26、 3、 1个时钟周期。 因此,硬件设计者可以根据面积和性能快速地做出正确的抉 择来生成优化的硬件实现方案(包括VHDL、Verilog、不同 抽象层次的 SystemC 模型)。6. 自动验证环境芯片复杂度的日益增加使得验证的时间越来越长,大约 占项目开发的 60%左右的时间,因而如何提高验证的效率, 减少验证的时间就显得尤为重要。 Catapult Synthesis 通过生 成SystemC事务处理器提供了集成的模块级验证环境,而这 些事务处理器把事务或顺序检测与时序的RTL同步起来。这 种集成的验证流程使得设计者可方便地复用原始的C+测试 程序验证C+设计和输出的RTL代码功能的一致性,也在特 定的同步点为混合的语言仿真提供了先进分析和调试手段, 如图 7 所示。Catapult Synthesis 在生成 RTL 级 VHDL 和 Verilog 代码 的同时,也生成了如 Design Compiler?R, Precision?R 综 合, QuestaTM 等业内领先综合和仿真工具的脚本,该工具 还利用了如自动调用 RAM 或 DSP 宏模块等 RTL 综合特性, 根据下游的 RTL 综合工具所采用的特定工艺库中采集详尽 的特征数据。这使得 Catapult Synthesis 精确调度硬件资源, 而无需花费大量的时间和精力来进行 RTL 综合就能快速提 供精确面积、时序和吞吐率估计。Catapult Synthesis也自动 为后续的RTL验证提供仿真的Makefile,双击该Makefile就 会自动调用 Questa/Modelsim /NC-Sim(VCS 将在下个版本支 持)仿真器进行仿真并自动比对C+仿真结果和RTL仿真结 果,减少了脚本和 Testbench 的编写量,如图 8 所示。此外 它能自动为该模块生成不同抽象层次的 SystemC 的模型,从 而使系统级验证提前进行成为可能,由于 SystemC 模型的抽 象层次比 RTL 高,因而仿真的速度要快得多,大大缩短了验 证周期,如图 9 所示,并可以更早地验证系统架构的划分是 否合理,避免了设计上的反复,保证了产品的上市时间。7结论由于上市时间对产品,特别是消费类电子产品的成败至 关重要。而人工方法需要耗费大量时间,设计者无法尝试进 行所有可能的微架构和接口设计,因此得到的设计优劣就与 设计人员本身能力相关。Mentor Graphics公司推出的Catapult Synthesis 工具,其先进的分析能力使得硬件设计者可以充分 和交互探索微架构和接口设计空间,生成可与手工编码设计 质量相媲美的高性能硬件实现,并已被世界各地的领先设计 公司证明该设计流程有助于在下一代计算密集型应用中,设 计复杂的 ASIC 或 FPGA 硬件,并已有 36 个 ASIC 设计成功 流片和 100 多个 FPGA 设计成功实现。它还可针对不同应用 而施加不同的约束,而无需修改算法,迅速综合出硬件,从 而真正实现IP的Reuse,做到一次开发多次受益。此外, Catapult Synthesis 也将原来分离的两个设计域,系统级设计 和硬件设计,有机地统一了起来,结合 Mentor 公司的 Questa 仿真工具,为下一代电子系统级设计(ESL)奠定了坚实基 础。注:本文中所涉及到的图表、注解、公式等内容请以 PDF 格式阅读原文
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!