在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3616|回复: 8

[求助] FPGA怎么写bar0中的寄存器

[复制链接]
发表于 2018-3-28 15:30:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
现在我的想法是FPGA置位bar0中的寄存器,让上位机读bar0寄存器,以此来告诉上位机我FPGA数据准备好了,可以进行dma读了,。问题是想在不知道怎么通过FPGA写bar0,,是通过type0 获得bar0的地址,然后用tlp向该地址+偏移地址写数据吗??还是用cfg用户接口配置??
发表于 2018-3-29 13:22:01 | 显示全部楼层
PCIE。。。。。。。。
 楼主| 发表于 2018-3-29 16:40:55 | 显示全部楼层
回复 2# 菜鸟要飞


   yes
发表于 2018-4-2 19:18:43 | 显示全部楼层
你说的是PIO写吧,PC往板卡的BAR0空间写32bit数据,,,从Xilinx給的xapp1052例程来看,是由你说的第一种方式,取32bit address中的低几位作为BAR0的基地址,再每个寄存器偏移4个单位地址
 楼主| 发表于 2018-4-3 08:30:16 | 显示全部楼层
回复 4# 文锋若风


   我理解错误了,按照我以前的理解是,PC要读取FPGA中的数据,那么FPGA必须告诉PC我有数据准备好,然后PC在写BAR寄存器的值来读取,我一直以为FPGA是通过写BAR中的值来告诉FPGA的,现在看来应该是FPGA发送中断,告诉PC数据准备好
发表于 2018-4-3 09:25:08 | 显示全部楼层
reply for “谁枫而飘”:是的,(先申明数据从板卡到主机为写操作,反之为读操作)FPGA准备好了写回PC的数据后,发出中断,并且把BAR0的中断状态寄存器的“写开始中断”标志位拉高,,,驱动收到中断后,清理中断,并且PIO读中断状态寄存器,断言写开始中断后进入DMA写服务程序,配置一系列关于DMA写的参数包括写地址,写大小,写个数等,最后驱动通过PIO写往BAR0的控制状态寄存器的写开始标志位拉高,,,硬件检测到写开始为1时就会开始封装DMA写请求包
 楼主| 发表于 2018-4-3 11:26:57 | 显示全部楼层
回复 6# 文锋若风


   关于你说的“并且把BAR0的中断状态寄存器的“写开始中断”标志位拉高”,我不是很理解。是指 FPGA 把BAR0的中断状态寄存器拉高吗?如果是FPGA怎么访问BAR0的中断状态寄存器?FPGA发送中断不是通过CFG端口吗?
发表于 2018-4-3 12:56:29 | 显示全部楼层
reply for “谁枫而飘”:是的呢,FPGA硬件发出写开始中断(发送模块有个专门发送中断的子模块,里边就是cfg_interrupt_*系列中断时序信号)的同时,将mwr_start_interrupt信号拉高并且把此信号拉入到中断状态寄存器的某一位(暂且定义为“写开始中断”标志位),这样驱动收到中断后,PIO读中断状态寄存器的值,断言这一位为1,表示要开始DMA写
 楼主| 发表于 2018-4-3 13:02:28 | 显示全部楼层
回复 8# 文锋若风


   了解了,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-20 11:21 , Processed in 0.031558 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表