UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Visitor sh_m
Visitor
448 次查看
注册日期: ‎11-23-2018

ICAP读配置寄存器时busy为高,什么原因引起的?

spartan6中ICAP读配置寄存器时,busy信号在写转为读状态时就拉高了,在读期间仍旧为高,busy正常的状态为低,那是什么原因引起内部繁忙busy信号为高的,我读的是IDCODE寄存器

如果读期间为高,等待一段时间后在读取依然busy信号为高,请问如何解决?

0 项奖励
21 条回复
Xilinx Employee
Xilinx Employee
402 次查看
注册日期: ‎08-11-2008

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

有没有遵守读写要求?是不是在CSI_B有效期间toggle RDWR_B了?如果是,那改掉,这就触发了abort。

BUSY在4系列以后的器件基本用不到了,实际几乎不会出现busy的情况。所以你大概率触发了abort。UG380里面SMAP接口的描述等可以看一下先,和ICAP接口各种要求是一致的。

------------------------------------------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
---------------------------------------------------------------------------------------------------------
0 项奖励
Visitor sh_m
Visitor
388 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

遵守读写转换的要求的,在CSI_B无效期间才进行读写操作切换,应该不是触发了abort。UG380的SMAP接口读寄存器操作我反复看过好几遍了,没看到描述busy的说法
0 项奖励
Xilinx Employee
Xilinx Employee
360 次查看
注册日期: ‎08-26-2010

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

那能把用chipscope把这几个信号波形抓出来看下?

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor sh_m
Visitor
350 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

我抓出来了,时序都满足读写转换的要求,论坛没法贴图
0 项奖励
Community Manager
Community Manager
338 次查看
注册日期: ‎08-31-2011

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

@sh_m

论坛的输入界面里这个地方可以贴图。

image.png

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
Visitor sh_m
Visitor
333 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

图中read_en是操作启动信号 ,ce是片选信号,write是读写控制0表示写,1表示读;c_data_in是icap输出数据;c_data_out是icap输入数据

 

0 项奖励
Visitor sh_m
Visitor
332 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

Capture.PNG

read_en是启动ICAP操作的自定义信号,ce是ICAP片选;write为0表示写,1表示读;c_data_in是ICAP接口输出的数据;c_data_out是ICAP输入的数据。

0 项奖励
Visitor sh_m
Visitor
330 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

时钟频率10m,20M都试过了
0 项奖励
Xilinx Employee
Xilinx Employee
315 次查看
注册日期: ‎08-26-2010

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

这里读写和CE看起来应该正确,但是X16的Byte对应和bit顺序是否满足要求?

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor sh_m
Visitor
312 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

Capture.PNG

16bit的顺序按上表所示

Capture1.PNG操作的步骤仿照上表

Capture2.PNG

仿照表中的操作步骤3,4;数据AA99,5566;顺序调整后在chipscope中显示5599,AA66,即信号c_data_out中显示的,这是给ICAP输入接口的

0 项奖励
Xilinx Employee
Xilinx Employee
298 次查看
注册日期: ‎08-26-2010

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

这里是读IDCODE吗?应该是29C1(9483)吧?

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor sh_m
Visitor
285 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

是,读的是IDCODE。 确实是29c1(9483).上一张的截图中的数据时我看busy不对,随意改了下TYPE header值。改回29C1后busy还是反应不正常,从ICAP接口读出来的数值始终是8003, type header改成其他值也是,包括改成UG380中table6-1中STAT的示例值2901,读出来的也是8003,并且 busy信号也为高,反应不正常。

Capture.PNG

0 项奖励
Xilinx Employee
Xilinx Employee
283 次查看
注册日期: ‎08-26-2010

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

要么你先不管busy,读的时候只给了2个clk吗?多给几个试试?

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor sh_m
Visitor
277 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

Capture.PNG多给几个读的时钟周期,结果是一样的。我之前的读只有一个clk,后来改为两个,现在的这个有六个,读出来的数值一样,busy信号也始终为高

0 项奖励
Xilinx Employee
Xilinx Employee
236 次查看
注册日期: ‎08-26-2010

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

再确定一下ce/write就是直接连到ICAP端口的吗?

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor sh_m
Visitor
233 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

是直接连得,代码如下

ICAP_SPARTAN6 #(
      .DEVICE_ID(28'h4000093),     // Specifies the pre-programmed Device ID value
      .SIM_CFG_FILE_NAME("NONE")  // Specifies the Raw Bitstream (RBT) file to be parsed by the simulation
                                  // model
   )
   ICAP_SPARTAN6_inst (
      .BUSY  (BUSY),   // 1-bit output: Busy/Ready output
      .O     (c_data_in   ),         // 16-bit output: Configuartion data output bus
      .CE    (ce  ),       // 1-bit input: Active-Low ICAP Enable input
      .CLK   (clk_10m ),     // 1-bit input: Clock input
      .I     (c_data_out),         // 16-bit input: Configuration data input bus
      .WRITE (write)  // 1-bit input: Read/Write control input
   );

0 项奖励
Xilinx Employee
Xilinx Employee
213 次查看
注册日期: ‎08-26-2010

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

还有一个属性persist设置过吗?

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor sh_m
Visitor
208 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

spartan6的配置文档UG380中p109中说到ICAP接口不用管persist的属性设置,我也没配

Capture.PNG

 

0 项奖励
Xilinx Employee
Xilinx Employee
34 次查看
注册日期: ‎08-26-2010

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

Hi @sh_m,

 

这个是不能打开的,因为IDCODE是两个words,所以需要用29C2。另外你按照以下时序来做,我这边是可以在sp605上读到idcode的:

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
idcode.PNG
Visitor sh_m
Visitor
21 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?


@simon 

 

0 项奖励
Visitor sh_m
Visitor
10 次查看
注册日期: ‎11-23-2018

回复: ICAP读配置寄存器时busy为高,什么原因引起的?

能不能把这段的代码发出来看看?

0 项奖励