上上篇创建了MIG后,下面开始码代码了,梳理一下需要的工作
1)一个模拟需要写入的数据模块(用户时钟为ddr3.v文件中的c3_clk0);数据位宽32bit;
2)一个控制MCB突发模块,进行指令,写FIFO,读指令,读FIFO时序
用户时钟为c3_clk0;读写数据为32bit;DDR2时钟为用户时钟的2倍,内部数据位宽设置端口为32bit;
3)两个FIFO IP核
4)一个top层
5)仿真
6)上板子chipscope抓取信号以及相关数据验证;
1.实现的功能是:
20khz频率下,触发一次相机;1s触发500次为1组;
相机数据:85M时钟,产生(6464+4)16bit的数据;=8KB
共500张图片数据存入DDR2后,再读出500张图片数据;
2.分析:
DDR写
需要FIFO中有数据后再进行写指令,写突发长度,写地址,写FIFO
FIFO内存最大为36KB/8kB=4张图片;最多存4张图片就要写入DDR2中,这里为了防止FIFO内没有数据,通过计数写入个数与读出个数相减=50的时候,进行写指令=010,写突发长度=50,写地址累加50,使用自动预充电机制,每次最后一个数据写完成之后必须停留一段时间。
注:写指令地址最后两个低地址是0,拼接;
一张照片6464+4=4100个16bit,因为是32bit用户数据接口,一张图片需要4100/2=2050个地址,最终需要2050500=102500计数完成之后全部写完!!!
3.关于地址,非AXI4的接口最大是30bit

32bit数据线对应的最后两位必须是0;

因此在设计地址时,是28bit的地址+2bit的00拼接
4.因此新建第一个wr_data_moni.v进行创建模拟数据102500个数据;并输出写入与读出的个数之差word_cnt。
5.新建一个控制MCB的时序ddr_burst.v文件,编写写DDR时序,
(1)在c3_calib_done=1之后操作;cmd_en,cmd_bl=50,cmd_instr,cmd_addr都要在cmd_en=1的时刻同时赋值,cmd_en宽度为一个脉冲,因此在cmd_en为低电平时刻cmd_addr要同时顺延加cmd_bl的长度;
(2)由于使用的自动预处理的写入,写入端口c3_p2_因此在cmd_en=0之后要进行延时,为了激活打开命令延时CAS个时钟,此模块延时了20clk,要不然写入不进去;
(3)当wr_data_moni.v模块中word_cnt>=50时开始写入,全部写入完成后返回写指令cmd状态机,在进行延时状态机(注延时状态机内wr_en=0不写入),一直到数据全部写入完成1025000个,就输出wr_over信号
(4)全部写完成之后才进行读DDR,在c3_calib_done=1下操作端口c3_p3_当数据<1025000就开始写指令cmd_instr,cmd_en,cmd_bl=50,cmd_addr,在cmd_en=1的时刻进行编写,也需要延时自动预充电,读出状态机为当c3_p3_rd_empty=1的时候返回状态机写读命令。非空则rd_en,读计数;

注意:这里的读信号都是基于bl突发长度而言;
(5)在读使能为1时,进行数据输出写入TCP输出的fifo中
将ddr3.v文件在ddr_burst.v中进行例化封装,因为要将用户接口与时序连接起来

(6)因为系统时钟我用的是100M,fpga的晶振是50M,因此还要添加一个时钟PLL模块,进行时钟输出;
上板子验证成功!

DDR2/3进阶实验测试篇相关推荐

  1. “菜鸟安服仔”必用兵器之“渗透测试篇一”

    "菜鸟黑客"必用兵器之"渗透测试篇一" "菜鸟黑客"必用兵器之"渗透测试篇一" 大家好,我还是你们的老朋友"信 ...

  2. “安服仔”必用兵器之“渗透测试篇一”

    ""必用兵器之"渗透测试篇一" ""必用兵器之"渗透测试篇一" 大家好,我还是你们的老朋友"信息安全我来讲你来 ...

  3. 配置静态路由进阶实验

    配置静态路由进阶实验 静态路由是指由用户或网络管理员手工配置的路由信息.当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息.静态路由信息在缺省情况下是私有的,不 ...

  4. 双轮载人平衡车设计完整教程之调校测试篇

    双轮载人平衡车设计完整教程之调校测试篇 实验及路测结果 6.1 硬件测试 6.1.1车体与元件安装 车体采用的是精钢打造的船型包厢,车体机械部分的安装及重量分布,直接影响到小车的平衡性能.拿起螺丝准备 ...

  5. 数据结构PTA 进阶实验5-3.2 新浪微博热门话题

    进阶实验5-3.2 新浪微博热门话题 题目 解法 题目 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可 ...

  6. 计算机网络实验报告和思科pkt实验测试软件

    一.内容包含: 1.常用网络命令的使用 2.交换机的基本配置 3.虚拟局域网(VLAN)的配置 4.静态路由的配置 5. VLAN进阶实验--二层交换机+路由器实现VLAN间通信 6.单区域OSPF配 ...

  7. 服务器内存超频性能,测试篇:内存超频性能测试

    测试篇:内存超频性能测试 我们把内存分为"DDR2 667".DDR2 800及以上"进行比较,通过32M SUPER PI作为一些特别为超频玩家而推出的内存将会作加电压 ...

  8. JavaScript 进阶知识 - Ajax篇

    Ajax 前言 前面我们已经学习了js基础知识和一些简单的特效,基本上已经能够写出一个带有特效的静态页面了,为什么还要称之为静态页面呢?因为网页里的数据都是写死的,真正的工作中,我们是要通过Ajax技 ...

  9. 【计算机网络综合实验】基于eNSP的计算机网络实验(完结篇)

    基于eNSP的计算机网络实验-----完结篇 一.路由器基本配置和静态路由 1.背景知识 2.ENSP模拟过程 3.实际网络设备操作 二.路由器动态配置(RIP.OSPF协议) [有时间再细细回想来写 ...

最新文章

  1. Linux下进程通信知识点学习笔记(一)
  2. 读书笔记之: 计算机网络(第4版)- 第6章 传输层
  3. BUU[SCTF2019]Who is he
  4. Python中numpy中tile和repeat用法和区别
  5. ImportError: cannot import name ‘options‘ from ‘pyecharts‘
  6. ORACLE数据库基本操作命令
  7. [Swift]LeetCode1035.不相交的线 | Uncrossed Lines
  8. centos cron 自动执行脚本异常 命令不生效的解决办法
  9. JAVA学习笔记——JAVA基础语法(二)
  10. Sql Server临时表获取链接数据库查询结果
  11. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 图片:为图片添加圆角 (IE8 不支持)
  12. Python计算流体动力学(CFD)模拟人体呼吸系统
  13. php简历怎么写比较出彩,如何让简历出彩 简历吸引人有几个方面
  14. vue 项目中使用 评论功能 带emoji表情包
  15. 初识C语言之条件结构篇——带你认知编程世界的逻辑之美!
  16. 家庭备忘记事便签软件哪个实用?
  17. 怎样进网站空间服务器,怎样进网站空间服务器
  18. NOIP切题注意事项
  19. 一、自动化测试——Airtest+Poco快速上手
  20. 浅谈Ble-Mesh的LPN模式

热门文章

  1. stcoder Splatter Painting 记忆化搜索
  2. ARKit之路-ARSession生命周期管理与跟踪质量
  3. 32位与64位系统基本数据类型的字节数
  4. 生成一个5位随机验证码(包含数字大小写字母)
  5. 阿里内部隐藏「P」序列职级,「高P」光环或成过去式
  6. This page can't be displayed. Contact support for additional information. The incident ID is: xxxxxx
  7. Android 应用快捷方式 Shortcuts(一)
  8. 松本行弘(Ruby发明者):Emacs怎样改变了我的人生
  9. 简进祥==iOS 3DES加密解密
  10. ARIMA(Autoregressive Integrated Moving Average Model)