HDL Creator™概述

Blue Pearl 中的 HDL Creator™ 是一款高效的代码分析工具,为工程师开发高质量的RTL代码以及测试平台代码提供强有力的帮助,这为实现复FPGA设计、ASIC 设计以及某些IP设计提供极大的便利。

HDL Creator™ 在一个简单易用的编辑器中提供实时的语法和代码风格检查。与标准的编辑器不同,HDL Creator™ 提供高级的实时文件分析,可以在编写代码的时候发现并修复复杂的问题,比如编译依赖文件、丢失依赖文件等问题,此外 HDL Creator™ 还提供高级设计层次视图,用来理解和调试代码。

HDL Creator™ 既可以单独作为编辑器使用,也可以集成在 Blue Pearl 的可视化验证套件中,是所有开发团队的理想选择, 无论他们的后续的验证环境如何。

关键优势

HDL Creator™ 是一个全功能的源代码编辑器,在HDL代码开发过程中提供实时的语法和代码风格检查。除了常见代码编辑器所具有的基本功能外,HDL Creator™ 还提供了超过2000多项的实时检查,用来简化代码开发,避免迭代开发中一些常见的代码错误。

 ◆  加速代码开发

 ◆  显示复杂的源代码,以便高效编码,阅读和理解代码

 ◆  确保高质量代码的开发

 ◆  简化后续开发

基本功能

 ◆  代码块的缩进(设置为 Tab 键或者空格键)

 ◆  换行自动缩进

 ◆  折叠功能(将代码块折叠或者打开)

 ◆  自动完成

 ◆  语法突显

 ◆  支持匹配

 ◆  Block 注释多种风格选择

 ◆  行尾多种风格选择

高级功能

 ◆  图形化视图

 ◆  自动分析当前文件,显示语法问题

 ◆  实时的语法和代码风格检查

实时分析支持超过 70 个“负载检查”

○ 超过 2000 条 Verilog 和 VHDL 解析分析消息

 ◆  项目和非项目模式

 ◆  生成 PDF 文档

 ◆  后续分析和仿真器集成在一起

项目可视化

 ◆  HDL Creator™ 不仅仅是一个普通的编辑器,作为一个智能编辑器,它还提供了帮助您在编码时理解和验证一些常见问题的实时视图。

 ◆  Block 块级别视图和 Module 模块可视化

 ◆  不同时钟 / 复位设计域的原理图可视化

 ◆  数据流可视化

 ◆  综合前文件层次可视化

 ◆  支持设计外部文件

○ 基于用户定义库的文件视图

○ 基于目录的文件结构视图

单独使用或在可视化验证套件中使用

作为一个独立的编辑器,HDL Creator™ 是设计团队的理想选择,可以更好地与验证团队紧密合作,通过捕捉编码之前的常见的代码和风格问题,避免了团队之间不必要的设计迭代。当在 Visual Verification Suite 中使用时,可以使用其他的分析,可视化,集成化来扩展 HDL Creator™ 的功能,从而简化前端代码设计,提升效率。

Analyze RTL™概述

Blue Pearl 的 Visual Verification Suite 提供强大的Lint,Debug,CDC 和自动SDC 生成全流程,以加速RTL验证。Analyze RTL™ 提供强有力的RTL lint和debug能力,是业界错误发现和修复率最高的工具,可以快速识别关键的设计问题,预先发现并修复问题,简化软件仿真和综合的过程,提高设计的整体质量。

关键优势

现代ASIC、SoC和FPGA动辄数百万门、数千万门、数亿门的设计规模,系统都由内存 DDR、收发器、第三方IP和处理器核心等组成。RTL代码设计问题在仿真验证过程中非常耗时且难以调试。为了减少验证和调试时间,设计工程师需要有效的工具在做相关验证和综合之前快速识别问题。

主要功能

 ◆  分析RTL,加速RTL验证和调试

 ◆  快速高效的设置向导

 ◆  检查是否符合IEEE Verilog/System Verilog和VHDL的语法规范

 ◆  配置检查及标准检查,STARC, RMM, 和Xilinx®UltraFast™等设计方法检查

 ◆  集成了RTL、原理图和信息查看器的GUI界面简化调试操作

 ◆  使用简单的调试消息排序、 过滤和放弃来查明问题

 ◆  使用基于tcl的命令行接口 (CLI) 的自动化流程,可恢复信息豁免文件

快速识别设计问题

Visual Verification Suite的Analyze RTL使用户能够使用智能排序和信息过滤快速调试设计问题。

 ◆ 低噪声

 ◆ 检查定制的特定设计风格

 ◆ 简易设置

 ◆ 豁免迁移

FSM分析

设计人员可以使用Analyze RTL中的FSM分析功能,而不是编写详尽的模拟测试台来验证他们的有限状态机 (FSMs)。设计师只需付出最小的努力就可以做到:

 ◆ 从RTL中提取FSMs

 ◆ 找到状态机死锁状态

 ◆ 生成易于阅读的图表,以更好地可视化FSMs

高速设计的RTL检查

尽早发现阻止设计获得预期速度的RTL编码是很重要的。由于FPGA的结构比ASIC更受约束,某些类型的结构会导致速度变慢。与其等待综合或静态定时分析结果, 不如提前分析检查。Analyze RTL 用户可以轻松识别 :

 ◆ 高扇出nets

 ◆ 深嵌套的“if-then-else”语句

 ◆ 高层次逻辑路径

 ◆ 复位方法,异步 / 同步

CDC Analysis概述

Blue Pearl 的工具套件提供了分析和调试代码设计的CDC问题的能力。Blue Pearl 的时钟域交叉分析解决方案由一套完整的时钟域交叉分析、一套用于解决迭代和反应式CDC设置问题的高级时钟环境(ACE)、和一套全面的调试工具组成。

 ◆  通过发现不合适的同步器或时钟域分组来减少亚稳态

 ◆  标识 CDC 同步类型

 ◆  使用IP块建模来减少建模的复杂性并增强可调节性

 ◆  提供分析报告和原理图,以理解和调试CDC同步

 ◆  通过识别时钟和 FPGA时钟发生器,易于设置

为什么需要CDC分析?

现代ASIC、SoC和FPGA动辄数百万门、数千万门、数亿门的设计规模,系统都由内存 DDR、收发器、第三方IP和处理器核心等组成。为了使数据从一个异步时钟域正确地传输到另一个时钟域,需要有一个同步器来可靠地捕获数据并避免亚稳态。有了 Blue Pearl 的CDC分析工具, 设计师可以访问:

 ◆  通过GUI或批处理模式分析CDC问题

 ◆  使用不同的场景轻松运行CDC分析

 ◆  容易设置特定的组检查

 ◆  完整的Tcl解析器读取熟悉的输入,其中时钟和域已经定义

 ◆  识别不同时钟域之间的同步问题

安装简易

在运行CDC分析之前,通过使用ACE可视化时钟和异步时钟域之间的交互,设计师可以清楚地看到时钟是否不在预期时钟域中,并在进行深入的CDC分析之前进行修正。

 ◆  Blue Pearl 安装简易

 ◆  自动识别时钟和复位

 ◆  时钟域信息的SDC输入

 ◆  了解FPGA时钟发生器模块来传播时钟

 ◆  高级时钟分析图

CDC分析类型

设计人员可以使用 Analyze RTL 中的FSM分析功能,而不是编写详尽的模拟测试台来验证他们的有限状态机 (FSMs)。设计师只需付出最小的努力就可以做到:

 ◆  遗漏的同步器

 ◆  重收敛线

 ◆  同步器中的组合逻辑

 ◆  同步器之前的组合逻辑

识别FPGA厂商的时钟结构

大多数CDC工具不识别FPGA供应商的时钟方案,设计工程师需要花费大量的资源来设置他们的设计。Blue Pearl 的CDC内置了智能功能,设计工程师轻松的进行 :

 ◆  设置他们的 CDC 运行

 ◆  使用内置的交叉探测和原理图显示进行调试

FPGA IP 时钟分布模块生成的时钟在同一域中,这简化了设置并减少了错误的CDC

基于IP设计的简易CDC分析

在一个典型的设计流程中,设计师必须对被处理过的或不可综合的IP黑盒化。这样一来,CDC的分析结果是不完整的,并且许多亚稳态的CDC问题不会被报告出来。使用 Blue Pearl 的 User Grey Cell™(UGC)  方法,可以识别跨边界的CDC问题。

 ◆  Blue Pearl 发布了包含FPGA供应商UGC模型

 ◆  从databook轻松创建UGC

Management Dashboard概述

Blue Pearl 的 Visual Verification Suite 提供强大的Lint,Debug,CDC 和自动SDC 生成全流程,以加速RTL验证。管理仪表板(Management Dashboard)提高了ASIC、FPGA和IP RTL设计规则及CDC检查的可视性,以更好地评估进度、风险和整体设计质量。

关键优势

管理仪表板(Management Dashboard)提供了对 RTL 仿真验证进度的实时可见性,提供可定制的图形化项目报告,用作文档凭证和设计评审。图形化报告着重分析了RTL lint 检查和多时钟域检查 (CDC) 解决方案的覆盖范围、错误、警告和可忽略的一些规则。

Management Dashboard 是搭建在 Visual Verification Suite 的行业标准SQL数据库之上。该工具监控采样并记录CDC多时钟域检查和以waivers中每次运行的日志信息, 以提供对RT仿真验证进度的实时可见性。可以自定义将报告的错误、警告、以及评论和其他的信息忽略或者显示出来,这样能够使项目经理和设计人员能够快速定位到自己所关注的地方的报告。该工具既支持交互式运行,也支持批量处理运行,对于从事多个ASIC设计或FPGA系统设计的个人和设计团队非常有帮助。

Management Dashboard 中的图形信息可以轻松导出到 Microsoft Office 工具中,以便存放在相关文件和标准报告中,使其成为设计更新或者检视项目代码的理想选择。

 ◆  每日跟踪仿真进度并回归运行

 每次运行都有相关的 log 消息、 CDC 信息和忽略信息

○ 交互式和批量处理运行两种方式

 ◆  导出到 Microsoft Word、Excel和PowerPoint

 ◆  可在 Windows 和 Linux 操作系统上运行

为什么选择SDC?

当前芯片设计规模通常在数百万门、数千万、数亿门级别,通常 SoC 芯片还会带有存储器、收发器、第三方的IP 和处理器内核IP等。它们通常而言非常复杂, 以至于无法轻松进行调试。这样一来,相关设计人员需要一套在仿真流程之前、 综合流程之前以及在编程之前运行的验证工具。

ASIC芯片的设计和FPGA的设计过程中通常都会有许多false path和multi-cycle path,相关应用工具都会尝试优化这些相关路径以满足时序目标。这些路径会导致关键路径不满足时序要求,并且浪费大量运行时间和服务器的系统内存。添加false path约束,使综合工具只在必要的路径上运行,从而为设计提供更好的结果。

Blue Pearl 提供了一种自动生成 false path 的方法,可以在设计修改之后运行。

高效的时序例外生成

在一个典型数字芯片设计过程中,存在大量的false path或multi-cycle path。将它们全部传递给综合或布局布线工具,对这些工具来说费事又费力。Blue pearl 的高效SDC生成工具,可以:

 ◆ 限制生成异常的数量

 ◆ 读取关键路径信息

 ◆ 接受多种格式

有针对性的对False Path和Multi Cycle Path约束

实际上,设计中的False path比执行工具有效识别的要多。当输入更多额外时序约束时,执行工具经常会占用过多的内存和运行时间或者忽略超出一定数量的约束,来执行接下来的流程。Blue Pearl 能够接受Xilinx Vivado软件和Intel Quartus 软件产生的关键路径时序报告,以确定设计的选定区域,并且只生成最关键的 False path约束。

SDC指定工具生成

尽管SDC是我们常用的约束文件的标准格式,但每种工具的读取方式都略有不同,这可能使工具的处理过程有所限制。Blue Pearl 的SDC生成工具可以:

 ◆ 生成指定工具的SDC变量 

 ◆ 文件格式转换

 ◆ 轻松插入到现有流程

多周期路径生成

多周期路径 (MCPs) 对于设计而言是非常重要时序约束。如果约束文件不包括多周期路径,这些路径可能很难或不可能满足整个电路的时序要求。Blue Pearl 可以在设计中找到多周期路径并生成相应的SDC约束文件。Blue Pearl 还可以找出 MCP在RTL代码设计中的位置,还可以提供可视化电路结构示意图,以便于更清楚的分析关键路径。

SDC智能对比

设计人员在满足时序要求之前会执行多次迭代设计。因此,快速比较两次迭代之间运行结果的机制就显得尤为重要。Blue pearl 的SDC对比 :

 ◆ 易于使用

 ◆  提供智能跟踪

 ◆ 与 Visual Verification Environment™ 集成

Advanced Clock Environment 概述

Blue Pearl 公司的ACE提供了在RTL设计中可视化时钟和异步时钟域的能力,以帮助用户分析设计中的CDC亚稳态。

Advanced Clock Environment (ACE) 工具解决工程师靠经验来解决CDC的问题。在CDC分析之前使用ACE工具,设计师可以清楚地看到时钟是否在预期的时钟域中,并在深入的 CDC 分析之前进行修正。

什么是ACE?

Blue Pearl 软件的ACE工具提供了一个图形界面显示,总结了时钟之间的数据路径,并可以提出将时钟分组到时钟域的建议。使用ACE,设计师可以识别时钟, 以更好地理解它们如何与设计中的同步器相互作用。这允许用户快速识别导致产生CDC亚稳态的不正确的同步器或时钟域分组。

为什么要注重亚稳态和CDC?

彼此之间是异步的时钟应该放在不同的时钟域中,它们之间的任何CDC都应该是同步化处理的。即使是两个频率相同的时钟,如果它们分别来自不同的独立的时钟源,也应该放在不同的时钟域处。

在最基本的层面上,亚稳态是指当数据在活动时钟边缘之前或之后发生过早变化时,寄存器内发生的情况;也就是说,当违反保持或建立时间时。处于亚稳态的寄存器将处于0和1有效逻辑状态之间,达到有效逻辑状态的过程比正常状态要长得多。它最终会落入一个稳定的“1”或“0”状态,但没有办法预测它会朝哪个方向下落,或者需要多长时间。如果亚稳态持续时间超过一个时钟周期,它可以被传播到下一个寄存器。

当数据在两个时钟是异步时钟的寄存器之间传输时,会发生亚稳态。事实上,没有办法阻止它,亚稳态不会消失。您所能做的就是通过将两个时钟放置在不同的时钟域中并在交叉点使用时钟同步技术来最小化其影响。因此命名为 “时钟域交叉”(CDC)。

将两个时钟放入同一个时钟域就是声明这两个时钟彼此同步,并且它们之间的CDC不需要同步。如果时钟来自同一个源,或者一个来自另一个,那么它们是同步的,应该放在相同的时钟域中。

所有的规格都存在误差,两个相同频率的独立时钟源会随着时间的推移而产生漂移。两个时钟之间的CDC同步失败,将导致亚稳态问题。

ACE用途

 ◆  评估时钟域定义

 ◆  评估 SDC 时钟约束

 ◆  生成一个时钟和时钟域的图形化分析

 ◆  验证时钟分组建议

 ◆  生成用于 CDC 分析工具的 SDC 模板

ACE特点

 ◆  详细分析时钟、时钟分组和交互作用

 ◆  可视化显示过滤器使快速调试

 ◆  精确定位 RTL 设计中的问题所在

典型适用ACE

 ◆  没有适当的时钟域设置,CDC 分析结果不可靠

 ◆  几乎不可能有任何工具自动推导出所有的时钟域

 ◆  设计人员在增量地做出时钟 / 时钟域决策时执行许多 CDC 迭代

ACE的总体目标是使工程师通过适当地将时钟分组到时钟域来发现设计中的亚稳态问题。在运行CDC分析之前,设计和验证工程师使用ACE来确保时钟域被正确指定。

ACE会很快发现时钟域分组中的错误,或者为同步的电路找到/推荐合适的时钟域分组。

那些对减少周期时间感兴趣的工程师,通过尽早发现问题,发现 Blue Pearl 的高级时钟环境是对他们现有设计环境的一个很好的补充。

Blue Pearl 公司简介

Blue Pearl Software, Inc 成立于2004年,总部位于美国加州圣塔克拉拉市,是领先的RTL分析、调试、CDC分析、SDC生成EDA工具及解决方案供应商,工具广泛应用于ASIC/FPGA/IP设计的各个细分领域,2016年最佳EDA工具评选中排名第二,为下一代数字芯片设计方法提供卓越的核心EDA工具支持。 亚科鸿禹是Blue Pearl Software, Inc 中国区独家合作伙伴,欢迎联系我们的销售团队获取更多产品介绍:hypersilicon@hypersilicon.com

联系我们