网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> EDA >> Synplify综合 >> 文章正文
  用于可编程逻辑设计的快速、有效的RTL调试解决方案(下)           ★★★ 【字体:
用于可编程逻辑设计的快速、有效的RTL调试解决方案(下)
作者:Synplici…    文章来源:电子系统设计    点击数:    更新时间:2008-1-4    

仿真仅仅是迈向设计验证的第一步。灵活而强大的硬件调试工具要求在实际的系统条件下保证设计的完整性和鲁棒性。Synplicity公司的Identify RTL Debugger是用于可编程逻辑设计调试的快速和有效的RTL调试解决方案。

Identify RTL调试器流程

来自Synplicity公司的Identify RTL调试器是一项硬件调试解决方案,其通过引入新的、独特的特征克服了目前存在的解决方案中的许多缺点。

Identify产品包括两类工具:Identify Instrumentor和Identify Debugger。Identify Instrumentor用于向搜集和存储的数据和控制语句中插入探测点。在设计已经被测试以后,其通过综合和布局布线在器件上实现。当这一切被完成以后,Debugger用于检查结果。

自动探测

Identify软件采用图形UI而不是文本编辑器来编辑设计层级中的任意层次以及直接向HDL源代码的任意节点中加入探测点。

直接测试允许改变被忽略的设计信号名,这是因为保留了探测连接。甚至在实现的过程中可以改变信号名,保留连接并在原始的名字下进行观察。

从源代码进行控制调试是使用Identify工具的关键优势之一,并且是其众多强大特性和优点的来源。Identify Debugger允许设计师在其原来输入的设计层次中控制并显示调试结果。其强大的特性允许实现复杂的触发规划。

在RTL源代码中直接观察结果数据。注释可以是逻辑级的或枚举类型的值。结果也可以在任何众多被支持的波形观察器中显示。

与其观察结果的单一瞬态图,设计师不如通过逐个时钟周期的操作来步进的向前或向后,来观察先前测试的任意节点的状态。

Identify软件支持采用逻辑资源实现多个IICE(智能内电路仿真器)实例,该逻辑资源由不同时钟域中的不同异步时钟来触发。Identify RTL Instrumentor自动编译用于探测的全部设计。在编译过程中,设计被复制到一个目录,并且检测设计中的所有探测点并在窗口中进行显示。用图形标记信号作为可能的探测点。

旁边的文本窗口显示全部设计的层级,其是在组件、模块、过程以及IF语句的基础上进行记录,以上这些在源文件中通过各自所在的行数编号,这使得找到和显示设计中的任意部分都非常容易。在层级观察器中选取一个点在相邻的窗口中显示其文本。设计的HDL观察器中,可以在测试中加入观察点或断点。鼠标菜单能够用于选择每个节点作为探测点、触发点,以及二者都是或者都不是。一个信号也可以被选择作为采样时钟。设计的探测类型在代码文本中通过其本身使用的颜色标记来显示。

对这些特定的点,Identify Instrumentor借助于其自身的编译器直接向源代码中插入探测逻辑。作为被分配用于探测的信号,需要实现探测的资源估算在副窗口中显示。

除探测点之外,Identify Instrumentor在设计中插入通信模块,在JTAG端口上传递被采样的数据到PC上的波形观察器。探测和通信逻辑一起建立了IICE,该逻辑由器件资源来实现,例如组合的、时序的、时钟缓冲器以及存储器件。探测点可以提供用于显示或采样触发的数据。设计师选择一个信号作为IICE的时钟。多时钟设计支持多个IICE实例。

在设计被测试以后,准备在FPGA工具上进行综合以及布局布线的编译。接下来,用调试器来观察波形中探测点的活动。设计工具对设计的功能性行为完全没有影响。通过工具插入的逻辑没有驱动设计中的任何部分,所以保证了所测试设计的功能完整性。需要实现工具的资源是非常微不足道的,一般占逻辑资源的1-4%。

通过RTL源代码而不是打散的网表进行探测,设计师收到来自同一层次器件操作的反馈,他在那里输入设计。不需要从波形用软件分配的连线名返回RTL进行内插。

对设计进行调试

一旦测试并实现设计,Identify Debugger工具用于在设计操作中快速检查设计节点的行为。Identify Debugger工具中,Identify软件的强大功能就是从最复杂的设计中提取相关信息,这是很显然的。

Identify Debugger用于激活断点以及当数据采样时的控制观察点。观察点探测能够在节点之间移动。在调试采样和控制信号建立以后,Identify Debugger被用于收集和缓冲采样数据。在测试期间,通过选择的源代码对采样计时。

在波形观察器或直接在RTL中显示数据采样。独特的周期特性被用于及时提前或返回以及每当移动周期指针时用采样值重新标注代码。

波形数据可以输出到标准VCD文件或者保存的枚举类型信息的VHDL模块。

各种复杂的触发机制

一种Identify Debugger触发机制影响RTL控制流语句,例如IF、WHEN、CASE及其他等。该语句被Identify Instrumentor说明为断点,其允许对作为代码执行的基于事件的节点进行隔离和监测。断点作为每条语句下面的按钮立即在RTL中显示。

设计师可以在调试和反复设计过程中,动态建立或去除断点,其允许对快速采样代码的小部分进行隔离甚至是在高度复杂的设计中。

另一个触发机制是使用设计信号或总线作为触发器和/或数据采样。如果节点被用作触发器,那么设计师具有设置一个值或转换点的选择,此时触发器会缓冲所有采样节点的值。当器件上的状态逻辑值变为真时,触发器可以采样。断点和观察点触发器可以一起使用。

也有触发计数器可以和上面的断点触发器以几种不同的方式一起使用。在一个或多个触发事件之前或之后,计数器可以存储采样。它也允许触发重复发生的逻辑事件。它可以在事件的单个时钟宽度或多个时钟宽度上触发。可能是来自状态机触发的最强大和灵活的形式。在测试期间,设计师能够输入状态机触发需要的状态的数量,然后在调试期间使用状态机编辑器键入状态输入和转变条件。状态可以被使用也可以不被使用,在调试期间动态调整输入和条件。采样触发器或触发计数器能够用于任何状态的增量。状态机触发器提供对触发的完全控制。

快速反复设计

Identify Debugger通过允许在节点之间移动探测点从而自动操作并极大地加速反复调试,然后在增量模式下调用供应商布局布线工具以便需要布局新的探测连接的这些变化被完成。在Identify Debugger控制下实现快速的反复设计并不需要调用供应商接口。增量编译允许设计师立刻返回对其的调试。

本文小结

仿真仅仅是迈向设计验证的第一步。灵活而强大的硬件调试工具要求在实际的系统条件下保证设计的完整性和鲁棒性。

逻辑分析器提供了一个解决方案,但是它们难以使用,并需要外部的引脚以及耗时的反复调试。可编程逻辑供应商的工具是另一个解决方案,其比逻辑分析器更加容易,但没有优化理解器件操作,该器件操作是退回到基于文本(HDL)的设计。

本文由Synplicity公司提供

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    用于可编程逻辑设计的快速、…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号