在我们的项目中使用的是单端口RAM,读优先模式。其相关配置如下图所示。

我们采用OOC的方式对其综合。

查看官方文档,对操作模式的解释如下:

1、 写优先。

及在一个有效的clk上升沿到来时,先将DIN上的数据写入到ADDRA对应的地址中,然后再将ADDRA对应地址中的数据读出。其时序图入下所示。

可以看出,在写使能信号无效时读出的是ADDRA对应地址中原始的数据,在写使能信号有效后,读出的即为在该时钟写入的DIN 的新数据。

2、 读优先。

即在一个有效的clk上升沿到来时,先将ADDRA对应地址中的原始数据读出,然后再将DIN上的数据写入到ADDRA对应的地址中。其时序图入下所示。

从时序图中,我们可以看出,只要使能信号(ENA)有效,输出数据(DOUT)都是地址中的原始数据,先读出原始数据后,再将DIN中的数据写入到对应地址中。

3、 不变模式(No Change Mode)

即在写使能信号有效时,也即在写入数据时,输出端口(DOUT)上的数据不会发生改变。其时序图如下所示。

我们采用OOC的综合方式方式生成IP核,通过打开例子工程,可以对其单独进行仿真。先对该IP核单独仿真的时序图如下所示。

从图中可以看出,在第一条红色线标记的clka上升沿处,数据被写入到地址为000的内存中。在第一条红色线标记的clka上升沿处,数据被写入到地址为00的内存中。而由于采用读优先模式,在第一条红色线标记的clka上升沿处和在第而条红色线标记的clka上升沿处对应地址中还没有被写入数据,故dout端口数据为0.

在第三条红色线标记的clka上升沿处,地址为000的内存已经在第一条红色线标记处被写入数据,故此时dout端口上的数据为第一条红色线标记处写入到000地址的数

Vivadoz中Block Memory Generator v8.3的使用方法(二)相关推荐

  1. Vivado中Block Memory Generator v8.3的使用

    CORE Generator里有很多的IP核,适合用于各方面的设计.一般来说,它包括了:基本模块,通信与网络模块,数字信号处理模块,数字功能设计模块,存储器模块,微处理器,控制器与外设,标准与协议设计 ...

  2. 赛灵思的block memory generator用户手册pg058翻译和学习(AXI4 Interface Block Memory Generator Feature Summary)

    (1) 读赛灵思IP手册,block memory generator Product Guide,即内存memory系列(如RAM ROM等)的手册.本期介绍AXI4 Interface Block ...

  3. Android 关于ListView中按钮监听的优化问题(方法二)

    关于ListView中按钮监听的优化问题(方法一)地址: http://www.cnblogs.com/steffen/p/3951901.html 之前的方法一,虽然能够解决position的传递, ...

  4. Block Memory Generator之TDPRAM应用知识点记录

    1.2种接口类型: (1)Native (2)AXI4 2.5中存储类型: (1)Single Port RAM (2)Simple Dule Port RAM (3)True Dual Port R ...

  5. C# 将内存中的datatable数据导出为Excel(方法二,创建Excel对象导出)

    上次写了一个用文件流方式将Datatable导出Excel的方法,这个方法有局限性,比如没法对Excel进行一些增加列颜色等简单的操作,现在,给大家介绍另外一种方法,用微软的Excel类.既然要用到类 ...

  6. 在VS中编译C++静态库以及使用的方法

    1.编译静态库 1 // add.h 2 3 #pragma once 4 class Add 5 { 6 public: 7 Add(void); 8 9 ~Add(void); 10 11 int ...

  7. 计算机管理中看不到本地用户,win7系统计算机管理中没有本地用户和组的解决方法...

    很多小伙伴都遇到过win7系统计算机管理中没有本地用户和组的困惑吧,一些朋友看过网上零散的win7系统计算机管理中没有本地用户和组的处理方法,并没有完完全全明白win7系统计算机管理中没有本地用户和组 ...

  8. 计算机管理创建新用户,win7系统添加新用户名的方法和win7系统计算机管理中没有本地用户和组的解决方法...

    win7系统添加新用户名的方法 方法一:通过控制面板创建新的用户. 1.打开开始菜单,选择控制面板. 2.打开控制面板界面,选择用户账户. 3.进行用户设置界面,选择管理其它账户. 4.点击下面的创建 ...

  9. 在vue中使用海康插件实现视频监控视频直播方法二(RTMP流加Flash加swf)

    在vue中使用海康威视实现视频监控,视频直播方法二(RTMP流加Flash加swf) 第一步 用npm装这个几个包 "video.js": "^6.6.0",& ...

最新文章

  1. PCL:超详细的基于法向量和曲率的区域生长算法原理以及源码解读
  2. 深入理解padding_idx(nn.Embedding、nn.Embedding.from_pretrained)
  3. PIC单片机入门_指令系统
  4. linux复制duo文件,自动生成Linux下Makefile全攻略(转)
  5. ITK:修剪二进制图像
  6. Spring Boot 从1.0 升级到 2.0 所踩的坑
  7. Python使用datetime来判断近七天
  8. 对象行为型 - Observer观察者模式
  9. python能干什么知乎-python能做什么知乎
  10. 【方法】 PDF OCR识别
  11. android命令行启动,Android中使用am命令实现在命令行启动程序详解
  12. 内存测试软件 ddr4,DDR4内存测试软件
  13. wps里有project吗_甘特图是什么?-如何用WPS表格做甘特图
  14. SQL--Transact-SQL
  15. Oracle魔改linux,linux shell脚本攻略 第3版 pdfssr 魔改v3一键
  16. 讲讲BW/4 HANA和BW on HANA的区别
  17. python安装方法32位_python安装教程
  18. 新华网:数字藏品“加速器” 助力非遗传古通今
  19. 35pic index php,完美解决35dir获取网站缩略图问题(两种方法)
  20. 数据挖掘学习笔记:标称属性(名词性)的邻近性度量

热门文章

  1. 高压模块性相关的几个问题测量
  2. 表贴光电池 FU-NJL6402R-2 的特性
  3. 怎么能把看不清的照片给看清_哪些人会得?应该怎么治?关于白内障的“经典十问”...
  4. linux 查看lv格式,linux lv pv lv 命令
  5. c语言程序的实质,C语言_printf中的%p的实质
  6. kafka不使用自带zk_kafka 安装部署教程
  7. 递归和函数栈与setjmp和longjmp的关系
  8. 未设置服务器核心文件,[问题3] dhcpd.conf是DHCP服务器的配置的核心,每次启动DH..._考试资料网...
  9. 继承单例模式 php_详解PHP单例模式之继承碰见的问题
  10. Modelsim仿真查看内部信号