完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我们设计了一个基于64位RISC-V的SoC,并希望在Nexys4-DDR FPGA上进行相同的测试。
目前,我们能够在FPGA实现上运行C程序,该程序通过主机PC上运行的miniterm上的UART打印语句。 在我们测试Quad SPI(QSPI)IP之前,我们想要连接Xilinx QSPI IP并测试它是否正常工作。 我们使用Xilinx IP Catalog实例化了QSPI模块。 参数设置如下: 板 IP接口板接口 SPI Custom IP配置 AXI接口选项 - >启用XIP模式:是 - > ID_Width:4 - > SPI闪存地址位(XIP模式):32 SPI选项 - >模式:Quad - >交易宽度:8(固定) - >频率比:2(固定) - >奴隶数:1(固定) - > Slave Device:Spansion - >启用STARTUP Primitive:True - >共享未使用的启动端口:False - >启用异步时钟模式 生成的QSPI IP的AXI Slave接口连接在处理器的AXI总线上。 QSPI的地址从0xA00000000映射到0xAFFFFFFFF。 虽然该地址的空间超出了QSPI闪存的实际容量,但处理器不会生成超出实际有效范围的地址。 接下来,我们使用Vivado中的“生成内存配置文件”选项生成了一个mcs文件。 参数如下: 格式:MCS 内存部分:s25fl128sxxxxxx0-spi-x1_x2_x4 文件名:qspi_test.mcs 选项 接口:SPIx4 加载比特流文件:False 加载数据文件:True 起始地址:00000000 方向:向上 数据文件:code.mem(这是一个hex文件,每行有64位,行数= 65536) 写校验和:错误 禁用位交换:False 覆盖:真的 这在Tcl控制台上打印了以下消息: 文件格式MCS 接口SPIX1 尺寸16M 起始地址0x00000000 结束地址0x00FFFFFF Addr1Addr2日期文件 0x00000000 0x0010FFFF xxxx some_path / code.mem 然后使用“硬件管理器”中的“添加配置存储器设备”选项将生成的mcs和prm文件用于刻录闪存。 我们在处理器上运行的C代码只是尝试从地址0xA00000000开始读取连续数据并打印出来。 由于在XIP模式下为QSPI生成IP,因此我们没有使用任何驱动程序,也没有初始化任何配置寄存器。 我们通过向地址0xA00000000发送加载指令直接执行32位读取请求。 获得的输出如下所示: 地址数据 A000000000 0 A000000004 0 A000000008 8080808 A00000000c 0 A000000010 10101010 A000000014 0 A000000018 18181818 A00000001c 0 A000000020 20202020 A000000024 0 A000000028 28282828 A00000002c 0 A000000030 30303030 A000000034 0 A000000038 38383838 A00000003c 0 A000000040 40404040 A000000044 0 A000000048 48484848 A00000004c 0 A000000050 50505050 虽然我们从QSPI获得了一些数据作为响应,但它并不是我们初始化闪存的数据。 有人可以帮助我们解释为什么我们无法读取正确的数据吗? |
|
相关推荐
3个回答
|
|
|
|
|
|
地址空间的高位仅用于选择从设备。
我们的系统AXI总线是64位宽(地址和数据),而Xilinx QSPI内核的AXI总线宽度只有32位地址和数据。 我写了一个小包装器,它转换截断64位数据,并生成正确的32位数据和选通信号。 因此,通过AXI Quad SPI的地址字段输入的实际地址是0x00000000。 感谢您的回复。 |
|
|
|
你介意我问你如何为QSPI IP配置你的时钟?
|
|
|
|
只有小组成员才能发言,加入小组>>
2415 浏览 7 评论
2821 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2292 浏览 9 评论
3372 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2458 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1079浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
579浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
438浏览 1评论
2000浏览 0评论
723浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 08:10 , Processed in 1.285519 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号