FPGA之RAM详解,真双口RAM的使用

article/2025/9/28 23:10:27

真双口RAM IP练习

        真双口RAM可以说是灵活性最大的RAM IP核,因为它赋予了用户最大的设计空间,两个可以独立读写地址空间的端口,充分释放了FPGA程序设计上的可能。 但是实际上真双口RAM在工程项目中还是和单双口RAM一样使用频率比较低的,因为其太过灵活自由了,就导致了用户在设计程序的过程中,比较难以驾驭,最大的苦恼即来自于两个独立读写端口的不可避免的读写冲突,当然也有一些FPGA工程师单独做了一个相对复杂的读写状态机,在程序设计上可以规避读写冲突,但是笔者也和大部分朋友们一样,比较青睐于简单的设计方式,在大部分情况下简单的就是最好的,在保证设计效果的同时,兼顾代码的易读性和实用性可能是一名优秀的FPGA工程师必备技能。

       这里也设计一个简单的模块用以测试真双口RAM的各个输入信号接口的功能,本模块包含读写位宽均为8位,读写深度是256的真双口RAM,先通过端口A对0-31地址写入数据0-31,然后读0-31地址的数据,再通过端口B再对0-31地址写入数据32-63,然后读0-31地址的数据,如表1真双口RAM IP练习设计中的信号列表,如图1至图3,是对真双口RAM IP核的内存类型、端口AB的初始化配置。

      因为在IP核初始化时候选择的是写优先模式,所以当端口通过ram_din信号写入RAM的同时,ram_dout也会输出同样的写入数据,本模块的功能相对简单些,所以在这里笔者用了flag_sel信号量指示各个状态,而不再使用状态机去实现,简化了代码逻辑,当本模块收到了上游模块发来的ram_en使能信号,flag_sel由0置为1;接着当端口A完成了写入0-31地址的数据,且读完0-31的数据后,flag_sel由1置为2;最后当端口B完成了写入0-31地址的数据,且读完0-31的数据后,flag_sel由2置为0,完成整个对真双口RAM的模拟测试,整个代码设计不难理解,如图4是真双口RAM IP练习的代码设计。

信号列表

信号名

I/O

位宽

clk

I

1

rst_n

I

1

ram_en

I

1

ram_addra

O

8

ram_wea

O

1

ram_dina

O

8

ram_douta

O

8

ram_addrb

O

8

ram_web

O

1

ram_dinb

O

8

ram_doutb

O

8

表1 真双口RAM IP练习设计中的信号列表

    如图5真双口RAM IP核练习的输入信号激励设计,这里和单口RAM IP练习一样,只需要Testbench里给出模拟的ram_en使能信号即可。如图6所示是真双口RAM IP核练习的仿真结果,大家代入Modelsim后可以清楚地观察到,真双口RAM的两个端口均可以独立控制读写地址中的数据。

图1 真双口RAM IP核的内存类型配置

图2  真双口RAM IP核的端口A配置

图3 真双口RAM IP核的端口B配置

图4 真双口RAM IP练习的代码设计

图5 真双口RAM IP核练习的输入信号激励设计

图6 真双口RAM IP核练习的仿真结果


http://chatgpt.dhexx.cn/article/ycoNac8A.shtml

相关文章

双口ram

双口ram的功能实在很妙,能把二个除理器合二为一,强强联合,发挥更强的功能。如小时候看过的动画片,当打不过怪物时,动画的主角总会合体,增加战斗力,把怪物打败。又口ram提供了处理器“合体”的方…

数字IC笔面基础,项目常用IP——双口RAM(简介及Verilog实现)

双口RAM简介及Verilog实现 写在前面的话双口RAM简介伪双口RAM框图:(Xilinx FPGA)真双口RAM框图:(Xilinx FPGA)RAM读写时序图伪双口RAM读写实列 简单的双口RAM的Verilog实现总结 写在前面的话 RAM&#xff…

双口RAM及Vivado RAM IP核的使用

目录 1.双口RAM概述 2.Vivado 双口RAM IP核 2.1 Block Memory Generator概述 2.2 真双口RAM的设置 2.2.1 Basic设置 2.2.2 Port设置 3.双口RAM例程 4.仿真 4.后记 5.参考文献 1.双口RAM概述 双口RAM(dual port RAM)在异构系统中应用广泛&…

网络原理(一):初识网络

网络发展史 独立模式 独立模式:计算机之间相互独立; 在计算机最初的时候,每个计算机都是独立存在的。 我们拿游戏来举例,但是的计算机只能玩玩单机游戏,游戏通过了就没意思了。 随着时代的发展,来到了…

网络原理(小结)

网络原理 前言网络七层/五层模型OSI七层网络模型TCP/IP 五层网络模型封装和分用 TCP/IP五层网络模型各层代表协议的详解应用层常见状态码HTTP常见Header头ServletSession和CookieHTTP协议的特点HTTPSHTTP与HTTPS的区别 传输层网络传输的五元组端口号UDP协议TCP协议TCP如何保证数…

网络原理 | 网络初识之网络基础概念学习

目录 局域网与广域网 网络通信基础 IP地址 端口号 网络协议 五元组 局域网与广域网 根据网络互联的规模,可以将网络划分为局域网(LAN)和广域网(WAN). 网络互连即将多台计算机连接在一起,完成数据共享,数据共享的本质是网络数据传输&…

网络的基本原理

文章目录 一、计算机网络背景二、局域网和广域网1.局域网(LAN)2.广域网(WAN) 三、认识协议1.协议的概念2.协议分层3.网络OSI七层模型4.TCP/IP五层模型5.数据的封装和解包 四、局域网内主机交互与跨网段主机交互 一、计算机网络背景 我们用计算机完成一项工作时,不可…

网络:网络协议基本原理

引入 进程间通信,其实是通过内核的数据结构完成的,主要用于在一台linux上两个进程之间的通信。但是,一旦超出一台机器的范畴,我们就需要一种跨进程的通信机制。一台机器将自己想要表达的内容,按照某种约定好的格式发送…

网络原理(初识)

网络原理(网络初识) 1、局域网LAN(Local Area Network) (1)Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网;局…

网络原理(IP协议)

目录 IP协议IP地址IP 地址由网络和主机两部分标识组成IP 地址的分类广播地址IP多播子网掩码 路由IP 地址与路由控制 IP 分包与组包什么是IP分片为什么要进行IP分片IP分片是如何组装的路径 MTU 发现 IP协议 IP(IPv4、IPv6)相当于 OSI 参考模型中的第3层—…

网络原理——网络协议

目录 传输层协议TCP协议TCP协议格式段TCP原理连接管理可靠传输流量控制拥塞控制延迟应答和捎带应答错误检测TCP异常 UDP协议UDP协议格式段UDP协议特点无连接不可靠面向数据报大小受限 网络层协议IP协议 数据链路层协议​以太网MTUARP协议 传输层协议 ​ 传输层负责数据能够从发…

网络原理 2

文章目录 1. 网络层2. 数据链路层3. DNS 前言 : 上文已经 将 网络层 和 传输层 说完了, 下面我们来学习以下 网络层 和 数据链路层 里 相关的知识 , 关于 网络层 和 数据链路层 的知识 简单了解一下即可 . 1. 网络层 网络层 主要 做两件事 : 1.地址管…

计算机网络原理最详细解说

一、计算机网络概述 时代不同了,大家现在生活都好了,家家户户基本都有电脑,而且我们都习惯了使用电脑办公,打打游戏,聊聊天等等。 那我们一起来想一个场景:如果没有了网络,我们是不是就不能使…

[网络原理] 网络中的基本概念

人生,本就是苦乐参半,这样的生活才是丰富多彩. 文章目录 前言1. IP地址2. 端口号3. 协议4. 五元组5. 协议分层6. OSI七层模型7. TCP/IP协议8. 封装和分用9. 客户端与服务端10. 请求与响应 前言 本章开始,我们开启网络部分的知识大门. 1. IP地址 1.定义: IP地址主要用于表示网…

网络原理-网络发展史和通信基础

目录 1.网络发展史 面向终端的计算机网络 计算机网络阶段(局域网LAN) 组网方式 计算机网络互联阶段(广域网WAN) 2.通信基础 IP地址 端口号 网络协议 协议的作用 知名协议的默认端口 协议分层 分层的作用 OSI七层模型 TCP/IP五层模型 网络设备所在分层 网络分层…

【Linux】网络原理

本篇博客让我们一起来了解一下网络的基本原理 1.网络发展背景 关于网络发展的历史背景这种东西就不多bb了,网上很容易就能找到参考资料,我的专业性欠缺,文章参考意义也不大。这里只做简单说明。 网络发展经过了如下几个模式 独立模式&…

计算机网络 ——网络原理之初识

✨计算机网络 ——初识网络原理 作者介绍: 🎓作者:偷偷敲代码的青花瓷🐱‍🚀 👀作者的Gitee:代码仓库 ✨✨我和大家一样都是热爱编程✨,很高兴能在此和大家分享知识,希望在分享知识的同时,能和大家一起共同进步,取得好成绩&#x…

计算机网络原理简介

物理层 电脑要联网,需要做什么,电脑需要电, 然后电脑与电脑之间相连,需要网,可以用光纤,双绞线,同轴电缆,无线波等 把电脑连接起来的物理手段,主要规定了网络的一些电气特性,作用是负责传送0和1的电信号.而机械特性,及时如何去与硬件相连了,比如说插座的尺寸 数据链路层 物…

快速了解网络原理

作者:~小明学编程 文章专栏:JavaEE 格言:热爱编程的,终将被编程所厚爱。 目录 局域网和广域网 局域网 局域网组建的方式 广域网 网络通信基础 IP地址 端口号 协议 什么是协议 协议分层 分层模型 OSI七层模型 TCP/IP…

网络原理 (1)

网络原理 文章目录 1. 前言: 2. 应用层2.1 XML2.2 json2.3 protobuffer 3. 传输层3.1 UDP3.1 TCP4. TCP 内部的工作机制 (重点)1. 确认应答 2.超时重传3. 连接管理3.1 建立联系 :三次握手3.2 断开连接 : 四次挥手 4. 滑动窗口5. 流…