软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! 20.1 概述AXI-EMC IP是一个可以可以支持各种内存型号的控制器,利用这个IP可以非常方便地模拟各种类型的内存或者FLASH接口实现数据的交互和通信。以下是AXI-EMC IP的功能特性: 1、支持AXI4 Slave Memory Map接口,数据宽度为32位和64位 2、支持写入/读取寄存器的可选AXI4-Lite Slave数据宽度为32位 3、支持AXI4增量和包传输 4、支持AXI4窄带和非对齐传输 5、最多支持四个外部存储器组 6、支持具有可配置字节奇偶校验和流水线级的同步SRAM 7、支持的内存类型 ° 同步SRAM ° 异步SRAM ° 线性闪存(或并行NOR闪存) ° PSRAM(或蜂窝RAM) 8、提供配置寄存器,动态更改PSRAM和Micron®闪存的访问机制 9、为同步SRAM存储器提供奇偶校验错误状态寄存器 本课程中,利用EMC实现异步SRAM的功能,实现数据的读写操作。 20.2 FPGA BD工程以下是搭建好的FPGA BD工程,搭建工程如果不熟悉的用户请参考“CH01 HelloWold/DDR/网口测试及固化”这一节课。 在本课程中主要用到了AXI_EMC这个IP,下面我们看下这个IP的设置,双击这个IP 下图中的的位宽设置为32bit其他参数默认,其中Base Address 和High Address 是AXI_EMC IP在ZYNQ 4GB地址空间中的分配的地址。 下图中,设置Memory Type 为Async SRAM ,也就是异步SRAM。这种SRAM读写起来比较方便。位宽设置为32bit。Timing Parameters是AXI系统时钟为100M的情况下的时间参数,如果采用其他时钟可能要修改时间参数。 下图设置为默认 下图是信息总汇 以下是AXI_EMC IP在ZYNQ 4GB地址空间中的分配的地址 20.3 修改FPGA代码修改调用BD工程的顶层代码,增加异步SRAM的读写接口,控制逻辑。在以下FPGA代码中,我们的SDK代码会写入4个数据,之后再读出来。
20.4 SDK代码
以上代码中先写入4个数据,之后在读出来,这里需要注意,ZYNQ是32bit的数据总线所以地址每次要增加4. 20.5测试结果写波形 读波形 串口打印输出 |
XILINX 官网|站点统计|Archiver|手机版|米联客品牌主页|UISRC工程师开源站 ( 苏ICP备19046771号-2 )
GMT+8, 2025-4-3 15:23 , Processed in 0.298105 second(s), 87 queries .