当前位置:首页 > 工业控制 > 电子设计自动化
[导读]Mentor Graphics 公司(纳斯达克代码:MENT)今天发布了最新版的 Catapult® 平台。与传统手工编码的寄存器传输级 (RTL) 相比,该平台将硬件设计的时间从设计启动到 RTL 验证收敛缩短了 50%。

Mentor Graphics 公司(纳斯达克代码:MENT)今天发布了最新版的 Catapult® 平台。与传统手工编码的寄存器传输级 (RTL) 相比,该平台将硬件设计的时间从设计启动到 RTL 验证收敛缩短了 50%。虽然现有的高级综合 (HLS) 方法可将设计和验证生产率提高多达 10 倍,但是完成最终 RTL 验证所需的时间还是可能会抵消这些优势。而此次发布的 Catapult 平台结合 HLS 与成熟可靠的验证方法以及新工具,其中,新工具能够在 C++/SystemC 级验证收敛(实现 C++/SystemC signoff 的重大步骤)的基础上实现快速且可预测 RTL 验证收敛。

NVIDIA® 在其最近的案例研究报告《工作需要更智慧而非更努力:NVIDIA 通过高级综合缩小设计复杂性带来的差距》中,公布了其在 HLS 设计和验证上取得的成功。“通过采用Mentor Graphics Catapult 的 C++ 高级综合 (HLS) 流程,NVIDIA 能够将代码简化 5 倍,将回归测试所需的 CPU 数量减少 1,000 倍,并且运行多达 1,000 倍的更多测试,从而为他们的设计获得更高的功能覆盖率。同时 HLS 缩短了 50% 的设计时间……”该报告作者 Frans Sijstermans 和 JC Li 如是写道。“视频团队对 HLS 应用的成功使得全公司范围内的所有新 NVIDIA 设计均采用 HLS。所以,当需要更加智慧而不是更加努力地工作时,HLS 是一个不错的选择。”

业内第一的 HLS (C++/SystemC) 形式属性检查器

该最新版本的 Catapult 引入了业内第一并基于 Catapult 形式的 C 属性检查器 (CPC) 工具。该工具可在综合之前自动寻找程序错误,可节省数日或数周的验证调试时间。CPC 在用户的 HLS C++/SystemC 模型 (HLSM) 中使用形式分析来自动识别并在形式上验证难以发现的问题,如内存未初始化、0 做除数以及数组越界错误等。除自动检查之外,CPC 还可在形式上验证用户写入的断言和覆盖点,为可提供 HLSM 综合验证的动态仿真进行补充。

加快 100% RTL 覆盖率

最新版本的 Catapult 还通过消除 RTL 冗余、添加新的 RTL 测试管脚并将 HLSM 中的用户断言和覆盖点综合为 SVA(SystemVerilog 断言),实现更简便、快捷以及预测性更强的 RTL 验证收敛。为更快地实现功能覆盖率收敛,Catapult 还可生成完整 RTL 测试环境,与原始 HLSM 相比,在该测试环境中可重复使用用户的 C++/SystemC 测试平台,从而自动验证仿真结果是否相等。为更快获得 100% RTL 结构/代码覆盖率,Catapult 与 Questa® CoverCheck 工具形成无缝协作流程,快速寻找可安全忽略的无法访问的代码并为之自动生成弃权。而对于可访问的代码,流程可让用户快速了解生成的波形中,什么是 HLSM 所需要的,从而快速清理代码中存在的隐患。此方法可在 HLSM 验证之后数天,让验证达到 100% RTL 覆盖收敛。

实现 HLS 标准和生态系统

此次发布的 Catapult HLS 通过全力支持新 Accellera SystemC 可综合子集,推进了 HLSM 语言的标准化。除此之外,Catapult 还支持任意长度的算法 C (AC) 数据类型、精确位整数以及定点数据类型,提供形式和动态工具所需的静态位精度和快速仿真时间。如今,Mentor 已使 AC 数据类型开源并与 SystemC 综合标准 100% 兼容。同时,Mentor 会将它们提供给 Accellera 以实现标准化。

关于 C++/SystemC signoff 的 HLS 愿景

“随着以更少资源实现更多功能的压力不断增大,设计流程变更以求大幅提高生产率已势在必行,”Mentor Graphics Calypto 系统部总经理 Badru Agarwala 说道,“我们的愿景是完成 HLS 生态系统,为 RTL 设计人员提供他们熟悉的工具和方法,让其实现 SystemC/C++ signoff。而获得 100% RTL 覆盖率、HLS 标准以及业内第一的 C++/SystemC 形式属性工具是达成这一愿景的主要步骤。”

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

其实在 c++语言里面const修饰的才算是一个真正的常量,在 c 语言中 const 可以说是个“冒牌货”。为什么会这样?其实是 c++ 编译器对 const 进行了加强,当 c++ 编译器遇到常量声明时,不会像 c...

关键字: c++ C语言 const

返回函数的引用去初始化一个新的引用这个和前面一样,都是不会产生副本,但是现在是用返回值去初始化一个引用声明c,也就是说这时候变成了变量temp的别名,在c的生命周期内temp是一直有效的,这样做完全可以。

关键字: c++ 返回值 引用声明

C++是一种面向对象的高级程序设计语言,是C语言的超集。

关键字: c++ C语言

新思科技公司(Synopsys)推出该公司最新研发的Synphony HLS (High Level Synthesis)解决方案。该解决方案集成了M语言和基于模型的综合法,与 传统RTL流程相

关键字: hls 新思科技

1 引言 当前集成电路制造技术迅速发展,SoC(system-on-chip)设计已经成为集成电路设计的发展方向。随着SoC 设计的复杂度提高,在开发SoC 的过程中,验证工作越发重要和

关键字: systemc

分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。 在Java 中定义了关键字final ,被final 修饰的

关键字: c++ class

泛型算法中的定制操作很多算法都会比较输入序列中的元素,通过定制比较动作,可以控制算法按照编程者的意图工作。本文以string排序为例进行说明,首先是缺省的排序动作: vector v{"This","

关键字: c++

为什么是lambda?讲了这么多天的lambda表达式,有一个很基本的问题没有回答:为什么叫lambda表达式呢?首先这个lambda就是罗马字母λ,lambda表达式即λ表达式。数学上有一个概念叫λ

关键字: c++

        假设我们有个函数用来揭示处理程序的优先权,另一个函数用来在某动态分配所得的Widget 上进行某些带有优先权的处理:int priority () ; void processWi

关键字: c++ effective

判断链表中是否有环最经典的方法就是快慢指针,同时也是面试官大多想要得到的答案。       快指针pf(f就是fast的缩写)每次移动2个节点,慢指针ps(s为slow的缩写)每次移动1个节点,如果快

关键字: c++ 链表 快慢指针
关闭
关闭