0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

xilinx仿真实验:IP核之RAM的配置

454398 来源:CSDN博主 作者:ciscomonkey 2020-11-21 09:57 次阅读

背景

RAMROM也是类似的,由于这也是常用的IP核,所有完全有必要在这里记录一下,以后用到了实际后,再补充到实际工程中。随机存储器(RAM),它可以随时从任一指定地址读出数据,也可以随时把数据写入任何指定的存储单元,且读写的速度与存储单元在存储芯片的位置无关。RAM主要用来存放程序及程序执行过程中产生的中间数据、运算结果等。RAM按照存储单元的工作原理可以分为静态RAM和动态RAM,也就是常说的SRAM和DRAM

SRAM速度非常快,是目前读写最快的存储设备,比如CPU的一级缓冲,二级缓冲。而计算机内存就是DRAM,比SRAM便宜。这里要说明的是,DRAM与SRAM相比较速度慢,但是它与ROM相比较速度还是很快的。

RAM IP核同ROM IP核一样,xilinx也提供了两种:一种是单端口的RAM IP,另一种是双端口的RAM IP。

IP核之RAM的配置







在这个页面中,有3个可供修改的标签“option output resisters”(可选输出寄存器)的“portA”(端口A)、“memory Initialization”(存储器初始化)和“File Remaining Memory Locations”(填补剩余的内存位置)。

在“port A”(端口A)栏有两个可修改项:
“register port A output of memory primitives”:表示源于的输出端口A处增加寄存器级。
“Register port A output of memory core”:表示在IP核的输出端口A处增加寄存器级。
在“memory Initialization”(存储器初始化)栏中,我们可以载入coe文件对ROM IP核进行初始化。在“Fiie Remaining Memory Locations”(填补剩余的内存位置)栏中,我们可以将剩余内存填充上我们指定的数值。


在这个页面中,有2个可供修改的标签,“power estimate options”(功耗估计选项)的“output reset options”(输出复位选项)的“port A”(端口A)可以选择是否添加一个“RSTA”引脚。“output reset valure(Hex)”设置复位输出值(十六进制)。


创建好了RAM 后,进行例化。

代码:

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date:    09:44:24 05/23/2019 
// Design Name: 
// Module Name:    RAM_top 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//下述功能描述了写入一个地址为0~511的地址,从512~1023 不写入数据
//////////////////////////////////////////////////////////////////////////////////
module RAM_top(
input clk,
input rst,
output reg ram_en,   //RAM IP核的使能信号
output reg wren,		//RAM IP核的写使能信号
                		//RAM IP核的地址信号
output reg [7 : 0] wrdata,		//RAM IP核的写数据信号
output  [7 : 0] rddata		//RAM IP核的读数据信号
		//用来产生地址和数据的计数器
);
reg [8 : 0] addr=0;
reg [7 : 0] time_cnt=0;

always @ (posedge clk or negedge rst)
begin
	if(!rst)
	  time_cnt<=0;
	else if(time_cnt=='d1023)
	  time_cnt<=1'd0;
	else 
	  time_cnt<=time_cnt+1;
end


//用来产生RAM IP核的写使能信号
always @ (posedge clk or negedge rst)
begin
	if(!rst)
	wren<=0;
	else if (time_cnt

下面来说一下该代码主要实现了什么功能,该代码主要实现了先往RAM IP核中的0 ~ 511地址写入0 ~511 数据,每个地址对应一个数据,比如0地址对应0数据,1地址对应1数据,以此类推。写完了512个数据之后,读数据时,我们需要将写使能拉低,而ram_en信号在操作RAM的过程中需要一直拉高。(虽然在这里,我们没有设置ranm_en)。再写完512个数据后,然后进行读数据,此时,输入一个地址,读取一个对应地址的数据,此时将wren保持为低,这样就没法写入数据,只能读取数据了。给一个地址,读取一个对应地址的数据。

仿真

采用modelsim SE 10.4 进行仿真,一看上去波形正确。

我们放大来看看,也可以看到,在地址为0,读取数据为0,然后地址为1,读取数据为1.以此类推。

note:仿真失败的,要注意添加ISE的库到modelsim中,或者编译库文件,再调用modelsim。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DRAM
    +关注

    关注

    40

    文章

    2126

    浏览量

    181819
  • sram
    +关注

    关注

    6

    文章

    732

    浏览量

    113795
  • RAM
    RAM
    +关注

    关注

    7

    文章

    1306

    浏览量

    113643
  • Xilinx
    +关注

    关注

    70

    文章

    2110

    浏览量

    119194
  • 波形
    +关注

    关注

    3

    文章

    337

    浏览量

    31233
收藏 人收藏

    评论

    相关推荐

    DSP软件 MATLAB仿真实验报告

    电子发烧友网站提供《DSP软件 MATLAB仿真实验报告.pdf》资料免费下载
    发表于 03-24 09:49 0次下载

    电力电子实时仿真实验室,助力高等教育信息化建设

    电力电子实时仿真实验室随着数字技术的飞速发展,传统实验室的资源受限和效率低下已经不能满足科研和工程实践的需求。同时,一些领域的研究和实验具有高风险、高代价或不可逆性,不适宜在真实环境中
    的头像 发表于 12-27 08:22 419次阅读
    电力电子实时<b class='flag-5'>仿真实验</b>室,助力高等教育信息化建设

    Nginx的配置文件如何设置头信息保留真实IP不丢失

    在 Nginx 配置中设置头信息以保留客户端的真实 IP 地址通常是在使用反向代理的场景中需要的。当 Nginx 作为反向代理时,客户端的真实 IP
    的头像 发表于 11-30 10:54 780次阅读

    怎么用ADL5317进行multisim仿真实验

    怎么用ADL5317进行multisim 仿真实验?没找到spice model.
    发表于 11-23 08:10

    FPGA新IP学习的正确打开方式

    的情况时,总会遇到一些以前未曾接触过的新内容,这些新内容会让我们感到陌生和恐惧,不知道该如何下手。 那么今天以xilinx vivado 为例分享学习FPGA 新IP的正确打开方式。 一、常规
    发表于 11-17 11:09

    Xilinx FPGA IP之Block Memory Generator仿真

    上文对BMG ip的基本情况进行了简单的描述,本文通过例化仿真来实际使用功能一下这个IP
    的头像 发表于 11-14 18:24 653次阅读
    <b class='flag-5'>Xilinx</b> FPGA <b class='flag-5'>IP</b>之Block Memory Generator<b class='flag-5'>仿真</b>

    AVR单片机与PC机双向串口通讯的仿真实验

    AVR单片机与PC机双向串口通讯仿真实验
    发表于 09-26 06:23

    XILINX FPGA IP之FIFO Generator例化仿真

    上文XILINX FPGA IP之FIFO对XILINX FIFO Generator IP的特性和内部处理流程进行了简要的说明,本文通过实际例子对该
    的头像 发表于 09-07 18:31 765次阅读
    <b class='flag-5'>XILINX</b> FPGA <b class='flag-5'>IP</b>之FIFO Generator例化<b class='flag-5'>仿真</b>

    XILINX FPGA IP之DDS Compiler_ip例化仿真

    之前的文章对dds ip 的结构、精度、参数、接口进行了详细的说明,本文通过例化仿真对该IP的实际使用进行演示。本文例化固定模式和可配置模式两种模式分别例化
    的头像 发表于 09-07 18:31 810次阅读
    <b class='flag-5'>XILINX</b> FPGA <b class='flag-5'>IP</b>之DDS Compiler_<b class='flag-5'>ip</b>例化<b class='flag-5'>仿真</b>

    基于BJT管的LNA仿真实验与总结

    基于BJT管的LNA仿真实验与总结 由于成本和靠操作性原因,故本次实验基于NXP公司的BFG425W模型进行。 本次实验采用的软件平台为美国Agilent公司提供的射频电路仿真
    发表于 06-30 15:34 0次下载

    Xlinx IP Core实现FFT变换——为什么你的matlab数据无法严格比对?

    一.Xilinx FFT IP介绍 1.总体特性 •FFT IP支持复数的正逆傅里叶变换,可以实时配置变换的长度 •变换的长度N=2 ^
    发表于 06-19 18:34

    高校大学数字孪生教学实验室,数字孪生仿真实验室建设方案

    西安高校大学数字孪生教学实验室,虚拟仿真实训系统中心,数字孪生仿真实验室建设方案。智能制造虚拟仿真实训室依托智能制造实际生产线,对接产业需求,利用VR、数字孪生、人机交互等一系列信息技
    的头像 发表于 05-30 16:18 798次阅读
    高校大学数字孪生教学<b class='flag-5'>实验</b>室,数字孪生<b class='flag-5'>仿真实验</b>室建设方案

    高校大学数字孪生教学实验室,虚拟仿真实训系统中心,数字孪生仿真实验室建设方案

    武汉高校大学数字孪生教学实验室,虚拟仿真实训系统中心,数字孪生仿真实验室建设方案。随着机器人远距离操作、传感器信息处理技术等的进步,基于虚拟现实技术的机器人作业示教已成为机器人学中的新兴研究方向
    的头像 发表于 05-30 16:18 750次阅读
    高校大学数字孪生教学<b class='flag-5'>实验</b>室,虚拟<b class='flag-5'>仿真实</b>训系统中心,数字孪生<b class='flag-5'>仿真实验</b>室建设方案

    高校大学数字孪生教学实验室,虚拟仿真,数字孪生仿真实验室建设方案

    南京高校大学数字孪生教学实验室,虚拟仿真实训系统中心,数字孪生仿真实验室建设方案。智能制造虚拟仿真实训室依托智能制造实际生产线,对接产业需求,利用VR、数字孪生、人机交互等一系列信息技
    的头像 发表于 05-30 16:16 475次阅读
    高校大学数字孪生教学<b class='flag-5'>实验</b>室,虚拟<b class='flag-5'>仿真</b>,数字孪生<b class='flag-5'>仿真实验</b>室建设方案

    IP CORE RAM 设计- ISE 操作工具

    不多说,上货。IP CORE RAM 设计- ISE 操作工具本篇实现基于叁芯智能科技的SANXIN -B02 FPGA开发板,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频
    发表于 04-10 16:43