发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名
[问答] 如何使用线程和插座?
137 GPIF FPGA 函数
分享
你好,
我和一个连接到一个FPGA的FX3,GPIF是同步主模式有一个板。我不打算使用任何地址线所以我很困惑如何使用线程和插座。我的主要目标是读几个USB3包在使用一段时间in_data GPIF数据值得寄过去的USB。是不是如果我只使用一个线程吧,和一个消费者和生产者的插座?使用更多的线程和套接字有优势吗?
看着slfifosync的例子,我看到pib_socket_0作为生产者和pib_socket_3作为消费者。我其实对螺纹和插座很不确定,尽管我已经读过所有的fx3api指导文档,看视频教程,看appnotes。
DMA线程究竟是什么?这些相同的线程的C API函数,创建cyu3pthreadcreate()?什么时候使用多线程?为什么?什么时候使用多个套接字,为什么?
什么物理意义做这些线和插座数量,他们来自什么是in_addr行动期间放车上?
0
2019-9-11 08:46:02   评论 分享淘帖 邀请回答

相关问题

4个回答
我们正在谈论的FX3 GPIF iiside线程不相同的线程创建软件。
它们不是软件线程。这种结局可能会让人有些困惑。但它们是特定于FX3的硬件线程。
是不是如果我只使用一个线程吧,和一个消费者和生产者的插座?使用更多的线程和套接字有优势吗?
对。您可以使用一个消费者和一个生产商套接字。在这种情况下,你将要使用的数据传输单线程。
你将创造一个dmachannel(使用DMA通道创建API)之间的这些插座(一个消费者和生产者)。会有一些缓冲区分配给通道进行数据传输。
如果你已经创建了一个缓冲区(缓冲区总64kb 16KB,数-4)。GPIF II侧插座不断填充这个缓冲区满了初始16kb缓冲完全。然后切换到下一个16KB缓冲器。这种转换需要一些时间。这里要注意的是,存在一些延迟。它可能对吞吐量有一定影响。
假设您想优化它以获得更好的吞吐量。那么最好有多个线程。当你用两个线程然后它会为每个线程共64KB。GPIF II侧插座不断填充这个缓冲区满了螺纹0完全初始16kb缓冲。然后你可以切换到线程1线程1开始填充第一个缓冲。在切换线程时没有延迟。这样,你可以避免缓冲区切换使用多线程的延迟。
请参阅所附文件对于相同的更明确的信息。
谢谢,
西基什纳。
2019-9-11 08:54:40 评论

举报

啊,真棒,为我清理了很多!
那么DMA线程基本上是GPIF DMA通道吗?因此,总共有4个单独的信道,我可以想象到GPIF的双缓冲器和输出端点。
然后,线程切换是指手动选择THEADE0,然后THEADR1作为INA ADDR的参数(如UVC示例中)?
因此,套接字0被映射到线程0,和插座4一样。为什么会存在这样的问题呢?我想我不明白插座是什么。它是DMA缓冲区的DMA线程状态表示吗?
谢谢您的及时回复!
2019-9-11 09:04:03 评论

举报

你好,
可以通过单个端点将单个DMA通道和多个GPIFIIsScript /套接字推送到PCI上。
如果GPIFIISIDE上有多个线程,则可以使用MyyStoToOne或Onthotox多种类型的DMAChanes。
正确的。线程选择你可以做类似于UVC的例子。如果连接到FX3的GPIF IIs的任何设备充当主控器,那么它将使用入口线(2bit用于4个线程/插座,5位寻址来处理所有可用的32个套接字)来切换线程。
你可能想看看下面的应用笔记:
2位寻址:
HTTP://www. CyPress?COM/?RID=51581
5位寻址:
HTTP://www. CyPress?COM/?DOCID=34371
谢谢,
西克里希纳。
2019-9-11 09:22:31 评论

举报

你好,Rskv,
对不起,撞了一个旧邮件。
我想知道GPIF设计器的InAdDR动作。
在执行此操作后,您能判断哪些FX3寄存器位会反映新的套接字地址。
我想验证当视频流停顿时,GPIF套接字在一个特定的实例中使用。
从ChIPSwitter的数据,我能够找出在FPGA方面的地址。我只需要确认在FX3方面。我已经定制的标准状态机的设计。我用GPIF 5位Slave FIFO模式。
当做
丹尼
2019-9-11 09:31:25 评论

举报

只有小组成员才能发言,加入小组>>

372个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表