ise chipscope使用实例.docx
- 文档编号:7950222
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:20
- 大小:703.65KB
ise chipscope使用实例.docx
《ise chipscope使用实例.docx》由会员分享,可在线阅读,更多相关《ise chipscope使用实例.docx(20页珍藏版)》请在冰豆网上搜索。
isechipscope使用实例
在ISE设计流程中使用ChipScopePro内核的实例-修正版
这一节介绍一个在ISE设计中使用ChipScopeProCoreInserter和ChipScopeProAnalyzer的例子。
1.在ISE中建立一个工程count4,选择相应的器件,添加代码count4.v,count4.v是一个简单的4位记数器,其代码如下:
modulecount4(out,reset,clk);
output[3:
0]out;
inputreset,clk;
reg[3:
0]out;
always@(posedgeclk)
begin
if(reset)out<=0;
elseout<=out+1;
end
endmodule
图5.1新建一个工程
图5.2选择器件
图5.3添加代码到工程中
图5.4工程概况
2.设置管脚约束
图5.5添加管脚约束
3.综合
注意:
综合的时候要保留设计层次,XST缺省设置是将设计打平以取得好的综合效果,
Synplifcity缺省设置是保留设计层次。
本例是用XST综合的所以需要修改综合设置
图5.6设置keephierarchy
4.Translate
注意:
在ISE中做Translate的时候需要设置PreserveHierarchyonSubmodule.缺省情况下为不设置.
图5.7设置PreserveHierarchyonSubmodule
图5.8插入Core前的ISE工程窗口
生成网表
5.通过ChipScopeProCoreInserter插入内核,具体步骤和设置详见第3部分
//////////////////////////////////////////////////////////////////////
ChipScopeProCoreInserter的使用
上面介绍的方法是使用ChipScopeProCoreGenerator产生内核,然后在设计中作为元件调用,然而,我们也可以使用ChipScopeProCoreInserter直接将内核植入EDIF或者XST网表。
内核插入需要EDIF或者XST网表,所以必须在插入之前进行设计综合。
EDIF网表的扩展名为.edf,XST网表的扩展名是.ngc。
3.1ChipScopeProCoreGenerator参数设置
本节通过一个实例来做介绍,这里假定已有的设计已经综合为XST网表,文件名是count4.ngc。
首先指定输入输出文件和选择器件类别,如图3.1。
图3.1指定内核插入文件
输入设计网表(EDIF或者XST)文件是综合以后的设计,这个文件指定以后,其他的栏目会相应自动填好。
该设计中使用Virtex2器件,单击【Next】进入下一步。
设置ICON参数
图3.2显示了ICON参数设置。
如果选中了【DisableJTAGClockBUFGInsertion】,设计工具在对JTAG时钟信号布线时就使用普通的布线资源,而不是全局时钟的布线资源。
这里我们不选择此项,即按全局时钟资源布线。
然后单击【Next】进入下一步。
图3.2设置ICON参数
设定ILA选项
首先进入的是触发参数设置窗口,如图3.3。
可以设置触发端口的数量,每个触发端口的触发宽度,匹配类型和匹配单元的数量。
匹配类型共有六种,表1.1已经介绍。
本例中选择一个触发端口,触发宽度为5,匹配类型为基本类型,匹配单元为一个。
设置完毕后,点击【Next】或直接点击【CaptureParameters】选项卡进入捕捉参数设置。
图3.3设定ILA的触发参数
在如图3.4所示的捕捉参数的设置面板中,可以设置数据深度、数据类型等参数。
数据深度决定了ILA内核所需要的块RAM单元的数量。
这里选择数据端口与触发端口相同,并在时钟的上升沿采样。
在【CoreUtilization】下显示出当前所需块RAM的数量。
设置完毕点击【Next】或点击选项卡的【NetConnections】进入网络连接设置。
图3.4设定ILA的捕捉参数
图3.5为用来设置网络连接的面板。
单击CLOCKPORT和TRIGGERPORTS后面的加号(+)将出现当前网络的连接情况,显示为红色表示网络尚未连接。
图3.5设定网络连接
下面进行网络的连接。
选中CLOCKPORT下面的CH0,单击【ModifyConnections】,则将弹出网络选择对话框如图3.6。
图3.6选择时钟网络
设计的层次在左上方的面板中选择,相对于所选的层次的可选网络列在左下方的面板中,能够与这些网络相连的ILA输入列在右边的面板中。
在所有网络名称、网络驱动资源的实例名、网络驱动资源组成类型和基本组成类型中很容易找到相应层次的网络名,网络通配符(*,?
)也可用在查找中,作为关键词、网络名或者部分网络名等:
“?
”可以替代一个字符
“*”可以替代多个字符
在下拉列表中选择网络名目录,在样式栏键入“clk”,包括通配符,然后单击Filter将会出现包括关键词的网络名。
在clock网络中,选择在全局缓冲器(BUFGP)后的网络名clk_bufgp,要将clk_bufgp网络指定为ILA内核的输入时钟,必须选择【NetSelections】面板中的【CLOCK】选项卡并且选择CH:
0,然后单击面板右下方的【MakeConnections】按钮。
单击面板底部的【OK】按钮,完成时钟的连接。
重复以上过程选择out_[4..0]和reset作为触发网络,因为前面选择数据端口与触发端口相同,因此选项卡中只有【Trigger/Data】的选项。
可以同时选择一组总线网络和ILA内核通道,然后单击【MakeConnections】按钮,以使这些总线的连接一次完成,如图3.7所示。
图3.7设置触发/数据网络
完成网络的连接后,将出现如图3.8所示的窗口,显示了连接情况。
图3.8完成网络连接
完成以后,单击【Insert】。
这时,将会出现一个ProceedwithCoreInsertion?
对话框,单击【Yes】完成内核的插入。
插入过程中,在图3.8的信息窗口中会显示内核插入程序的运行过程,运行完成以后会显示“CoreInsertionComplete”。
如果要添加另一个内核,选择Edit—>NewILAUnit。
左边的文件树中就会出现另一个单元(U1:
ILA),各种选项与Unit0类似。
使用这种方法可以设置最多15个内核。
这样,就在指定目录中产生了ICON、ILA和顶层设计*.ngo文件。
需要确定下面部分描述的运行过程中使用的就是这些*.ngo文件,否则将会产生运行错误,或者在运行ChipScopeAnalyzer时出现错误。
先重新Translate之后才会产生*.ngd文件。
///////////////////////////////////////////////////////////////////////////////
6.重新Translate,然后完成布局布线和生成BIT文件
注意1:
需选中gengerateprogrammingfile然后点右键进入readbackoptions勾选createreadbackdatafiles和createmaskfiles,否则在烧写的时候会报错,提示找不到.msk文件。
注意:
不要选择RerunAll,这样将会重新综合并进行编译,刚才进行的内核插入就被取消了。
图5.9设置readbackoptions
注意2:
把FPGAStart-UpClock设为JTAGClock
图5.10设置FPGAStart-UpClock
图5.11插入Core并且实现后的ISE工程窗口
7双击analyzedesignusingchipscope启动chipscope
点击常用工具栏里的初始化按钮,这时项目浏览器会列出边界扫描链上的器件。
图5.12初始化边界扫描链
选中Decice/Config菜单选择要下载的bit文件进行器件的配置
图5.13下载的bit文件配置器件
设置触发参数为M0==01001,点开始按钮后当触发条件满足时捕获的数据就会在波形观察窗中显示出来,如下图:
图5.14触发参数为M0==01001时的波形图
修改触发参数为M0==01111,重新进行捕获得到下图:
图5.15触发参数为M0==01111时的波形图
若修改触发参数M0==11001重新进行捕获,因为Trigger[4]和reset信号相连,而在开发板已经用跳线帽使reset信号始终为0,所以触发条件永远都不满足,就没有捕获数据在波形窗口中显示。
图5.16触发参数为M0==11001时的波形图
我们也可以通过多个触发单元来灵活设置触发条件。
具体设置请参考第4部分ChipScopeProAnalyzer的使用
同时可以将多个【Dataport】列为总线的方式。
先选中所要列为总线的信号,右击选择Addbus即可,同时注意总线高低位顺序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ise chipscope使用实例 chipscope 使用 实例