01-SDRAM控制器的设计——案例总概述

本教程重点▷▷▷

  • 存储器简介。

  • 介绍 SDRAM 的工作原理。

  • 详细讲解SDRAM 控制的Verilog 实现方法。

  • PLL IP和FIFO IP 的调用,计数器设计,按键边沿捕获,数码管控制。

  • 完成SDRAM控制器应用的完整案例。

  • Signal Tap 调试方法。

准备工作▷▷▷

硬件平台 :DE10-Standard 开发板(DE2-115、DE1-SOC、DE25-Standard、DE10-Lite、DE0-CV、TSP、DE2i-150  开发板也支持)

开发和调试工具:Quartus18.1

功能模块概述▷▷▷

按键KEY0复位。

按键KEY1触发写,将计数器产生的0到255的数据写到FIFO模块里面,继而写到SDRAM 器件里面。

按键KEY2触发读,SDRAM的数据先读到FIFO模块中,然后通过每按一次KEY2从FIFO模块里面取出一个数据显示到数码管上面。

该实验的功能基本框图如下:

top文件解析:参考08-SDRAM控制器的设计——top文件代码解析 (后续发布)

SDRAM 控制器模块:该模块是本实验的重点,参考

04-SDRAM控制器的设计——control_interface.v代码解析(后续发布)

05-SDRAM控制器的设计——command.v代码解析(后续发布)

06-SDRAM控制器的设计——异步FIFO的调用(后续发布)

07-SDRAM控制器的设计——Sdram_Control.v代码解析(后续发布)

读写控制模块:参考08-SDRAM控制器的设计——按键的处理(边沿捕获电路、硬件消抖、Verilog消抖电路)(后续发布)

七段数码管控制模块:参考之前已有的推文基于FPGA的贪吃蛇游戏设计(二)——数码管驱动模块

引脚分配▷▷▷

下面给出的是DE10-Standard 开发板对应的引脚分配,若是移植到DE1-SOC或者是DE2-115等其他开发板时,需要修改工程器件和引脚分配。

视频演示▷▷▷

参考B站视频:

SDRAM读写案例现象演示_哔哩哔哩_bilibili

源码下载▷▷▷

DE10-Standard 工程链接:百度网盘 请输入提取码

提取码: c5jv

工程源码含详尽的中文注解。

备注▷▷▷

关于SDRAM基础知识请参考

02-SDRAM控制器的设计——SDRAM简介(后续发布)

03-SDRAM控制器的设计——解读IS42R16320D的数据手册(后续发布)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/69540.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea 找不到或者无法加载主类

idea项目,之前一直是正常运行的,放假了之后再回来就遇到启动不了的问题。 WebApplication这个类右键运行的时候,也提示找不到主类。 对于这种之前运行没有问题,突然出问题的项目。 我的点是没有改动代码和数据的情况下项目就跑不起…

鸿蒙harmony 手势密码

1.效果图 2.设置手势页面代码 /*** 手势密码设置页面*/ Entry Component struct SettingGesturePage {/*** PatternLock组件控制器*/private patternLockController: PatternLockController new PatternLockController()/*** 用来保存提示文本信息*/State message: string …

Python中3个与众不同的运算符 :=海象 ->箭头 //地板除法运算符

在python中,有一些和其他编程语言不太一样的运算符,今天就给大家介绍几种Python中的3个与众不同的运算符 :海象 ->箭头 // 地板除法运算符。 1. 海象运算符 : 这个运算符用来分配值并同时返回变量,英文 walrus (a : 5) print(a…

2025.1.8(qt图形化界面之消息框)

笔记(后期复习补充) 作业 1> 手动将登录项目实现,不要使用拖拽编程 并且,当点击登录按钮时,后台会判断账号和密码是否相等,如果相等给出登录成功的提示,并且关闭当前界面,发射一…

实践深度学习:构建一个简单的图像分类器

引言 深度学习在图像识别领域取得了巨大的成功。本文将指导你如何使用深度学习框架来构建一个简单的图像分类器,我们将以Python和TensorFlow为例,展示从数据准备到模型训练的完整流程。 环境准备 在开始之前,请确保你的环境中安装了以下工…

json转excel,在excel内导入json, json-to-excel插件

简介 JSON 转 Excel 是一款 Microsoft Excel 插件,可将 JSON 数据转换为 Excel 表格。 要求 此插件适用于以下环境:Excel 2013 Service Pack 1 或更高版本、Excel 2016 for Mac、Excel 2016 或更高版本、Excel Online。 快速开始 本快速开始指南适用…

腾讯云AI代码助手评测:如何智能高效完成Go语言Web项目开发

腾讯云AI代码助手评测:如何智能高效完成Go语言Web项目开发 ?? 文章目录 腾讯云AI代码助手评测:如何智能高效完成Go语言Web项目开发 ?? 背景引言开发环境介绍腾讯云AI代码助手使用实例 1. 代码补全2. 技术对话3. 代码优化4. 规范代码5. Bug处理 获得…

STM32 CUBE Can调试

STM32 CUBE Can调试 1、CAN配置2、时钟配置3、手动添加4、回调函数5、启动函数和发送函数6、使用方法(采用消息队列来做缓存)7、数据不多在发送函数中获取空邮箱发送,否则循环等待空邮箱 1、CAN配置 2、时钟配置 3、手动添加 需要注意的是STM32CUBE配置的代码需要再…

清除el-table选中状态 clearSelection

如何在Vue应用中使用Element UI的el-table组件&#xff0c;通过this.$refs.multipleTable.clearSelection()方法来清除所有选中行的状态。适合前端开发者了解表格组件的交互操作。 // el-table绑定ref<el-table selection-change"selsChange" ref"multipl…

小结:NAT

在华为设备中&#xff0c;NAT&#xff08;网络地址转换&#xff09;有多种类型&#xff0c;通常用于实现私有网络与公网之间的地址转换&#xff0c;或是实现内部网络的地址隔离。以下是华为路由器和交换机中常见的 NAT 类型及其配置。 1. NAT 类型 (1) 静态 NAT&#xff08;S…

【大数据技术】搭建完全分布式高可用大数据集群(Kafka)

搭建完全分布式高可用大数据集群(Kafka) kafka_2.13-3.9.0.tgz注:请在阅读本篇文章前,将以上资源下载下来。 写在前面 本文主要介绍搭建完全分布式高可用集群 Kafka 的详细步骤。 注意: 统一约定将软件安装包存放于虚拟机的/software目录下,软件安装至/opt目录下。 安…

如何使用deepseek创建钉钉收费AI助理

1、打开deepseek&#xff0c;简单描述下自己的问题&#xff0c;勾选深度思考 2、deepseek给我生成了一大段提示词模板 3、打开钉钉-应用中心-找AI助理 4、点击立即创作 5、创作 默认创建的是免费上网&#xff0c;需要创建收费的话需要先申请&#xff0c;填一个表单内容和价格&…

DeepSeek RAGFlow构建本地知识库系统

学习目标 DeepSeek RAGFlow 构建本地知识库系统 学习内容 下载安装Docker 1.1 Docker 是什么 1.2 下载Docker 1.3 安装Docker配置DockerRAGFlow 配置 3.1 下载RAGFlow 3.2 RAGFlow配置 3.3 启动RAGFlow Docker新建知识库 4.1 查看本机IP 4.2 OLLAMA_HOST 变量配置 4.3 添加模…

unity学习31:Video Player 视频播放相关基础

目录 1 新增Video Player的 component 2 导入视频到Asset里 3 拖入到 video player的 video clip里去即可 4 渲染模式 4.1 多种渲染模式 4.2 如果选择 Render Texture模式 4.3 然后把Render Texture 拖到游戏里的 gameObject上面 5 在UI上显示 5.1 创建UI 5.2 在UI上…

机器学习 - 需要了解的条件概率、高斯分布、似然函数

似然函数是连接数据与参数的桥梁&#xff0c;通过“数据反推参数”的逆向思维&#xff0c;成为统计推断的核心工具。理解它的关键在于区分“参数固定时数据的概率”与“数据固定时参数的合理性”&#xff0c;这种视角转换是掌握现代统计学和机器学习的基础。 一、在学习似然函…

[LUA ERROR] bad light userdata pointer

Cocos2d项目&#xff0c;targetSdkVersion30&#xff0c;在 android 13 设备运行报错: [LUA ERROR] bad light userdata pointer &#xff0c;导致黑屏。 参考 cocos2dx 适配64位 arm64-v8a 30 lua 提示 bad light userdata pointer 黑屏-CSDN博客的方法 下载最新的Cocos2dx …

使用Docker + Ollama在Ubuntu中部署deepseek

1、安装docker 这里建议用docker来部署&#xff0c;方便简单 安装教程需要自己找详细的&#xff0c;会用到跳过 如果你没有安装 Docker&#xff0c;可以按照以下步骤安装&#xff1a; sudo apt update sudo apt install apt-transport-https ca-certificates curl software-p…

导航守卫router.beforeEach

router.beforeEach 是一个全局前置守卫&#xff0c;在每次路由跳转之前都会触发。 //index.jsrouter.beforeEach((to, from, next) > {// 打印即将要进入的目标路由信息console.log(即将要进入的目标路由信息:, to)// 打印当前正要离开的路由信息console.log(当前正要离开的…

systemverilog的program和module的区别

1. 设计目的 module 硬件建模&#xff1a;用于描述数字电路的结构和行为&#xff08;如组合逻辑、时序逻辑、连线等&#xff09;。 层次化设计&#xff1a;支持模块化设计&#xff0c;可嵌套其他模块或接口&#xff08;interface&#xff09;。 仿真周期内持续存在&#xff1…

网络编程基础1

七层协议模型和四层协议模型 七层协议模型&#xff1a;物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 四层协议模型&#xff1a;链路层、网络层、传输层、应用层 TCP通信流程 服务器端 (1)创建socket(socket) (2)绑定自己的IP(bind) (3)监听客户端连接(liste…