我正在为我在大学的硕士论文在 OpalKelly 实现上编写 Xilinx Spartan-6。准确地说,这是我正在研究的 FPGA(XEM6010-LX45):https ://www.opalkelly.com/products/xem6010/
它安装在必须获取多个信号 (8+)、处理它们并生成多个信号 (16+) 的板上,以根据设置关闭一些反馈回路。
它由内置在 C# 中的用户界面控制,我也在自己编程,并且必须能够在需要时更改使用的反馈逻辑,而无需重新启动实验。这意味着 USB 接口不断发送数据以更新设置。
我刚刚遇到了我刚刚用完 WireIns 的经典(我想)问题,这是用于将数据从 C# 程序 USB 传输到 FPGA 的 Opal Kelly 实现。
它们仅限于 16 位数据,地址为 0x00 - 0x1F(因此 32 个 WireIn)。更多详细信息请参见第 41 页http://assets00.opalkelly.com/library/FrontPanel-UM.pdf
这是一个问题:如何增加可以发送到 FPGA 的数据?
想到的第一个想法是 FPGA 中的一个大型多路复用器,它只使用两个 WireIn,一个用于数据,另一个作为选择器。然后触发器激活 FPGA,将数据存储到正确寻址的寄存器中。
这真的可行还是效率低下?我应该使用WireOR(参见我链接的 FrontPanel 手册)吗?我应该使用PipeIn并以某种方式管理所需的多路复用器吗?
FPGA 设计人员如何克服这个 USB 通信限制?
提前致谢!