• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025机器人产业趋势论坛报名
传感器

针对Verilog和VHDL调试的开放系统

  2001年04月29日  

对于当今复杂的集成电路设计来说,调试成本要高于验证成本。相对而言,调试的互动特性决定:查找缺陷产生原因的过程需要工程师们持续不断地直接介入,这样,调试成本便不再局限于软件和硬件,很多因素作用在一起便增加了调试成本,因而选择调试系统是保证Soc设计利润最大化的重要策略。

Scott Sandler

首席执行官

Novas Software Inc.

由于调试的高成本,使得调试工程师一般都受特殊验证工具的限制。当工程师们切换工具时,他们要花费许多宝贵时间,结果,这些工具无法最大限度地帮助工程师查出缺陷的位置并加以分析。本文介绍一个面向设计、完全开放的系统,它能够、自动定位查找、分析和理解整个设计中缺陷产生的原因,因而速度更快,调试更准。

开放的调试系统

开放的系统调试法将调试工具从验证工具中分离出来同时也将调试和验证系统整合在一起并提供标准接口。这允许工程师对整个设计和验证过程使用统一接口。开放系统的用户可在一个公共的环境中通过跟踪及分析去调试许多验证工具。

Novas软件公司的Debussy系统能独立编译HDL源文件,它不仅可以提取出设计的连接性和层次性,而且还能提取出设计的行为组织图。这种编译过程与RTL综合过程的初始阶段十分相似,它也能识别一些器件如先进先出缓冲器、寄存器、多路器和内存。这对定位查找、分析并理解BUG产生的原因非常关键。

从设计源文件中提取的信息将储存在一个调试专用数据库中,它们由系统的跟踪、检查和分析工具随时调用,这些工具利用已存的设计信息使工程师在调试期间能够反复地自动执行任务。

Verilog和VHDL源代码是大多复杂IC设计工程师的主要表达方式,因此,调试系统主要通过源代码的灵活的互动窗口表达设计,其他设计窗口如层次连接表、RTL功能模块图、门级原理图都能从设计数据库中已存的信息自动得出。

开放的系统通过应用程序接口(API)和执行脚本接口很容易与其他系统集成在一起。图1显示了调试系统结构。

定位查找与分析

设计自动化系统的价值主要体现在自动处理重复、耗时、繁琐和困难任务的能力上。在调试过程中,由于源文件太多,定位与分析在某些条件下产生不正确逻辑的过程便可能要不断重复,因而耗费大量时间,且繁杂和十分困难。

这种跟踪按如下几步进行:

  1. 从测试平台告知的具有错误值的信号开始;

  2. 找到信号存在的文件与设计模块;

  3. 找出设计模块中相关信号的每次事件;

  4. 确定出现事件的驱动器;

  5. 标注输入驱动器的信号;

  6. 通过层次、多种源文件和名称变换递归地跟踪这些信号直至驱动器;

  7. 理解每个驱动器应有的值;

  8. 确定哪个驱动器产生了不希望的值;

  9. 分析产生错误值的原因。

在大型设计中,这会花费太多时间,如果设计又互不相关,那么跟踪这些关系就变得非常困难。

调试系统自动跟踪这些关系,进而查出驱动逻辑和分析问题产生的原因。通过利用存于设计数据库的关联数据,系统可以通过自动穿越层次变换、文件变换和名称变换来跟踪任何一个所选信号的驱动器,跟踪的断点很可能是驱动器链上的个别RTL陈述和网表单元,也有可能是编译过程中可识别的存储元。这种跟踪通过超级链接的方法沿着一个感兴趣的分支很容易延伸。在源代码窗口中,关联性和层次性组件都由点亮链接方式显示,这使它很容易在整个设计中跟踪上一级/下一级和驱动器/接收器的关系,无论层次或文件结构有多么复杂。

这种非常容易地自动跟踪因果关系的结果使复杂设计中跟踪缺陷产生源的速度以指数级增长,同时也更容易理解设计的工作过程。

这个调试系统通过图形更进一步地帮助查找与分析问题,它的图形显示工具能自动从数据库的数据中调出像原理图一样的图形。比如,要查明哪个层次模块生成了特殊总线,只要在源文件中选择那条总线并要求系统画一个只显示那条总线和驱动总线的模块示意图。用户然后可以将得到的视图移到层次窗口上或跟踪某个专用驱动器背后的逻辑。同时你可以在集成的源文件文本和图表窗口间自然地切换。

更为重要之处在于,系统能自动地“剪切”和“展平”各层。在没有不相关信息干扰的条件下,画一个能描述所选点(如临界路径或逻辑模块)之间逻辑关系示意图。这样就可以从一个较大的设计中以一种简明的方式去查找实际逻辑驱动器或被驱动信号。

图2所示便是“展平”实例,左边窗口的原理图显示了信号(红色点亮部分)连接各层中的模块的过程。在右边的窗口,信号的实际驱动逻辑能自动地提取出来并被画在展平的原理图中。

来自RTL源代码和存储于数据库中的信息也可以由系统画出RTL行为示意图,图形能显示状态机、多路器、触发器和寄存器的关联过程, 同时揭示隐含于复杂或不熟悉的Verilog和VHDL代码中的行为。与这个示意图连接的有限状态机窗口,能自动画出任何一个有限状态机的一个BUBBLE图。将这些窗口连在一起便允许它们在源代码、原理图和BUBBLE图之间快速移动。图3显示已得图形的实例。

仿真结果注释

通过Verilog 和VHDL仿真器的集成,调试系统能够随时注释所有设计图, 并在波形窗口中显示结果。它也允许用户在调试系统本身通过单步执行和设置断点来控制仿真器。

通过注释源文件、原理图和状态机窗口并将仿真结果置于设计前后,设计人员方便理解其设计的复杂行为的系统调试方法。仿真结果由专用API接口提取并储存在一个能优化文件大小的专用数据库中,系统然后便能重新得到已存结果并注释源代码、原理图和状态机窗口。由于这些均与波形窗口连接,所以所有窗口中显示的值均能在相同仿真时间内同步。

在源代码窗口中,这种注释能使用户不仅看到表达式的结果,而且能同时看到所有波形表达式输入信号的值。这很大程度上增加了屏幕上的信息密度,但这比在波形窗口中选择和查看所有相关值速度快多了。在原理图窗口中,注释允许用户依据显示值快速选择某个逻辑的分支来扩展或压缩,而不必在窗口之间交叉参考信息名称。在FSM窗口,用户在仿真时间前进时很容易观察状态流,同时, 系统允许用户容易地来回重新演示仿真,进而检测感兴趣的行为。

通过标准仿真调试器的波形窗口,设计人员只能在一个很狭小的调试窗口中操作,但是,该调试系统的注释功能使工程师更好地理解设计的工作过程,因为可在设计本身的上下文中看到结果。这比在波形窗口中简单的查看信号值变化有效得多,因为许多关系是瞬间事件,且减少了连接信号波形及其驱动器所花费的时间。由于能从多个潜在驱动器中分离出实际的驱动器,系统更进了一步。

本文结论

系统调试法排除了许多减缓设计和验证的设计理解障碍。这个方法的精华在于:

  1. 原始源代码的编译,它使验证和调试各自独立,并自动跟踪因果关系进而查找产生缺陷的原因;

  2. 灵活的图形输出,它们能分析相关逻辑;

  3. 设计上下文中验证结果的注释;

  4. 利用共享数据库集成不同窗口。开放的方法是必需的,这意味着系统能将设计信息同验证统一起来,同时给用户一个贯穿整个设计、校验、调试的设计行为的统一窗口。

开放的调试系统可降低大型复杂设计的调试成本,通过这样一套系统,工程师有可能在更高的抽象级上工作,从而获得更令人满意的成品率,调试过程中节省的时间可以投入到IC功能和性能设计上。调试要占用大量人力和物力,选择调试系统是公司保证SoC设计利润最大化的重要策略。


最新视频
伊顿Bussmann:百年品牌 以创新驱动发展   
欧姆龙光电传感器E3AS | 角度特性演示:高反光不锈钢工件稳定检出   
研祥金码
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
优傲机器人新品巡展 NVITATION 邀请函
优傲机器人新品巡展 NVITATION 邀请函

优傲机器人将于2025年6月5日在北京亦庄举办新品巡展活动。届时,您将有机会近距离品鉴优傲新品成为首批见证 UR15 中

2025中国智能制造发展论坛报名邀请函
2025中国智能制造发展论坛报名邀请函

6月4日,2025中国智能制造发展论坛聚焦“数智创新赋能产业升级”与“绿色低碳构建可持续生态”双核议题,汇聚政府机构、全

在线会议
热门标签

社区