daydream1
驱动牛犊
驱动牛犊
  • 注册日期2005-05-30
  • 最后登录2010-05-12
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望97点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
阅读:2066回复:3

碰到难题:pci ip怎么把PCI32位总线转成16位或者8位的本地总线?

楼主#
更多 发布于:2010-04-11 23:31
我花了很长的时间学习PCI协议,学习FPGA/CPLD,想自己用FPGA/CPLD完成PCI IP和用户逻辑,但现在有个问题是怎么把PCI32位总线转成16位或者8位的本地总线?我想有两种办法:
1)把PCI 32位总线一次传32位值,分成4个字节,分4次发到本地总线,就转成8位本地总线。
2)通过C/BE[3:0]来指出PCI 32位总线一次传32位值其中一个字节有效,也就转成8位本地总线,但是怎么控制C/BE[3:0]?是通过驱动程序还是其他方法,请知道的高手指点迷津,谢谢。
xuxiubo
驱动牛犊
驱动牛犊
  • 注册日期2005-10-20
  • 最后登录2010-04-19
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望27点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-04-14 16:46
其实通过驱动或FPGA里的逻辑都可以做,但本人觉得驱动里做更好实现。
mnbqwe10
驱动牛犊
驱动牛犊
  • 注册日期2009-02-24
  • 最后登录2011-03-15
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-05-04 14:27
在EEPROM里面更改寄存器的值LBRD0[1:0],你查一下,9054可以将PCI的32位数据线变成16或8位线下发到local端
daydream1
驱动牛犊
驱动牛犊
  • 注册日期2005-05-30
  • 最后登录2010-05-12
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望97点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-05-06 16:54
感谢xuxiubo,能说的具体一点吗?我一直没有做过实物,请指点。

感谢mnbqwe10,我是用CPLD/FPGA做PCI CORE,不用PCI905X做。

有知道的请不吝赐教!!!
游客

返回顶部