ARM跟FPGA通信,要采用8位地址总线、8位数据总线、读写控制线,怎么实现,地址总线是要映射到F

ARM跟FPGA通信,要采用8位地址总线、8位数据总线、读写控制线,怎么实现,地址总线是要映射到FPGA的内部还是直接ARM的内存空间?最好有ARM端简单的C程序描述下,谢谢。

你先在arm里设定好具体的地址和对应的数据啊,8位地址线和8位数据线是和FPGA联通的,读写控制线也是发给FPGA的信号,主要你还是要在FPGA里写好地址的划分,哪些区域的地址的数据是干嘛的,把对应的地址自己存到FPGA的寄存器里或者RAM里。然后自己再做后续的算法或处理。其实ARM的时钟和FPGA的时钟可以不同步啊。ARM只要确定具体的地址发具体的数据就行了。FPGA内部写好地址和数据的识别啊。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-18
以前做过FPGA加AVR单片机的,原理是一样的,就是时序可能有点同,没玩过ARM。

FPGA在这里是做为ARM的外围设备,可以做为独立的片外空间寻址的。也就是有0x00~0xff的片外地址空间可以用(当然,这里是以8位地址总线说的,若像51一样可以复用,有16位寻址能力的话,那就有65536个外部地址可用了,呵呵)。

在FPGA里面,你处理好地址信息就可以了。当然,FPGA还要检测ARM的读写线来区别是读还是写操作。
第2个回答  2014-03-18
以前这样做过,把FPGA当做ARM的一个外挂芯片。ARM对FPGA进行读写,就像对FLASH进行读写一样,读并口地址上的数据。另外,调试的时候偶尔有丢数据的现象,有大牛建议在FPGA和ARM之间加一个双端口异步读写的高速FLASH芯片,两个主芯片通过对FLASH的读写来实现通信。
第3个回答  2014-04-23
是在硬件上弄。 还是纯IP代码 ?   如何是硬件的话感觉用常用的一通用接口就行了 如uart / i2c/ spi/等 哪个做主控制器。要想好如i2c 可用fpga 做master 那么 arm的话随便找两个gpio脚 就行了。 反过来的话arm 的soc通常都做好了i2c控制器。 那个fpga实现slave也不复杂
相似回答