大家好,我想使用USR_ACCESS_VIRTEX4原语来访问存储在配置闪存中的其他比特流。
情况如下:我有一个主
FPGA(Virtex-4FX)和一个从FPGA(Spartan-3A)。
从属FPGA位于一个额外的
电路板上,它不与主控制器进行菊花链连接。在主串行模式下,主平台FPGA配置为平台闪存。我甚至需要配置从属FPGA。
其配置数据的唯一非易失性来源是连接到主FPGA的平台闪存。我使用STARTUP_VIRTEX4原语来控制CCLK和DONE信号。
在生成比特流时,我使用了“-g DONE_cycle:KEEP”选项。
根据我对闪存和Virtex-4之间接口的测量,这部分设计工作正常。
我完全控制信号,DONE不会在中间的任何地方变高,而flash会向我发送额外的比特流数据。为了访问额外的比特流,我实例化了USR_ACCESS_VIRTEX4原语,但这是问题所在。
即使我在Virtex-4的DIN输入上看到数据,USR_ACCESS_VIRTEX4原语的DATAVALID输出也不会变高。
因此,我无法在Virtex-4 FPGA内部获取此数据。用于HDL设计的Virtex-4库指南说:PROM应包含以USR_ACCESS寄存器为目标的数据包。
我使用iMPACT生成了我的PROM文件,只需将两个比特流放入单个MCS文件中,这可能是错误的。
我认为我的MCS应该包含正常的主FPGA比特流,然后是从属FPGA bitsream,目标设置为USR_ACCESS。
有没有办法如何将MCS中第二个bitream的目标设置为USR_ACCESS,以便我可以从我的主FPGA访问它?如果我试图做一些不可能的事情,是否有另一种方法如何使用master从平台flash中读取从属配置数据
FPGA?
我不能简单地控制闪存引脚,因为它们没有连接到FPGA的IO引脚,只能连接到专用配置引脚。谢谢建议,Jan