首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用ChipScope进行调试

使用ChipScope进行调试

Xilinx的ChipScope工具就相当于Altera的SignalTap II,能够捕捉FPGA内部的信号,方便了调试过程。下面就以一个简单的实例描述一下使用ChipScope的过程(ISE版本为11.1)。Step1:打开一个以后的ISE工程,进行管脚约束,并进行综合。Step2:添加ChipScope Definition and Connection File添加完成后,会在工程中多出一个.cdc文件。Step3:双击*.cdc文件,弹出ChipScope Pro Core Inserter对话框。首先是指定输入网表和输出网表的路径,以及所选的器件族。由于ChipScope Pro Core Inserter是从ISE调用的,所以这些选项都已经设置好了,不用修改,直接点NEXT。不用修改,继续点击NEXTStep4:进行配置ILA核(Integrated Logic Analyzer Pro core)界面。ILA核用来设置触发条件和捕获数据,并提供将ChipScope核信号和设计中的网表信号连接的功能。首先是Trigger Parameters界面。(1)、Number of Input Trigger Ports:用来设置需要观察的信号的数目,例如这里我们需要观察两个信号,所以这里设置为2。一个ILA最多可以观察16个信号。(2)、Trigger Width:设置每个要观察信号的位宽。第一信号是一个计数器30bit计数器,所以第一个设置为30,第二个信号是一个8bit信号,所以这里设置为8(3)、Match Type:设置每一观测信号的触发条件。ChipScope可以对每一个要观察的信号设置触发条件,最后再采集数据时采用哪个触发条件可以再指定,在这里需要对每一个信号都指定一个触发条件。主要设置这三个选型,其他保持默认,设置完成后点击NEXT现在进入Capture Parameter界面。(1)、设置采样深度(2)、设置采用时钟边沿(3)、Data Same As Trigger:这一个选项选中,可以节省逻辑资源和布局布线的使用。前提是数据与触发信号相同。这里选中这个选型。点击NEXT进行NetConnections。现在设置Net Connections选项,将ChipScope核的信号与要观察的信号进行连接。这指定连接关系之前Net Connections的UNIT现实为红色,当完成指定后,会变成黑色。直接点击Modify Connections出现下面的界面。先指定采样时钟,左侧信号是综合后FPGA内部的信号,其中黑色的信号时可以用来指定连接关系的,而灰色的信号不能用来指定连接关系。这里采样时钟选择clk_BUFGP信号。指定过程是先左键点击clk_BUFGP然后点击右下角的Make Connections然后指定触发和数据信号(Trigger/Data Signal)。先指定TP0。TP0是一个30bit的端口,这里用来观察内部的计数器counter在制定TP1端口,TP1端口是一个8bit的端口,用来观察LED信号。设置完成后,点击OK。回到下面的界面:可以看到闲杂UNIT已经由红色变为了黑色,说明所有的信号都已经指定完毕,现在点击Return to Project Navigator,退出ChipScope Pro Core Inserter界面。Step5:在Processes对话框,右键点击Analyze Design Using Chipscope,选择Run,完成布局布线,生成下载文件,并启动ChipScope Pro AnalyzerStep6:完成上一步后会自动启动ChipScope Pro Analyzer。这时将准备好开发板和下载器,并打开电源。点击下图左上角的小图标来初始化边界扫描链。完成扫描后,会识别出链上的所有Xilinx主流CPLD、FPGA、PROM以及System ACE芯片。其中红色框图的就是我们要进行下载配置文件的FPGA器件。点击OK。Step7:点击DeviceàDEV:4 MyDevice4 (XC5VLX50T)àConfigure完成上面操作后,弹出下面的窗口:选择下载文件,即.bit文件,由于ChipScope使用JTAG来观察芯片内部逻辑,所以需要将.bit文件下载到FPGA中。完成下载后,命令窗口会出现下面语句:Step8:选择UNIT:0 MyILA0(ILA),右击选择Open Trigger Setup。打开以下窗口:(1)、Match:设置每个信号采集时的触发条件,在这里对于第一信号Port0,为任意条件,对于Port1为等于8'b0000_0001时触发采集。(2)、Trig:设置触发条件,即满足Match设定的哪一个条件时,触发采集,M0表示满足Port0的条件的触发采集,M1表示满足Port1的条件时触发采集。也可以设置为同时满足两个条件时触发采集,在这里我们选择M1作为触发条件。(3)、CaptureStep9:选择UNIT:0 MyILA0(ILA),右击选择Open Waveform,打开Waveform窗口Waveform窗口如下图所示:打开Waveform时,信号是散的,并不是按照总线的形式表示的,可以将信号组成总线。在左侧的Signals窗口,选择要组成总线的信号例如DataPort[30:37],然后右击选择Move to BusàNew Bus,并命名为led。同时将其余30bit也组成总线形式,命名为counter。组合后的信号如下图所示:下面将信号添加到Waveform窗口,选择要添加的信号,右击选择Add to View à Waveform。Step10:点击下图红色方框的三角按钮,开始采集数据观察Waveform窗口,可以发现当led == 8'b0000_0001时,捕捉了一次数据。这时可以看出counter在不停的计数。 转载 自:心的微笑的博客
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表