reveal使用方法介绍_第1页
reveal使用方法介绍_第2页
reveal使用方法介绍_第3页
reveal使用方法介绍_第4页
reveal使用方法介绍_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Reveal(Diamond)使用方法介绍Jack

LiJan.

2011Reveal使用方法介绍Reveal是嵌套Lattice的在线(on

chip)逻辑调试工具。有嵌入在Diamond里的集成版本,也可以安装单机版本。借助Reveal,设计者可以方便快捷的进行芯片调试工作,大大提高工作效率。Reveal包含2部分:Reveal

Inserter

和Reveal

Analyzer。RevealInserter:设置采样时钟,采样信号,触发信号等等。占用一定的EBR/SLICES资源Reveal

Analyzer:在线分析工具。需要使用JTAG完成片上(on

chip)调试Reveal设计使用流程Reveal设计使用流程①启动Reveal

inserter②建立一个新的或者打开一个存在的reveal

inserter工程③加入调试信号并指定采样时钟④加入触发信号并设定触发条件⑤DRC(design

rule

check)后插入调试逻辑(Insert

Debug)⑥综合reveal核生成新的网表文件并插入到Diamond工程中⑦网表文件转换成ngo文件⑧MAP,PAR生成bit文件或者JEDEC文件⑨采用JTAG电缆将ispVM所在系统(计算机)与测试芯片系统连接⑩下载bit文件并使用reveal

analyzer进行在线调试Reveal

Inserter在启动Reveal

Inserter工具之前,我们假定设计者已经准备好了需要调试的Diamond工程。这里我们采用Diamond自带的example

project来进行介绍。步骤一、启动Diamond软件步骤二、选择File->open->Design

example,如下图所示。Reveal

Inserter步骤三、选择mixed_mode文件夹Reveal

Inserter步骤四、选择mixed.ldf即打开了这个example工程Reveal

Inserter步骤五、如图所示,启动Reveal

inserterReveal

Inserter步骤六、设置reveal

inserterReveal

InserterReveal

Inserter

GUI界面介绍---detach

tool可以将reveal窗口从

diamond主窗口里分离出来或者再次嵌入Reveal

InserterReveal

Inserter

GUI界面介绍---Datasets(数据集)DatasetsReveal

InserterReveal

Inserter

GUI界面介绍---Datasets(数据集)Datasets:reveal控制面板里各种设置(settings)的集合,包括采样信号,触发信号,采样时钟,采样使能等等。默认情况下,一个reveal工程有一个调试逻辑核(debuglogic

cores)就可以完调试过程。但是有些时候对于那些跨时钟域的情况,可能就需要建立多个调试逻辑核来完成调试工作。也就是说每个一个时钟域下的调试信号对应一个采样时钟。这样才能保证调试分析的正确。最多支持16个调试逻辑核。可以点击鼠标右键修改命名,也可以增加或者删除调试核。点击每一个调试逻辑核都会对应不同的设置属性。当然也可以从debug菜单栏完成这些操作。默认情况下,不需要用户对Datasets做任何改动。Reveal

InserterReveal

Inserter

GUI界面介绍---Datasets(数据集)增加一个新的调试核删除一个新的调试核调试核重新命名Reveal

InserterReveal

Inserter

GUI界面介绍---Design

Tree(数据集)Design

TreeReveal

InserterReveal

Inserter

GUI界面介绍---Design

Tree(设计树)在DesignTree里可以看到整个设计的模块层次结构、端口、信号。这些信号可以被选中并直接拖放到右边的窗口作为采样时钟(sample

clock),采样使能信号

(sample

enable),触发信号(trigger)或者待采样信号(trace

signal)。点击右键可以展开或者收起各个模块或者模块下属的信号。

Expand

all是展开,CollapseAll是收起。实际上,只要鼠标点击模块名前面的三角标就可以实现扩展和收起。扩展后就可以选择相应的信号进行设置。Reveal

InserterReveal

Inserter

GUI界面介绍---Signal

Search(信号搜索)信号收索窗口Reveal

InserterReveal

Inserter

GUI界面介绍---Signal

search(信号收索)在设计比较复杂,所要采样的信号如果不容易找到,可以采用收索的办法来查找。特别要注意的是通配符*

的使用。否则可能很难匹配到信号。当然还有更复杂的通配符,不常用,这里不做介绍。有兴趣可以查找《revealuserguide》.在收索结果里选择所需要的信号,然后ok确定。信号就会出现在DesignTree窗口相应的位置,并被高亮显示。如果要选择多个信号,需要shift键与鼠标左键配合完成。Reveal

InserterReveal

Inserter

GUI界面介绍---Trace

Signal

Setup(捕捉信号设置)Trace:就是捕捉信号的窗口,用户可以把信号从DesignTree窗口拖拉到右边的窗口中。Reveal

Inserter

GUI界面介绍---Trace

Signal

Setup(捕捉信号设置)Reveal

InserterReveal

InserterReveal

Inserter

GUI界面介绍---Trace

Signal

Setup(捕捉信号设置)Sample

Clock:采样时钟,最好与捕捉信号同一个时钟域,确保采样准确。Implementation:实现debugcore所需要的EBR/DistRAM资源报告。下拉框可以选择EBR/DistRAM,通常使用EBR来实现。BufferDepth:采样深度设置,根据EBR/DistRAM资源情况以及设计需要进行选择。深度过大可能会影响到设计Fmax。也就是说如果设计频率过高或者Fmax不容易满足时,尽量的减少设计深度。Reveal

InserterReveal

Inserter

GUI界面介绍---Trace

Signal

Setup(捕捉信号设置)Timestamp:可选项,记录当Sample

Enable有效开始到采样信号被捕捉到经历的时间。这有利于用户知晓什么时候捕捉到了正确的数据。也有利于不同debug

core之间同步或者片下(off

chip)数据同步。当然这会占用一定的资源。与Bufferdepth的关系为Buffer

depth*2=2的幂次方X,X就是timestamp的最小值。如256*2=2的9次幂SampleEnable:可选项,确保用户设置的使能信号生效后才启动信号捕捉工作。这会导致用户错过一些触发机会。比方说,使能未生效时触发条件已经具备了。单bit,高有效或者低有效。由用户选择。DataCaptureMode:可选项,设置数据捕捉模式,默认为单次触发。也可以设置为多次触发,此时需要定义每次触发的采集信号的深度。最小值为8个采样周期。多次触发时在revealanalyzer采样窗口会显示8次采样触发的结果。Includetriggersignalsintracedata:可选项,使能就会把触发信号作为捕捉信号加入到trace窗口中。Reveal

InserterReveal

Inserter

GUI界面介绍---Trace

Signal

Setup(捕捉信号设置)Reveal

InserterReveal

Inserter

GUI界面介绍---Trigger

Signal

Setup(触发信号设置)Reveal

InserterReveal

Inserter

GUI界面介绍---Trigger

Signal

Setup(触发信号设置)Trigger

Unit里就是设置触发信号及其操作符。Add增加一个触发信号,Remove删除当前触发信号Name:触发单元的名称,可以修改,但需要与triggerexpress内的表达式一致。Signal:设置触发信号,可以是单bit信号,也可是组合的多bit信号。最多可以支持16组触发信号Reveal

InserterReveal

Inserter

GUI界面介绍---Trigger

Signal

Setup(触发信号设置)Operator:有等于,不等于,大于,大于等于,小于,小于等于,上升沿,下降沿,串行比较等操作符。对于serial

compare是针对单bit情况。举例serial

compare的值为101011,则表示必须在连续的6个时钟周期内先后出现101011则表示满足触发条件。所有操作符默认为二进制。Value:对于rising/falling

edge,如果值为1表示成立,0表示不成立。所有的触发信号必须预先设置好,如果修改就必须重新布局布线。Reveal

InserterReveal

Inserter

GUI界面介绍---Trigger

Signal

Setup(触发信号设置)TriggerExpression:针对设定的触发信号,在这里可以做进一步的组合。最多支持16组。在分析时是可以动态修改的,不必重新布线Name:可以由用户设定,默认即可。Expression:触发条件组合设置。可以是单个触发信号,单个触发条件,也可以是单个信号组合触发条件,也可是多个触发信号的组合触发条件。支持AND(&),OR(|),XOR(^),NOT(!),(),THEN,NEXT,#count,##count。TE1:TU1条件满足即可触发TE2:在TU1或者TU2成立且完成200次触发即可触发TE3:在TU1或者TU2成立且完成200次触发后,如果TU3满足则触发Reveal

InserterExpression各种操作符的解释:&:逻辑与,等同于AND;| :逻辑或,等同于OR;! :逻辑非,等同于NOT;^:异或符,等同于XOR;():括号,实现信号组合或者优先级THEN,实现顺序条件,TU1THENTU2,表示等待TU1成立后再等待TU2成立NEXT,实现顺序条件,TU1THENTU2,表示TU1成立后的下一个周期TU2必须成立,则整个表达式成立。否则等下一个循环。#count:插入计数器到表达序列,TU1

#2表示TU1成立2次即触发,2个触发可以是不连续的。计数器的大小受限于MAXevent

counter。##count:插入计数器到表达式序列,TU1##2表示TU1成立2次后触发,这2次触发必须是连续的。计数器的大小受限于MAXevent

counter。表达式虽然有些复杂,但是对于一些设计调试是非常有用的。更详细的信息参见《reveal

user

guide》Reveal

InserterReveal

Inserter

GUI界面介绍---Trigger

Signal

Setup(触发信号设置)Enable

final

trigger

counter:使能最终触发条件成立计数器。计数器可选值范围为:2-65536。相当于#count。只是应用于最后一个触发条件,即整个触发表达式。Trigger

out:当存在多个调试核的时候,可以输出其中一个核的触发信号到另外一个调试核中作为trace

signal。同时指定信号的最小脉冲宽度。Reveal

InserterReveal

Inserter

GUI界面介绍---Trigger

Signal

Setup(触发信号设置)Expression表达式的条件与Trigger

Unit名称必须一致Reveal

Inserter步骤七、reveal

inserter DRC(设计规则检查)当完成以上设置后,需要做最后的DRC。如果在Diamond

output窗口没有错误提示,则表明ok。可以插入到Diamond工程里。也可以从reveal的菜单栏启动这个校验工作。Reveal

Inserter步骤八、导入reveal

inserter到Diamond工程中启动reveal嵌入工作,也可以从reveal的菜单栏启动。将reveal工程导入到Diamond工程里,进行重新编译工作。Reveal

InserterReveal

Inserter---对约束文件lpf的影响Reveal

Inserter

有时会修改lpf时钟网络名。格式为:RVL_ALIAS

<reveal_clock_name>

<original_clock_name>这样做的目的是Reveal

Inserter产生了一个新的时钟网络名,而这个时钟网络跟设计里的时钟网络是同一个。为了编译工具能够识别到这个新的网络名,就加入了这个变名声明。用户不需要手动修改lpf文件。对用户设计没有影响。Reveal

Inserter步骤九、编译带有reveal工程的项目,生成加载所需的JEDEC或者BIT文件。除此以外,*.rvl,*.rvp,*.rvs,*.hub也是进行reveal分析的必需文件。所有这些文件用户不需要做任何修改。RVL:revealinserterproject工程文件,包括每个调试核的调试逻辑的各种设置,比如触发信号,捕捉信号,最大的事件计数器等等。这个是不能通过reveal

Analyzer

进行修改的。RVP:revealinserterparameter:调试逻辑产生的各种有效信息,比方说源码文件路径,约束文件lpf路径等等。RVS:revealinsertersettings:触发信号,触发条件表达式等等设置信息。不需要重新编译就可以用reveal

analyzer动态修改的。HUB:是布局布线过程中产生的文件,用语revealanalyzer分类来自于不同reveal模块(debug

core)的数据。Reveal

Analyzer刚才我们已经产生了BIT/JEDEC文件。接下来就是要下载BIT/JEDEC到芯片里。下载是通过JTAG下载电缆完成的。所以请实现加载电缆与加载计算机与测试板被测芯片的连接。步骤一,加载BIT/JEDEC文件。如图所示,启动Programmer。Reveal

Analyzer步骤二,加载设置。点击,电缆检测点击,扫描器件点击,加载文件,也可以通过ispVM进行加载。加载文件路径,默认保存扫描链配置文件,只有在有链的情况下

使用。Reveal

Analyzer步骤三,启动Reveal

Analyzer点击,电缆检测点击,扫描器件选择reveal文件Xcf文件,默认也可以打开上次保存的波形文件*.rva最后确认,进入分析界面Reveal

Analyzer步骤四,触发条件设置。这里分别介绍。通常我们会通过右上角的缩放按钮将分析窗口放大为全屏。对于

TriggerUnit以及TriggerExpression前面已经讲过不再具体分析。用户根据分析需要自行设置。Reveal

Analyzer步骤四,触发条件设置EnableTE:这里有2个选项,ORALL表示TE触发条件只要一个成立就触发,AND

ALL表示TE全部触发条件都成立才触发.SamplesperTrigger:表示每次触发捕捉的信号深度(采样周期),最大值是在reveal

inserter里设置的。NumberofTrigger:每次运行触发的次数。举例如果是2,则表示完成2次触发才结束此次触发工作。TriggerPosition:设置的是触发点的位置,通常选择中间触发,便于信号观察。Reveal

Analyzer步骤五,启动Revea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论