一个有趣的位宽问题

    在一个项目中,有fpga与单片机的交互。FPGA做的比较灵活,即支持与8位的单片机数据交互,又支持

与16位的数据交互。

   这一次,要解决的问题是fpga与一款ARM的交互。这款arm的特点是:数据总线有16位。地址却支持8位

寻址。因此芯片TD上一再强调将A0接地,A1接到外部cpu的A0上,将将A1直接写成AD0.

因此我们想着将arm的AD0接到fpga的A0上。这样fpga对arm一次可以进行16位寻址。

  实现上,不是这样的。fpga要与arm的地址一一对应。因为fpga也支持8位的数据总线,当它支持16位数据

总线时A0是没有用的。实际上应该是fpga的A1接到arm的AD0上。

    刚开始我们发现,arm的小板已经做错了(arm的AD0接到fpga的A0上),就考虑着将fpga上地址总体向右偏

移一位,将fpga的A1偏移到A0上。可是还是不行。

因为FPGA上的A0在数据总线为16位时,总是接地,A0处的地址是偏移不到的。

最终只能通过修改FPGA内部的映射程序或改板来解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值