FPGA自学——存储器模型

文章目录

  • FPGA自学——存储器模型
    • 一、IP核
    • 二、ROM(read only memory)
    • 三、ROM的IP核调用
    • 四、RAM(random access memory)
    • 五、RAM的IP核调用
  • 总结
    • 1.不同波形的使用的存储器
    • 2.块与分布式的选择
    • 3.FPGA与模块的容量资源计算
    • 4.控制写入的ena和wea的区别
    • 5.下载手册资源的方式

一、IP核

一)概念:是指芯片中具有独立功能的电路模块的成熟设计

二)常见IP核:

1.逻辑运算:与、或、非、异或等基本逻辑运算单元和复用器、循环位移器、三态缓存器和解码器等相对复杂的逻辑运算模块

2.数学运算:分为整数运算和浮点运算

整数运算:加法器、减法器、乘法器、除法器、比较器、计数器和绝对值计算器

浮点运算:浮点数加法器、浮点数减法器、浮点数乘法器、浮点数除法器、浮点数平方根计算器、浮点数指数计算器

3.存储器IP:移位寄存器、触发器、锁存器的简单的存储器IP核和较为复杂ROM、RAM、FIFO和Flash存储器等模块

4.输入/输出IP核:时钟控制器、锁相环(PLL),低电压差分信号(LVDS)、收发器、双数据速率(DDR)I/O、访问外部存储器的DQ-DQS I/O,I/O缓存器

5.数字信号处理IP核:有限冲激响应滤波(FIR)编译器,级联积分梳状(CIC)滤波器编译器、数控振荡器(NCO)编译器以及快速傅里叶交换(FFT)等IP核,用于数字信号系统设计

6.数字通信IP核:RS码编通器、循环冗余校验(CRC)编译器、8B/10B编/译码器、SONET/SDH物理层IP核

7.图像处理IP核:2D FIR滤波器、2D中值滤波器、α混合器、视频监视器、色度重采样器、图像裁剪器、视频输入和输出模块、测试模板生成器、视频跟踪系统模块

8.芯片接口IP核:数字视频广播(DVB)的异步串行接口(AS1)、10/100/1000Mbps以太网接口、DDR和DDR2 SDRAM控制器、存储器物理层访问接口、PCI/PCI Expresso编译器、Rapidlo和用于数字电视信号传输的串行数字接口(SDI)

9.设计调试IP核:ILA逻辑分析仪、串行和并行Flash加载器、系统内的源和探测模块、虚拟JTAG

10.其他

三)应用示例

情况1: 某芯片,有500个寄存器,需要在上电的时候由FPGA向这些寄存器中写入初始值,初始值通过相应的文档给出来了具体值,这些值都是已知的

特点: 数据量较多; 数值已知固定;上电工作(一次);只需要读取

功能选用: ROM:只读存储器

情况2: 信号源(ADC)以1微妙一个的速率产生12位的数据现要求获得连续1毫秒内的数据,通过串口以115200的波特率发送到电脑

特点: 数据量1000(总数有限); 数据内容未知;数据的使用速度低于数据的产生速度(速率不匹配);需要重复利用(位宽不同)

速度计算: 串口——以两次六位的方式进行传输,每次传输的bit数((起始位+停止位)+6)bit = 8bit

​ 每个bit传输的时间为1000_000_000ns/115200 ≈ 8680ns ,一组数据传输8680ns*8 = 69440ns = 69.4微妙

​ 数据源——1微妙产生两组数据,一组数据的产生 = 0.5微妙

存在问题: 数据生产(12)和消耗(6)的位宽不同——需要重复利用

功能选用: RAM:可读可写

二、ROM(read only memory)

定义:只读存储器

特点:非易失性,断电后数据不会丢失

应用:嵌入电脑主板或者做移动存储介质,体积够小,提供的容量可以比光盘核软盘的大,速度也不慢

延展:

EPROMErasable Program ROM (可擦除编程ROM)紫外线光擦除
EEPROMElectric Erasable Program ROM (电可擦除编程ROM)一次擦除一个字节
FLASH按块擦除

三、ROM的IP核调用

1.新建一个rom_test的工程文件

2.选择对应的IP核,选择块存储器生存器

在这里插入图片描述

3.配置相关参数
在这里插入图片描述
在这里插入图片描述

4.生成并加载rom的初始化文件

在【原创】Mif精灵/mif(coe)文件生成器 - 芯路恒资料与技术支持专区 - 芯路恒电子技术论坛 - Powered by Discuz!下载Mif_Make_V2.4_exe.zip文件,并压缩打开使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5.查看总结

在这里插入图片描述

6.生成

在这里插入图片描述

7.查看IP核相关的代码

找到例化代码

在这里插入图片描述

8.编写测试文件

在这里插入图片描述

`timescale 1ns / 1psmodule rom_tb();reg clka;reg [9:0] addra;wire [9:0] douta;rom rom_inst0 (.clka(clka),    // input wire clka.addra(addra),  // input wire [9 : 0] addra.douta(douta)  // output wire [9 : 0] douta
);//产生时钟,以50MHz为准initial clka = 1;always #10 clka = ~clka;//也可以写为clka = !clka;initial beginaddra = 100;#201;repeat(30000) begin //repeat循环addra = addra + 1'b1;#20;end#2000;$stop;end
endmodule

9.查看波形

数字波形,修改为十进制进行查看

在这里插入图片描述

模拟波形

在这里插入图片描述

四、RAM(random access memory)

一)介绍

定义:随机存储器,它可以随时把数据写入到任何一指定地址的存储单元,也可以随时从任一指定地址读出数据,其读写速度由时钟频率决定,主要用来存放程序以及程序执行过程中产生的数据,运算结果等

种类:

在这里插入图片描述

五、RAM的IP核调用

1.创建一个ram_test的项目工程文件

2.选用block ram的IP核

3.设计数据流向模块图

在这里插入图片描述

4.根据数据流向模块图选择配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.点击生成即可

三)仿真测试

1.跟上面rom的步骤基本一致

2.仿真代码实现

`timescale 1ns / 1nsmodule ram_tb();reg          clka     ;
reg          ena      ;
reg          wea      ;
reg [15 : 0] addra    ;
reg [15 : 0] dina     ;
reg          clkb     ;
reg          enb      ;
reg [15 : 0] addrb    ;
wire [15 : 0] doutb    ;ram ram_inst0 (.clka     (clka),    // input wire clka.ena      (ena),      // input wire ena.wea      (wea),      // input wire [0 : 0] wea.addra    (addra),  // input wire [15 : 0] addra.dina     (dina),    // input wire [15 : 0] dina.clkb     (clkb),    // input wire clkb.enb      (enb),      // input wire enb.addrb    (addrb),  // input wire [15 : 0] addrb.doutb    (doutb)  // output wire [15 : 0] doutb
);initial clka = 1;
always #10 clka = ~clka;
initial clkb = 1;
always #15 clkb = ~clkb;initial begin//初始化ena   = 0 ;wea   = 0 ;addra = 0 ;dina  = 0 ;enb   = 0 ;addrb = 0 ;//写入#201repeat(65536) beginena = 1;wea = 1;#20;addra = addra + 1'b1;dina = dina + 1'b1;endena = 0;wea = 0;#2000;//读出addrb = 65536;#300repeat (65535) beginenb = 1;#30 addrb = addrb - 1'b1;end#2000$stop;
endendmodule

3.仿真结果

在这里插入图片描述

总结

1.不同波形的使用的存储器

在这里插入图片描述

2.块与分布式的选择

区别distributed(分布式)block(块式)
资源LUT(查找表——本质是很小的ram)Block Memory(嵌入式的硬件RAM)
调用方式需要多少拿多少成块拿取
用户需求需求小,选用分布式需求大,选用块式

3.FPGA与模块的容量资源计算

以TFT屏幕为例:

**计算FPGA的最大容量:**RGB565 -> 需要16位宽 -> 选取的配置为16K×2 -> xc7z015-2(blocl ram有95)-> 计算最大容量:16K×95 = 190K

**TFT模块:**RGB565 -> 需要16位宽 -> 屏幕大小800×480 =384K -> 需要容量 = 384K × 16 =

**资源不足时解决方法:**选择部分屏幕进行显示

4.控制写入的ena和wea的区别

区别enawea
名称Enable的缩写Write Enable A的缩写
作用控制RAM块是否激活或工作控制数据是否写入到指定地址的RAM中

wea使用时要注意位宽给限定字节大小的整数倍,wea的位宽位数就是倍数

在这里插入图片描述

手册wea的使用案例
在这里插入图片描述

5.下载手册资源的方式

1.使用vivado自带功能进行下载

在这里插入图片描述

2.查看文件

在这里插入图片描述

3.如果无法成功下载,或下载后的文件打不开,使用自动打开的官网入口

在这里插入图片描述

4.根据关键字进行搜索

在这里插入图片描述

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

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

相关文章

【C++】stack和queue拓展学习

目录 1.反向迭代器思路及实现 1.1. 源码及框架分析 1.2. 实现反向迭代器 2.stack和queue练习拓展-计算器实现 2.1. 后缀表达式概念 2.2. 后缀表达式运算规则 2.3. 中缀表达式转后缀表达式 2.3.1 转换思路 2.3.2 代码实现 2.4. 计算器实现 1.反向迭代器思路及实现 1.1…

Web3与区块链如何革新网络安全——走在前沿

随着互联网技术的飞速发展,网络安全问题日益成为全球关注的焦点。Web3和区块链技术作为新兴的技术力量,正在逐步改变网络安全的格局。本文将探讨Web3和区块链技术如何革新网络安全,走在技术前沿。 1. Web3技术概述 Web3,即第三代互…

网络初级安全第三次作业

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>用户登录</title><style>* {margin:…

CSS中用display实现元素的显示/隐藏切换

** 通过display中的none和block ** 在前端开发中&#xff0c;display: none 和 display: block 是两种常用的 CSS 显示模式&#xff0c;核心区别在于&#xff1a;是否在页面中保留元素的占位空间 1. 核心区别属性display: nonedisplay: block占位空间元素完全从渲染树中移除&am…

因果图方法设计测试用例的价值与使用范围

一、因果图方法的核心原理 因果图方法通过分析软件规格说明中的输入条件&#xff08;因&#xff09;和输出结果&#xff08;果&#xff09;之间的逻辑关系&#xff0c;利用图形化方式将这些关系清晰展现。它使用特定的符号表示因果关系&#xff08;如恒等、非、或、与&#xff…

智慧农服数字化平台-数字科技赋能农业,开启智慧三农新篇章

智慧农服数字化平台数字科技赋能农业&#xff0c;开启智慧三农新篇章平台概览在乡村振兴和农业现代化的时代背景下&#xff0c;我们推出了创新的农业服务数字化平台——一个专为农业生产者打造的综合性SaaS服务平台。平台以"科技助农、数据兴农"为使命&#xff0c;通…

在线教育培训课程视频如何防下载、防盗录?

在数字化学习日益普及的今天&#xff0c;高质量的在线课程已成为教育机构、知识付费平台和讲师的核心竞争力。如何在不影响学员正常学习体验的前提下&#xff0c;有效防止课程视频被恶意盗取&#xff1f;今天介绍在线教育课程防下载、防盗录的10种视频加密方法&#xff0c;看看…

图像分析学习笔记(2):图像处理基础

图像分析学习笔记&#xff1a;图像处理基础图像增强方法图像复原方法图像分割方法形态学处理图像增强方法 目的&#xff1a;改善视觉效果&#xff0c;例如增强对比度定义&#xff1a;为了改善视觉效果、便于人或计算机对图像的分析理解&#xff0c;针对图像的特点或存在的问题…

生存分析机器学习问题

研究目标&#xff1a; 开发一个机器学习模型&#xff0c;用于个性化预测XXX的总体生存期。 模型输入&#xff1a;结合生存时间、治疗方案、人口统计学特征和实验室测试结果等多种特征。 模型输出&#xff1a;预测二元结果&#xff08;活着 vs. 死亡&#xff09;。 应用场景&…

【华为机试】547. 省份数量

文章目录547. 省份数量描述示例 1示例 2提示解题思路核心分析问题转化算法选择策略1. 深度优先搜索 (DFS)2. 广度优先搜索 (BFS)3. 并查集 (Union-Find)算法实现详解方法一&#xff1a;深度优先搜索 (DFS)方法二&#xff1a;广度优先搜索 (BFS)方法三&#xff1a;并查集 (Union…

09_Spring Boot 整合 Freemarker 模板引擎的坑

09_Spring Boot 整合 Freemarker 模板引擎的坑 1.背景&#xff1a; springboot 版本&#xff1a;3.0.2 2. 引入依赖 在 pom.xml 中添加&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web<…

十七、【Linux系统yum仓库管理】替换阿里源、搭建本地yum源

替换阿里源、搭建本地yum源本章学习目标内容简介阿里外网源核心功能本地yum核心功能操作演示替换阿里外网源备份原有yum源清理冲突配置下载阿里源配置文件添加EPEL扩展源清理缓存重建索引验证源状态测试安装软件使用镜像搭建本地仓库准备ISO镜像创建挂载点目录挂载iso文件验证挂…

家庭网络怎么进行公网IP获取,及内网端口映射外网访问配置,附无公网IP提供互联网连接方案

在家庭网络中&#xff0c;我们常常需要通过公网IP来访问内网中的设备&#xff0c;比如家庭NAS、Web服务器或监控摄像头。要实现这个目标&#xff0c;首先要确保你的网络具有一个可用的公网IP&#xff0c;然后通过路由器配置端口映射&#xff08;Port Forwarding&#xff09;。如…

(LeetCode 面试经典 150 题 ) 128. 最长连续序列 (哈希表)

题目&#xff1a;128. 最长连续序列 思路&#xff1a;哈希表&#xff0c;时间复杂度0(n)。 用集合set来实现哈希表的功能&#xff0c;记录所有出现的元素。然后遍历元素&#xff0c;细节看注释。 C版本&#xff1a; class Solution { public:int longestConsecutive(vector&…

Altera Quartus:BAT批处理实现一键sof文件转换为jic文件

sof文件是Quartus编译默认生成的程序文件&#xff0c;用于通过JTAG口下载到FPGA内部RAM&#xff0c;断电程序会丢失&#xff0c;jic文件是用于固化到外部Flash中的程序文件&#xff0c;断电程序不会丢失。本文介绍如何通过批处理文件实现sof到jic的一键自动化转换。 Quartus工程…

基于单片机婴儿床/婴儿摇篮/婴儿车设计/婴儿监护系统

传送门 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目速选一览表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目功能速览 概述 本设计实现了一种基于单片机的多功能智能婴儿监护系统&#xff0c;集成于婴儿床、摇篮或婴儿车中…

Typora + 七牛云图床终极配置教程

本文是一份超详细的 Typora 七牛云图床配置指南&#xff0c;旨在帮助你实现图片“即插即用”的顺滑写作体验。我们将一步步完成所有配置&#xff0c;并特别针对配置过程中最常见的三个错误&#xff1a;ENOTFOUND (找不到服务器)、401 (无权访问) 和 Document not found (文件不…

高性能熔断限流实现:Spring Cloud Gateway 在电商系统的实战优化

一、为什么需要高性能熔断限流&#xff1f; 在电商系统中&#xff0c;尤其是大促期间&#xff0c;系统面临的流量可能是平时的数十倍甚至上百倍。 这样的场景下&#xff0c;熔断限流不再是可选功能&#xff0c;而是保障系统稳定的生命线。传统方案的问题&#xff1a; 限流精度不…

计算机网络1.1:计算机网络在信息时代的作用

计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施。计算机网络已经像水、电、煤气这些基础设施一样&#xff0c;成为我们生活中不可或缺的一部分。

Component cannot be used as a JSX component

今天在使用 React Ts&#xff0c;使用 react-icons 这个库的时候&#xff0c;遇到了这个问题&#xff1a;原因用一句话概括就是 Ts 的版本太低了&#xff01; 我的 package.json&#xff1a; {"name": "frontend","version": "0.1.0"…