用Xilinx中的chipscope进行在线仿真,基本配置都完成了,但是最后没有抓到任何数据。有高手可以指点一下么
1.添加newsource:选择“ChipScopeDefinitionandConnection”创建一个新的.cdc文件,在topmoudle树下双击新建的CDC文件...
1. 添加new source:选择 “ChipScope Definition and Connection” 创建一个新的 .cdc 文件, 在top moudle树下双击新建的 CDC 文件打开"ChipScope Core Inserter".
2. 在"chipscope core inserter"里面对各种参数进行配置, 包括device options, ILA parameters 等. 但是我不能配置ICON参数,因为上面显示"No ICON parameters exist for the selected device family".(这里可能和我选择的芯片有关,我选的spartan3芯片,可能没有对ICON参数进行配置的功能)。
3. 连接所有选择好的trigger ports, data ports and clock port, 点击 "return to project navigator". 保存工程, 点击 implementation.
4. 找到"Generate Programming File"-->properties, 将StartUpClk 设置成 JTAG clock, 并且使能 the data read back property .
5.生成一个bit 文件.
6.单击top moudle,在process窗口最下面找到"analyze using chipscope analyzer“, 点击它,出现chipscope analyzer窗口。
7. 点击 ”chain initialize”。出现JTAG连接的芯片等相关信息。
8. 点击 [Device]/[Configure], 选择你要仿真的device, 点击"select new file" ,载入你的bit文件, 此时bit文件就下载到FPGA中去了.
9. 加入之前编辑好的CDC文件,引入要观察的信号。点击"Trigger Setup". 在 "match" 窗口里,我选择了 clk==1 时作为抓取信号的触发条件(这里有一点,之前在生成CDC文件时,我选择的clock port也是和这个clk信号连接的,不知道这样会不会有问题?)。
10. 我选择的抓取深度是 1024, 然后将要观察的所有信号加入到了waveform window中.
11.最后,我点击了 "run"(就是那个三角形按钮) 去抓取数据,但是没有任何的sample 被抓到.
有高手知道我到底是什么地方没做对,还是什么地方漏掉什么配置了,万分感谢 展开
2. 在"chipscope core inserter"里面对各种参数进行配置, 包括device options, ILA parameters 等. 但是我不能配置ICON参数,因为上面显示"No ICON parameters exist for the selected device family".(这里可能和我选择的芯片有关,我选的spartan3芯片,可能没有对ICON参数进行配置的功能)。
3. 连接所有选择好的trigger ports, data ports and clock port, 点击 "return to project navigator". 保存工程, 点击 implementation.
4. 找到"Generate Programming File"-->properties, 将StartUpClk 设置成 JTAG clock, 并且使能 the data read back property .
5.生成一个bit 文件.
6.单击top moudle,在process窗口最下面找到"analyze using chipscope analyzer“, 点击它,出现chipscope analyzer窗口。
7. 点击 ”chain initialize”。出现JTAG连接的芯片等相关信息。
8. 点击 [Device]/[Configure], 选择你要仿真的device, 点击"select new file" ,载入你的bit文件, 此时bit文件就下载到FPGA中去了.
9. 加入之前编辑好的CDC文件,引入要观察的信号。点击"Trigger Setup". 在 "match" 窗口里,我选择了 clk==1 时作为抓取信号的触发条件(这里有一点,之前在生成CDC文件时,我选择的clock port也是和这个clk信号连接的,不知道这样会不会有问题?)。
10. 我选择的抓取深度是 1024, 然后将要观察的所有信号加入到了waveform window中.
11.最后,我点击了 "run"(就是那个三角形按钮) 去抓取数据,但是没有任何的sample 被抓到.
有高手知道我到底是什么地方没做对,还是什么地方漏掉什么配置了,万分感谢 展开
1个回答
展开全部
“这里有一点,之前在生成CDC文件时,我选择的clock port也是和这个clk信号连接的,不知道这样会不会有问题?”
这个问题很严重:clk是时钟,不能抓自己。
.最后,我点击了 "run"(就是那个三角形按钮) 去抓取数据,但是没有任何的sample 被抓到。
看看有没有说“Wait for Trg”如果有设置触发条件但是没有符合,一直等待。
如果说“slow or stopped clk”说明时钟没有正确接入或者根本没有时钟,仔细检查。
这个问题很严重:clk是时钟,不能抓自己。
.最后,我点击了 "run"(就是那个三角形按钮) 去抓取数据,但是没有任何的sample 被抓到。
看看有没有说“Wait for Trg”如果有设置触发条件但是没有符合,一直等待。
如果说“slow or stopped clk”说明时钟没有正确接入或者根本没有时钟,仔细检查。
追问
谢谢,我已经修改了触发条件,也抓到了数据。但是出现了奇怪的问题。当我的测试设备仅仅上电,但是不让它正式工作时,可以抓到数据包。一但让设备正常工作(正常收发包),再次run,就抓不到数据了,上面显示slow or stopped clk,抓不到任何数据包。当我停止收发数据,让设备恢复到仅仅上电的阶段,仍然不能抓到数据,显示slow or stopped clk。 这是为什么呢,难道是clk没有设置正确,如果没有设置正确,初始状态下为何能抓包
追答
根据这个情况只能判定让设备正常工作的时候你那个抓取的CLK就会被禁用了。仔细查查吧。
是不是正常工作的时候的复位正负搞反了?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询