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的数据手册(后续发布)
相关文章:
01-SDRAM控制器的设计——案例总概述
本教程重点▷▷▷ 存储器简介。 介绍 SDRAM 的工作原理。 详细讲解SDRAM 控制的Verilog 实现方法。 PLL IP和FIFO IP 的调用,计数器设计,按键边沿捕获,数码管控制。 完成SDRAM控制器应用的完整案例。 Signal Tap 调试方法。 准备工作▷…...
京准:NTP卫星时钟服务器对于DeepSeek安全的重要性
京准:NTP卫星时钟服务器对于DeepSeek安全的重要性 京准:NTP卫星时钟服务器对于DeepSeek安全的重要性 在网络安全领域,分布式拒绝服务(DDoS)攻击一直是企业和网络服务商面临的重大威胁之一。随着攻击技术的不断演化…...
uniapp访问django目录中的图片和视频,2025[最新]中间件访问方式
新建中间件, middleware.py 匹配,以/cover_image/ 开头的图片 匹配以/episode_video/ 开头的视频 imageSrc: http://192.168.110.148:8000/cover_image/12345/1738760890657_mmexport1738154397386.jpg, videoSrc: http://192.168.110.148:8000/episode_video/12345/compres…...
RuoYi-Vue-Oracle的oracle driver驱动配置问题ojdbc8-12.2.0.1.jar的解决
RuoYi-Vue-Oracle的oracle driver驱动配置问题ojdbc8-12.2.0.1.jar的解决 1、报错情况 下载:https://gitcode.com/yangzongzhuan/RuoYi-Vue-Oracle 用idea打开,启动: 日志有报错: 点右侧m图标,maven有以下报误 &…...
python脚本实现windows电脑内存监控内存清理(类似rammap清空工作集功能)
import ctypes import psutil import time import sys import os from datetime import datetime import pyautogui# 检查管理员权限 def is_admin():try:return ctypes.windll.shell32.IsUserAnAdmin()except:return False# 内存清理核心功能 def cleanup_memory(aggressivene…...
【狂热算法篇】并查集:探秘图论中的 “连通神器”,解锁动态连通性的神秘力量
嘿,朋友们!喜欢这个并查集的讲解吗 记得点个关注哦,让我们一起探索算法的奥秘,别忘了一键三连,你的支持是我最大的动力! 欢迎拜访:羑悻的小杀马特.-CSDN博客 本篇主题:深度剖析并查…...
SpringBoot中实现动态数据源切换
SpringBoot中实现动态数据源切换 文章目录 SpringBoot中实现动态数据源切换SpringBoot中实现动态数据源切换基础知识1. 什么是数据源?2. 动态数据源切换的概念3. Spring Boot 中的默认数据源配置4. 动态数据源的挑战5. Spring 中的数据源切换方式 设计思路1. 明确应…...
数据结构及排序算法
数据结构 线性结构 ◆线性结构:每个元素最多只有一个出度和一个入度,表现为一条线状。线性表按存储方式分为顺序表和链表。 存储结构: ◆顺序存储:用一组地址连续的存储单元依次存储线性表中的数据元素,使得逻辑上相邻的元素物理上也相邻。 ◆链式存储:存储各数据元素的结点…...
Python基础-元组tuple的学习
在 Python 中,元组(tuple)是一种不可变的序列类型,允许存储不同类型的元素。元组非常类似于列表(list),但与列表不同的是,元组一旦创建,就不能修改其内容。 1 元组的创建…...
【手写公式识别】MEMix: Improving HMER with Diverse Formula Structure Augmentation 论文阅读
发表于:ICME 2024 原文链接:https://ieeexplore.ieee.org/document/10687521 源码:无 Abstract 手写数学表达式识别(HMER)旨在将数学表达式(MEs)的图像转换为相应的LaTeX序列。然而࿰…...
使用deepseek写一个飞机大战游戏
说明: 安装pygame:在运行代码之前,需要先安装 pygame 库。可以通过以下命令安装: pip install pygame图像文件:需要将玩家、敌人和子弹的图像文件(player.png, enemy.png, bullet.png)放在与脚本…...
用Kibana实现Elasticsearch索引的增删改查:实战指南
在大数据时代,Elasticsearch(简称 ES)和 Kibana 作为强大的数据搜索与可视化工具,受到了众多开发者的青睐。Kibana 提供了一个直观的界面,可以方便地对 Elasticsearch 中的数据进行操作。本文将详细介绍如何使用 Kiban…...
C# 封送和远程编程介绍
.NET学习资料 .NET学习资料 .NET学习资料 在 C# 编程领域中,封送(Marshaling)和远程编程(Remote Programming)是两个极为重要的概念,它们为开发者提供了与不同环境、不同进程或不同机器上的代码进行交互的…...
MybatisPlus较全常用复杂查询引例(limit、orderby、groupby、having、like...)
MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。以下是 MyBatis-Plus 中常用复杂查询(如 LIMIT、ORDER BY、GROUP BY、HAVING、LIKE 等)的引例: 1. 环境准备…...
02.07 TCP服务器与客户端的搭建
一.思维导图 二.使用动态协议包实现服务器与客户端 1. 协议包的结构定义 首先,是协议包的结构定义。在两段代码中,pack_t结构体都被用来表示协议包: typedef struct Pack {int size; // 记录整个协议包的实际大小enum Type type; …...
Jenkins数据备份到windows FTP服务器
文章目录 背景1. 安装配置 FileZilla Server(Windows)1.1 下载并安装 FileZilla Server1.2 配置 FTP 用户和共享目录 2. 安装并配置 FTP 客户端(CentOS)2.1 在 CentOS 安装 lftp 3. 编写 Jenkins 备份脚本3.1 赋予执行权限3.2 测试…...
【R语言】卡方检验
一、定义 卡方检验是用来检验样本观测次数与理论或总体次数之间差异性的推断性统计方法,其原理是比较观测值与理论值之间的差异。两者之间的差异越小,检验的结果越不容易达到显著水平;反之,检验结果越可能达到显著水平。 二、用…...
ASP.NET Core托管服务
目录 托管服务的异常问题 托管服务中使用DI 托管服务案例:数据的定时导出 场景,代码运行在后台。比如服务器启动的时候在后台预先加载数据到缓存,每天凌晨3点把数据导出到备份数据库,每隔5秒钟在两张表之间同步一次数据。托管服…...
HarmonyOS 5.0应用开发——全局自定义弹出框openCustomDialog
【高心星出品】 文章目录 全局自定义弹出框openCustomDialog案例开发步骤完整代码 全局自定义弹出框openCustomDialog CustomDialog是自定义弹出框,可用于广告、中奖、警告、软件更新等与用户交互响应操作。开发者可以通过CustomDialogController类显示自定义弹出框…...
如何在C++ QT 程序中集成cef3开源浏览器组件去显示网页?
文章目录 1. **准备工作**1.1 下载CEF31.2 配置Qt项目2. **集成CEF3到Qt窗口**2.1 创建Qt窗口容器2.2 初始化CEF33. **处理CEF3消息循环**4. **处理多进程架构**5. **完整代码示例**`main.cpp`6. **常见问题**6.1 黑屏问题6.2 窗口嵌入失败6.3 多进程调试7.**Github源码参考**8…...
太吾绘卷Mod终极指南:从零开始打造个性化游戏体验
太吾绘卷Mod终极指南:从零开始打造个性化游戏体验 【免费下载链接】Taiwu_mods 太吾绘卷游戏Mod 项目地址: https://gitcode.com/gh_mirrors/ta/Taiwu_mods 想要为《太吾绘卷》注入全新活力吗?太吾绘卷Mod为这款经典游戏带来了无限可能࿰…...
【esp-idf调试问题-代码为提前配置工程,配网wedsocket服务】
esp-idf调试问题-配网wedsocket服务一、提示分区表错误,没有配置自己的编写的分区表。menuconfig 配置分区表步骤 1:打开配置菜单 在项目根目录执行:步骤 2:选择分区表类型 在 Partition Table → Partition Table 中可选…...
SiameseAOE中文-base多场景落地:电商、酒店、教育评论情感结构化实践
SiameseAOE中文-base多场景落地:电商、酒店、教育评论情感结构化实践 1. 引言:从海量评论中挖掘价值 你有没有遇到过这样的烦恼?面对成千上万条用户评论,想了解大家对产品、服务到底满不满意,却无从下手。一条条看&a…...
音频工程师必看:奈奎斯特采样定理在实际录音中的5个常见误区
音频工程师必看:奈奎斯特采样定理在实际录音中的5个常见误区 在专业音频制作领域,采样率设置是决定录音质量的基础性环节。许多工程师虽然熟悉44.1kHz或48kHz这些标准数字,却对背后的奈奎斯特采样定理存在认知偏差。这些误解轻则导致后期处理…...
数学建模竞赛避坑指南:E题‘AI体测’数据预处理与特征工程实战解析
数学建模竞赛E题深度解析:从数据清洗到特征工程的实战避坑指南 数学建模竞赛中,数据处理环节往往决定了模型的成败。面对E题"AI体测"这类涉及多源异构数据的题目,许多参赛队伍在数据预处理阶段就埋下了隐患。本文将结合实战经验&am…...
认知迷雾计划:用废话消耗AI算力
被低效会议吞噬的AI资源在软件测试领域,AI驱动工具正逐步承担自动化测试、缺陷预测、日志分析等高价值任务。然而,一种名为“认知迷雾”的隐形威胁——即低效会议产生的海量冗余信息——正在持续消耗宝贵算力资源。本文从测试工程视角,剖析废…...
Fun-ASR参数配置攻略:热词列表、目标语言,这样设置准确率最高
Fun-ASR参数配置攻略:热词列表、目标语言,这样设置准确率最高 1. 为什么参数配置如此重要? 语音识别系统的准确率往往取决于两个关键因素:模型本身的性能和使用者的参数配置。Fun-ASR作为钉钉与通义实验室联合推出的企业级语音识别…...
如何从碎片化信息中构建系统性科研认知?
在科研工作中,我们常常面临这样一种困境:每天通过各种渠道接触到海量的学术信息,这些信息如同散落的拼图碎片,虽然珍贵,却难以自动拼凑成一幅完整的画面。对于许多科研人员而言,难以形成系统认知是一个巨大…...
5步实现黑苹果零门槛配置:智能工具的降维打击方案
5步实现黑苹果零门槛配置:智能工具的降维打击方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 当你第三次因为ACPI补丁错误导致系统崩溃…...
【异常】设备时间戳时区偏差问题分析与解决(实际应为上午11点,但数据库存储为晚上7点)
一、问题现象 在生产环境中发现,IoT 设备上报的对话记录时间存在异常。具体表现为: 实际时间:2026年3月30日 上午 11:00 数据库存储时间:2026年3月30日 晚上 19:00 时间偏差:约 8 小时 数据库查询示例: -- 实际应为上午11点,但数据库存储为晚上7点 dialog_time: 2026-…...
