当前位置: 首页 > news >正文

ZYNQ初识7(zynq_7010)RAM_IP核

        学习汇总正点原子bi站教学视频。但由于目前的学习板PL端缺乏时钟晶振,所以需要从PS端调用时钟供给PL端使用,也就造成顶层文件的设置出现一些问题,在IP核创建调用和例化过程中一些功能会受到限制,所以以下仅作汇总参考。

zynq_7000家族中的7010和7020的ram资源如上图,每一片ram随机存储器的内存为36K,上图中的Block RAM对应的资源为多片ram拼凑起来的资源总和。其中单片ram又可以做灵活分割处理。

 以下是创建RAM对应的IP核的两个步骤:

上图中标注的存储器类型分别包括单端ram(同时读写)、伪双端ram(一端读,一端写(但读写固定))、真双端ram(一端读、一端写,且读写端均可以切换读和写的功能)以及rom(关闭写的一端)等等,也可以看出ram和rom的资源是共用的。

另一幅图则涉及读写端口的设定,包括读写端口的数据宽度和深度,设置读写优先级以及端口使能的功能。

另附上顶层文件以及对应RAM的IP核的.v文件的程序:

`timescale 1ns / 1ps
// Create Date: 2024/12/31 10:31:35
// Design Name: top文件
// Module Name: test_026_ramIP
module test_026_ramIP(input    sys_clk,input    sys_rst_n);wire  ram_en;wire  rw;wire  [4:0]  ram_addr;wire  [7:0]  ram_w_data;wire  [7:0] douta;  //设置为线型避免输出端创建需要分配8个引脚//lihua,IP核调用,ram读写控制ram_IP_rw  ram_IP_rw_u(.sys_clk         (sys_clk),    .sys_rst_n       (sys_rst_n),  .ram_en          (ram_en),     .rw              (rw),         .ram_addr        (ram_addr),   .ram_w_data      (ram_w_data));//lihua,IP核调用ramIP_1 ramIP_1_u (.clka(sys_clk),    // input wire clka.ena(ram_en),      // input wire ena.wea(rw),      // input wire [0 : 0] wea.addra(ram_addr),  // input wire [4 : 0] addra.dina(ram_w_data),    // input wire [7 : 0] dina.douta(douta)  // output wire [7 : 0] douta
);endmodule

 

//ram IP核读写控制
module ram_IP_rw(input               sys_clk,input               sys_rst_n,output  reg         ram_en,output  reg         rw,output  reg  [4:0]  ram_addr,output  reg  [7:0]  ram_w_data);//使能设置always@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)ram_en <= 1'b0;else ram_en <= 1'b1;  end    reg  [5:0]  rw_cnt;    //读写切换计数器 always@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)rw_cnt <= 6'b0;else if(rw_cnt == 6'd63)rw_cnt <= 6'b0;elserw_cnt <= rw_cnt + 6'd1;  endalways@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)ram_w_data <= 8'b0;    else if((rw_cnt >= 6'd31) && ram_en)ram_w_data <= ram_w_data + 8'b1; elseram_w_data <= ram_w_data;end //读写切换:always@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)rw <= 1'b1;//初始默认为高,也就是写状态else if(rw_cnt >= 6'd31)rw <= 1'b1;elserw <= 1'b0;endalways@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)   ram_addr <= 5'd0;else ram_addr <= rw_cnt[4:0];  //位宽设定,前31位读写end endmodule

 示意图如下:

 

相关文章:

ZYNQ初识7(zynq_7010)RAM_IP核

学习汇总正点原子bi站教学视频。但由于目前的学习板PL端缺乏时钟晶振&#xff0c;所以需要从PS端调用时钟供给PL端使用&#xff0c;也就造成顶层文件的设置出现一些问题&#xff0c;在IP核创建调用和例化过程中一些功能会受到限制&#xff0c;所以以下仅作汇总参考。 zynq_7000…...

.e01, ..., .e0n的分卷压缩包怎么解压

用BandiZip&#xff0c;这些分卷压缩中还有一个.exe的文件&#xff0c;这个不是可执行文件&#xff0c;是一个解压缩的开头。 安装好bandiZip后&#xff0c;右键这个.exe文件 点击打开就是开始解压了&#xff1a; 最后解压后是这些。然后一个个再次解压....

linux网络管理

网络配置文件 网卡信息文件 :::color3 /etc/sysconfig/network-scripts ::: 配置描述DEVICE网卡设备名-必填BOOTPROTO必填&#xff1a;none,static(静态 IP),dhcp(动态 IP)HWADDRMAC 地址NM_CONTROLLED是否启用Network Manager图形管理工具&#xff0c;建议 noONBOOT是否默认…...

宽带、光猫、路由器、WiFi、光纤之间的关系

1、宽带&#xff08;Broadband&#xff09; 1.1 宽带的定义宽带指的是一种高速互联网接入技术&#xff0c;通常包括ADSL、光纤、4G/5G等不同类型的接入方式。宽带的关键特点是能够提供较高的数据传输速率&#xff0c;使得用户可以享受到稳定的上网体验。 1.2 宽带的作用宽带是…...

Momentum Contrast for Unsupervised Visual Representation Learning论文笔记

文章目录 论文地址动量队列对比学习的infoNCE loss为什么需要动量编码器对比学习moco方法中的动量Encoder为什么不能与梯度Encoder完全相同为什么动量编码器和梯度编码器不能完全相同&#xff1f;总结&#xff1a; 我理解&#xff0c;正负样本应该经过同一个encoder&#xff0c…...

linux-26 文件管理(四)install

说一个命令&#xff0c;叫install&#xff0c;man install&#xff0c;install是什么意思&#xff1f;安装&#xff0c;install表示安装的意思&#xff0c;那你猜install是用来干什么的&#xff1f;猜一猜干什么的&#xff1f;安装软件&#xff0c;安装第三方软件&#xff0c;错…...

day-104 组合总和 Ⅳ

思路 动态规划 解题过程 假设dfs(target)表示组成target的组合数&#xff0c;可得转换方程dfs(target)dfs(target-nums[0])dfs(target-nums[1])…以此类推 注意&#xff1a;nums[i]需要小于等于当前的target Code class Solution {public int combinationSum4(int[] nums, i…...

Gitlab-runner 修改默认的builds_dir并使用custom_build_dir配置

gitlab-runner 修改默认的builds_dir并使用custom_build_dir配置 1. 说明2. 实操&#xff08;以docker执行器为例&#xff09;2.1 修改默认的builds_dir2.1.1 调整gitlab-runner的配置文件2.1.2 CI文件 2.2 启用custom_build_dir2.2.1 调整gitlab-runner的配置文件2.2.2 CI文件…...

代码随想录算法训练营day21

代码随想录算法训练营 —day21 文章目录 代码随想录算法训练营前言一、669. 修剪二叉搜索树递归法迭代法 二、108.将有序数组转换为二叉搜索树递归法迭代法 三、538.把二叉搜索树转换为累加树递归法 总结 前言 今天是算法营的第21天&#xff0c;希望自己能够坚持下来&#xf…...

苹果系统MacOS下ObjectC建立的App程序访问opencv加载图片程序

前言 苹果系统下使用opencv感觉还是有些不太方便&#xff0c;总是感觉有点受到限制。本博客描述的是在MacOS下建立App程序然后调用opencv显示图片时出现的一些问题并最后解决的一个过程。 一、程序的建立 选择程序的类型&#xff1a; 选择界面模式和编程语言&#xff1a; 其余…...

滴滴工作流引擎Turbo与logicFlow研究

目录 logicFlow turbo 工作流引擎很多,也都提供了前端UI库,但是太过于冗杂了,元数据表都几十个,logincFlow和Turbo的组合提供了轻量化方式,turbo后端代码只有5个元数据表,logicFlow也提供了bpm的相关扩展功能,但缺点是turbo社区不活跃,logicFlow个人认为跟echarts这种…...

快速将索尼手机联系人导出为 HTML 文件

我想将 Sony Xperia 手机上的联系人导出到计算机上进行备份&#xff0c;并在需要时进行编辑。这可以做到吗&#xff1f;如何做到&#xff1f;作为助手我需要下载什么工具吗&#xff1f; 当您的 Android 手机上存储了如此多的重要联系人&#xff0c;而您又不想丢失它们时&#…...

长时间序列预测算法---Informer

目录 一、传统的 Transformer 模型二、Informer原理2.1 Attention计算2.2 “积极”的Q筛选2.2.1 KL散度2.2.2 “懒惰”的q处理 2.3 Encoder结构2.4 Decoder结构2.4.1 Transformer的Decoder操作2.4.2 Informer的Decoder操作 2.5 Informer模型的改进 三、模型应用 时间序列相关参…...

深入理解连接池:从数据库到HTTP的优化之道

在现代应用开发中&#xff0c;高效的资源管理是关键&#xff0c;其中连接池&#xff08;Connection Pool&#xff09;技术起到了至关重要的作用。本文将带你深入了解连接池的概念及其在数据库和HTTP通信中的应用&#xff0c;结合 JDBC 与 Druid 的关系&#xff0c;以及 HttpURL…...

LLM(十二)| DeepSeek-V3 技术报告深度解读——开源模型的巅峰之作

近年来&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的发展突飞猛进&#xff0c;逐步缩小了与通用人工智能&#xff08;AGI&#xff09;的差距。DeepSeek-AI 团队最新发布的 DeepSeek-V3&#xff0c;作为一款强大的混合专家模型&#xff08;Mixture-of-Experts, MoE&a…...

IIS设置IP+端口号外网无法访问的解决方案

在IIS将站点设置为IP端口访问&#xff0c;假设端口为8080&#xff0c;设好后&#xff0c;服务器上可以访问&#xff0c;外网无法访问。 通常是端口8080没有加入【入站规则】的缘故&#xff0c;将8080端口加入【入站规则】即可&#xff0c;操作如下&#xff1a; 一、ctrlr 输入 …...

Leetcode 最大正方形

java 实现 class Solution {public int maximalSquare(char[][] matrix) {//处理特殊情况if(matrix null || matrix.length 0 || matrix[0].length 0) return 0;int rows matrix.length;int cols matrix[0].length;int[][] dp new int[rows][cols]; //dp[i][j]的含义是以…...

数据结构与算法之动态规划: LeetCode 3105. 最长的严格递增或递减子数组 (Ts版)

最长的严格递增或递减子数组 https://leetcode.cn/problems/longest-strictly-increasing-or-strictly-decreasing-subarray/description/ 描述 给你一个整数数组 nums返回数组 nums 中 严格递增 或 严格递减的最长非空子数组的长度 示例 1 输入&#xff1a;nums [1,4,3,…...

【书籍连载】《软件测试架构实践与精准测试》| 有关软件测试模型的调查结果

各位软件领域的精英们&#xff0c;今天小编邀请你继续深入学习《软件测试架构实践与精准测试》。 《软件测试架构实践与精准测试》是作者李龙&#xff08;安畅检测首席技术专家&#xff09;基于软件测试“川模型”的著作。本书结合作者首次提出的软件测试新的模型“川模型”测试…...

我的博客年度之旅:感恩、成长与展望

目录 感恩有你 技能满点 新年新征程 嘿&#xff0c;各位技术大佬、数码潮咖还有屏幕前超爱学习的小伙伴们&#xff01;当新年的钟声即将敲响&#xff0c;我们站在时光的交汇点上&#xff0c;回首过往&#xff0c;满心感慨&#xff1b;展望未来&#xff0c;豪情满怀。过去的这…...

【RTD MCAL 篇3】 K312 MCU时钟系统配置

【RTD MCAL 篇3】 K312 MCU时钟系统配置 一&#xff0c;文档简介二&#xff0c; 时钟系统理论与配置2.1 K312 时钟系统2.1.1 PLL2.1.2 MUX_0系统2.1.3 MUX_6 时钟输出2.1.4 option B推荐方案 2.2 EB 配置2.2.1 General 配置2.2.2 McuClockSettingConfig配置2.2.2.1 McuFIRC配置…...

力扣28找出字符串中第一个匹配项的下标

class Solution:def strStr(self, haystack: str, needle: str) -> int:# 特殊情况处理if not needle:return 0# 获取 haystack 和 needle 的长度a len(needle)b len(haystack)# 遍历 haystack&#xff0c;检查每个子字符串是否与 needle 匹配for i in range(b - a 1):if…...

[C#]C# random.Next(0,1)包含0和1吗

在C#中&#xff0c;Random.Next(minValue, maxValue) 方法生成的随机数是一个在 minValue&#xff08;包含&#xff09;和 maxValue&#xff08;不包含&#xff09;之间的整数。因此&#xff0c;当你调用 Random.Next(0, 1) 时&#xff0c;它只会生成一个整数&#xff0c;这个整…...

【设计模式】 基本原则、设计模式分类

设计模式 设计模式是软件工程中的一种通用术语&#xff0c;指的是针对特定问题的经过实践验证的解决方案。设计模式并不是最终的代码实现&#xff0c;而是描述了如何解决某一类问题的思路和方法。 如果熟悉了设计模式&#xff0c;当遇到类似的场景&#xff0c;我们可以快速地…...

Swift White Hawkstrider

Swift White Hawkstrider 迅捷白色陆行鸟 Swift White Hawkstrider - Item - 魔兽世界怀旧服TBC数据库_WOW2.43数据库_70级《燃烧的远征》数据库 Kaelthas Sunstrider (1) <Lord of the Blood Elves> 凯尔萨斯逐日者. 掉落 [80圣骑士][Alonsus-加丁][诺森德冒险补给品…...

node.js下载、安装、设置国内镜像源(永久)(Windows11)

目录 node-v20.18.0-x64 工具下载安装设置国内镜像源&#xff08;永久&#xff09; node-v20.18.0-x64 工具 系统&#xff1a;Windows 11 下载 官网https://nodejs.org/zh-cn/download/package-manager 版本我是跟着老师选的node-v20.18.0-x64如图选择 Windows、x64、v2…...

「Mac畅玩鸿蒙与硬件48」UI互动应用篇25 - 简易购物车功能实现

本篇教程将带你实现一个简易购物车功能。通过使用接口定义商品结构&#xff0c;我们将创建一个动态购物车&#xff0c;支持商品的添加、移除以及实时总价计算。 关键词 UI互动应用接口定义购物车功能动态计算商品管理列表操作 一、功能说明 简易购物车功能包含以下交互&#…...

df.groupby(pd.Grouper(level=1)).sum()

df.groupby(pd.Grouper(level1)).sum() 在 Python 中的作用是根据 DataFrame 的某一索引级别进行分组&#xff0c;并计算每个分组的总和。具体来说&#xff1a; df.groupby(...)&#xff1a;这是 pandas 的分组操作&#xff0c;按照指定的规则将 DataFrame 分组。 pd.Grouper(…...

【网络安全 | 漏洞挖掘】绕过电子邮件确认实现预账户接管

未经许可,不得转载。 文章目录 正文漏洞步骤赏金正文 我测试的应用程序有多个子域名: 1、account.example.com:处理用户账户管理。 2、project.example.com:管理用户拥有或被邀请的项目。 3、org.example.com:一个新的子域,用于管理多个项目的组织。 4、collaborator.ex…...

【SpringBoot教程】SpringBoot整合Mybatis - 前后端分离项目 - vue3

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 今天毛毛张将通过一个完整的前后端分离的任务来介绍SpringBoot整合Mybatis过程&#xff01; 文章目录 1.前言1.1 任务描述1.2 SpringBoot整合Mybatis概述1.3 完整项目…...

node.js之---事件驱动编程

详解事件驱动 事件驱动是基于什么实现的 事件驱动和I/O操作的关系 I/O操作和事件循环的关系 详解事件驱动 事件驱动编程&#xff08;Event-driven Programming&#xff09;是一种编程范式&#xff0c;其中程序的控制流是由“事件”驱动的。事件通常指的是用户操作、网络请…...

RK3588+FPGA全国产异步LED显示屏控制卡/屏幕拼接解决方案

RK3588FPGA核心板采用Rockchip RK3588新一代旗舰 级八核64位处理器&#xff0c;支持8K视频编解码&#xff0c;多屏4K输出&#xff0c;可实现12屏联屏拼接、同显、异显&#xff0c;适配多种操作系统&#xff0c;广泛适用于展览展示、广告内容投放、新零售、商超等领域实现各种媒…...

Postman测试big-event

报错500。看弹幕&#xff0c;知道可能是yml或sql有问题。 所以检查idea工作台&#xff0c; 直接找UserMapper检查&#xff0c;发现完全OK。 顺着这个error发现可能是sql有问题。因为提示是sql问题&#xff0c;而且是有now()的那个sql。 之后通过给的课件&#xff0c;复制课件…...

38. 考古学家

题目描述 有一个考古学家发现一个石碑&#xff0c;但是很可惜&#xff0c;发现时其已经断成多段&#xff0c;原地发现n个断口整齐的石碑碎片。为了破解石碑内容&#xff0c;考古学家希望有程序能帮忙计算复原后的石碑文字组合数&#xff0c;你能帮忙吗&#xff1f; 输入描述 第…...

商用车自动驾驶,迎来大规模量产「临界点」?

商用车自动驾驶&#xff0c;正迎来新的行业拐点。 今年初&#xff0c;交通部公开发布AEB系统运营车辆标配征求意见稿&#xff0c;首次将法规限制条件全面放开&#xff0c;有望推动商用车AEB全面标配&#xff0c;为开放场景的商用车智能驾驶市场加了一把火。 另外&#xff0c;…...

中建海龙:科技助力福城南产业片区绿色建筑发展

在快速发展的城市化进程中&#xff0c;绿色建筑以其环保、节能、可持续的特点日益受到重视。作为建筑工业化领域的领军企业&#xff0c;中建海龙科技有限公司&#xff08;简称“中建海龙”&#xff09;凭借其卓越的科技实力和创新举措&#xff0c;在推动绿色建筑发展方面做出了…...

selenium-side-runner + edge快速使用

安装和配置 Node.js 与 Selenium-Side-Runner 1. 安装 Node.js 为了使用 selenium-side-runner,首先需要在你的系统上安装 Node.js。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,它允许开发者编写服务器端代码。 通过 Winget 安装 Node.js(适用于 Windows 10/…...

ARM发布Armv9.5架构:迈向更强性能与灵活性的新时代

2024年11月30日&#xff0c;ARM正式发布了其最新的Armv9.5架构&#xff0c;这是Arm技术发展的又一重要里程碑。从表中信息来看&#xff0c;Armv9.5架构的发布标志着该公司的架构系列在性能、灵活性和可扩展性方面取得了进一步突破。本次发布不仅是技术上的提升&#xff0c;更是…...

Pytorch的自动求导模块

文章目录 torch.autograd.backward()基本用法非标量张量的反向传播保留计算图指定输入张量高阶梯度计算 与 y.backward() 的区别torch.autograd.grad()基本用法非标量张量的梯度高阶梯度计算多输入、多输出的梯度计算未使用的输入张量保留计算图 与 backward() 的区别 torch.au…...

【React】- 跨域PDF预览、下载(改文件名)、打印

我们经常会碰到跨域来方位PDF&#xff0c;同时需要下载、打印的需求&#xff0c;通常由于浏览器的安全策略&#xff0c;可以预览&#xff0c;但是下载和打印可能会受限&#xff0c;这时候怎么办呢&#xff1f; 1.创建一个隐藏的标签 要下载 iframe 中的 PDF 文件&#xff0c;…...

HuggingFace 模型文件详解:如何加载本地模型?

HuggingFace 模型文件详解 在使用 HuggingFace 下载大型语言模型&#xff08;如 LLaMA-3-1-8B&#xff09;后&#xff0c;会发现模型目录下包含多个文件和文件夹。本文将详细介绍这些文件的作用以及它们在模型加载和推理过程中的功能。 文件结构总览 models--meta-llama--Lla…...

Boost之buffer

目录 一、定义和介绍 二、示例 1、点 单点 多点 2、线 3、面 单面 多面 三、总结 四、测试代码 一、定义和介绍 buffer函数是boost库(algorithms)算法模块中的构建缓冲区函数。 其函数原型为(此处为带策略型): template<typename GeometryIn, typename MultiPolygon, typen…...

[redux] ts声明useSelector和useDispatch

先安装 安装 | Redux 中文官网 npm install react-redux npm install reduxjs/toolkit 定义一个切片 import { createSlice } from reduxjs/toolkit;const userSlice createSlice({name: user,initialState: {name: lsm,age: 24,},reducers: {}, }); //注意这里写导出redu…...

计算机网络 (19)扩展的以太网

前言 以太网&#xff08;Ethernet&#xff09;是一种局域网&#xff08;LAN&#xff09;技术&#xff0c;它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网技术不断演进&#xff0c;从最初的10Mbps到如今的10Gbps、25Gbps、40Gbps、100Gbps等&#xff0c;已成…...

Ubuntu 23.10 换源

查看当前Ubuntu系统的版本 使用命令&#xff1a; lsb_release -a 中科大源&#xff1a; deb https://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ mantic main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ man…...

如何在 Ubuntu 22.04 上优化 Apache 以应对高流量网站教程

简介 在本教程中&#xff0c;我们将学习如何优化 Apache 以应对高流量网站。 当运行高流量网站时&#xff0c;确保你的 Apache Web 服务器得到优化对于有效处理负载至关重要。在本指南中&#xff0c;我们将介绍配置 Apache 以提高性能和可扩展性的基本技巧。 为高流量网站优…...

Android 性能优化:内存优化(实践篇)

1. 前言 前一篇文章Android性能优化&#xff1a;内存优化 &#xff08;思路篇&#xff09; 大概梳理了Android 内存原理和优化的必要性及应该如何优化&#xff0c;输出了一套短期和长期内存优化治理的SOP方案。 那么这一篇文章就总结下我最近在做内存优化如何实践的&#xff0…...

开源数据集成平台白皮书重磅发布《Apache SeaTunnel 2024用户案例合集》!

2025年新年临近&#xff0c;Apache SeaTunnel 社区用户案例精选&#x1f4d8;也跟大家见面啦&#xff01;在过去的时间里&#xff0c;SeaTunnel 社区持续成长&#xff0c;吸引了众多开发者的关注与支持。 为了致谢一路同行的伙伴&#xff0c;也为了激励更多人加入技术共创&…...

用python编写一个放烟花的小程序

import pygame import random # 代码解释及使用说明&#xff1a; # 首先&#xff0c;导入 pygame 和 random 库。pygame 用于创建游戏窗口和图形绘制&#xff0c;random 用于生成随机数。 # 初始化 pygame&#xff0c;并设置屏幕尺寸为 800x600 像素&#xff0c;设置窗口标题为…...

以一个实际例子来学习Linux驱动程序开发之“设备类”的相关知识【利用设备类实现对同一设备类下的多个LED灯实现点亮或关闭】

前言 对于一个设备的驱动程序来说&#xff0c;其实上层用户主要看到的、用到的就是设备文件和设备类&#xff0c;当然用得最多的是设备文件&#xff0c;虽然设备类用得不多&#xff0c;但也是每一个设备注册实例化时必须要用到的东西&#xff0c;本篇博文就以一个简单的例子说…...