学习FPGA有必要写SDRAM控制器吗?
在学习FPGA的过程中,注意是在学习过程中,联系FPGA的使用技巧,强烈建议尝试设计一个SDRAM控制器,不要使用IP核。
学习SDRAM控制器设计,能让你掌握很多知识。
更好的使用状态机去精准控制时序。
学会高速设计中必要的技能,也就是时序约束方法,timing report的阅读方法,查找时序问题的基本技巧,复位方案和时钟方案的合理设计,如何优化代码提升系统最高工作时钟,以及testbench的写法。
写sdram控制器还是能锻炼不少典型技能的,值得去花时间思考尝试,性价比是可取的。
设计流程:
看文档。
实现sdram控制器的逻辑。很多公开的教程都有指导怎样实现基本功能的,方式不一,可以参考;之后再自行思考如何改进性能。
写测试模块,配合仿真模型,验证所写逻辑是否正确,写进去能读出如预期,此阶段不追求速度。
频率觉得不够,加流水,切组合链,并行化等等,改进逻辑提高速度。
研究时序约束,并做进一步优化,让它能在板子上跑起来。
sdram控制器这时应该能用了。
版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处
作者:杭州卿萃科技ALIFPGA
原文地址:杭州卿萃科技FPGA极客空间 微信公众号
扫描二维码关注杭州卿萃科技FPGA极客空间
学习FPGA有必要写SDRAM控制器吗?相关推荐
- 基于fpga的256m的SDRAM控制器
2018/7/26 受教于邓堪文老师,开始真真学习控制sdram 由于自己买的sdram模块是256的,原来老师的是128,所以边学边改,不知道最后好不好使,但是我有信心 一.sdram的初始化 sd ...
- FPGA学习日记(八)SDRAM的读写测试
目的:对SDRAM进行读写测试,使用FIFO对SDRAM进行封装. SDRAM功能框图: SDRAM原理图: 初始化状态机: 工作状态机: 代码如下: SDRAM顶层模块:连接外部芯片与测试灯,并通过 ...
- FPGA之SDRAM控制器设计(三)
FPGA之SDRAM控制器设计(三):写 由于已经涉及了上电刷新,写三个大的状态转移,先把状态转移图给出.主控状态转移图是基于手册上描述来的.在代码注释中会给出每个状态的意义解释. 写时序图 写状态转 ...
- 基于FPGA的SDRAM控制器设计(二)
基于FPGA的SDRAM控制器设计(二) 1. SDRAM理论基础 2. SDRAM初始化模块以及仿真 3.TOP模块的仲裁机制 4. SDRAM刷新模块代码以及仿真 5.代码 6.参考资料 1. S ...
- 基于FPGA的SDRAM控制器设计(1)
基于FPGA的SDRAM初始化配置 SDRAM简述 SDRAM的引脚及作用 SDRAM初始化时序控制 SDRAM上电时序代码 SDRAM测试模块的代码 仿真测试结果 参考文献 总结 SDRAM简述 S ...
- SDRAM控制器操作时序
此为学习http://dengkanwen.com/137.html整理的笔记,侵删! SDRAM工作原理 内部的状态跳转图 我们所需关注的几个地方: 1)粗黑线表示在该状态下会自动跳转到另一个状态, ...
- 学习FPGA之二:云端加速
随着互联网,移动互联网,人工智能,物联网(5G),甚至元宇宙的发展,海量的数据越来越多,但是经过有效处理的1%都不到.数据被称为人工智能时代的石油,数据的处理越来越重要,数据中心的运算,传输是在低层需 ...
- 简谈:如何学习FPGA
一.入门首先要掌握HDL(HDL=verilog+VHDL). 第一句话是:还没学数电的先学数电.然后你可以选择verilog或者VHDL,有C语言基础的,建议选择VHDL.因为verilog太像 ...
- 学习 FPGA 经验与书籍分享。
1.不熟悉FPGA的内部结构,不了解可编程逻辑器件的基本原理. FPGA为什么是可以编程的?恐怕很多菜鸟不知道,他们也不想知道.因为他们觉得这是无关紧要的.他们潜意识的认为可编程嘛,肯定就是像写软件一 ...
最新文章
- docker-2-简单使用docker-ce
- hive sql 报错后继续执行_Hive迁移Presto的技术实践
- python paramiko包 ssh报错No existing session 解决方法
- mysql 存储过程 输出warning_如何抑制MySQL存储过程的输出?
- NeHe教程Qt实现——lesson14
- ip地址检查正则表达式 兼容ipv4,ipv6
- 部分设备在微信内无法播放audio的解决方案
- 3n+1猜想(求关键数)
- ORA-00600 [4400][48]错误一例
- Cannot find or open the PDB file
- FIR数字滤波器的设计及应用——MATLAB
- 金银岛(信息学奥赛一本通-T1225)
- Java实战视频bilibili
- Invalidate() UpdateData() OnPaint()与OnDraw
- matlab imdilate
- 一行代码打印python之禅
- Windows10平台安装CocosCreator V2.3.1
- icinga+cacti整合
- Redis Desktop Manager for Mac(Redis桌面管理工具)
- 常用Android模拟器的默认监听端口(转载)