当我说部分字访问时,是指16位(两个字节)或8位(字节)读/写。
背景:
在我们最近的项目之一中,Cyclone V SoC用于替换现有产品中的386 CPU。
我负责开发板和FPGA设计。另一位软件工程师正在DS5环境下开发软件。
Avalon MM从接口用于FPGA端。
问题描述:
在Altera系统控制台上一切正常。但是,当软件工程师在DS5上调试其代码时,其行为会有所不同。
他无法从不是4的倍数的地址中读取数据。
例如,他可以从地址0x800读取一个字(32位)或半字(16位)或一个字节,但他不能从地址0x802读取任何内容(始终返回零)。
进行故障排除:
我认为这与数据应放在32位数据总线上的位置有关。因此,我修改了FPGA代码以复制32位总线上的数据,
但是DS5仍然读取全零。
还尝试运行SignalTap捕获波形,但DS5和SignalTap
不能通过同一JTAG连接器同时运行。
有人知道可能是什么问题吗? |