From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



在双处理器上同时进行FPGA读写的时候遇到的不可预见的行为



主要软件:
主要软件版本: 1.1
主要软件修正版本:
次要软件: N/A

问题: 我有一个FPGA的应用在PXI-7831R的平台上跑, 用的是LabVIEW FPGA 1.1. 在FPGA VI中我用了一个cluster数组. 我有一个host VI采用Open VI Reference函数来激活FPGA VI. 在host VI中, 我有两个并行的循环. 在每个循环中, 我用Read/Write Control函数去读写FPGA VI中的数据. 当同时进行读写操作的时候, 我遇到了不可预见的行为. 我注意到, 在读循环中读出来的数据并不反应在写循环中写入的数据. 读循环得到的数据有重复的数据, 不全是由写循环写入的数据.
更加困惑的是, 这种行为只在少数PC上发生. 所有PC的软件都是一样的, 但是只有其中的一些PC发生这种奇怪的行为.

解答: 当采用并行的循环同时进行读写操作时, 需要这些函数(Read/Write Control函数)不是自治的. 这意味着当你用Read/Write Control函数进行读写的时候, 并不是一次操作都需要一个单元步骤. 每次读写都发生了数次操作. 既然这些函数不是自治的, 那么同时进行读写操作有可能会导致不可预见的错误.
这不是一个很常见的现象. 然而, 这种现象在双处理器或者是超线程处理器中更加常见. 单处理器的机器中这种情况比较少见. 这就是为什么在你的情况中只有少数的PC出现了问题的原因. 因此, 在双处理器的计算机中, 注意读写控制并不是均匀和自治这一事实. 这种情况下会导致读写不一致.

相关链接:

附件:





报告日期: 11/14/2004
最近更新: 12/22/2004
文档编号: 3FDLEBDS