嵌入式存储器结构由一列列 M9K 存储器模块组成,通过对这些 M9K 存储器模块进行配置,可以实现各种存储器功能,例如:RAM、移位寄存器、 ROM 以及FIFO 缓冲器。

M9K 存储器模块支持以下特性:
■ 每模块 8,192 个存储器位 ( 包括奇偶校验位,每模块共 9,216 位 )
■ 用于每一个端口的独立读使能 (rden) 与写使能 (wren) 信号
■ Packed 模式,该模式下 M9K 存储器模块被分成两个 4.5 K 单端口 RAM
■ 可变端口配置
■ 单端口与简单双端口模式,支持所有端口宽度
■ 真双端口 ( 一个读和一个写,两个读,或者两个写 ) 操作
■ 字节使能,实现写入期间的数据输入屏蔽
■ 用于每一个端口 ( 端口 A 和 B) 的时钟使能控制信号
■ 初始化文件,在 RAM 和 ROM 模式下预加载存储器中的数据

rden与wren控制信号控制 M9K 存储器模块的每一个端口上的读写操作。当不需要操作时,您可以分别将rden或者wren信号禁用,从而降低功耗。

byteena信号默认为高电平 ( 使能的 ),写端口具有 ×16, ×18, ×32, 或者 ×36 位数据位宽时,M9K 模块将支持字节使能。字节使能以独热码的形式运行,并且byteena的最低位对应于数据总线的最低字节。

当单独的M9K存储器模块的PortA以及PortB数据位宽是8位或者9位的倍数时,字节使能仅适用于真双端口 (True Dual-Port) 存储器配置。

Packed 模式支持  (不知道这个模式有什么作用,怎么用)

Cyclone IV 器件 M9K 存储器模块支持 packed 模式。在下列条件下,您可以在单一模块中实现两个单端口存储器模块:
■ 每一个独立模块的容量均小于或等于 M9K 模块容量的一半。每一个独立模块的最大数据宽度为 18 位宽。
■ 每一个单端口存储器模块均被配置成单时钟模式。

Cyclone IV 器件仅支持读地址寄存器、输出寄存器以及输出锁存器的异步清零操作,输入寄存器 ( 除了读地址寄存器 ) 不支持异步清零。当对输出寄存器进行异步清零操作时,异步清零信号即刻对输出寄存器清零,效果立马可见。如果您的 RAM 不使用输出寄存器,那么通过使用输出锁存器异步清零特性,您仍然能够对 RAM 输出端进行清零。
在读操作过程中,对读地址寄存器置位异步清零有可能会导致存储数据的损坏。

通过使用 Quartus II RAM MegaWizard™Plug-In Manager,您可以有选择地使能每个逻辑存储器的异步清零功能。

通过三种方式可以对 M9K 模块中的寄存器进行复位:
■ 器件上电
■ 将aclr信号仅用于输出寄存器
■ 使用DEV_CLRn选项来进行全器件复位

Cyclone IV 器件 M9K 存储器模块不支持异步 ( 未寄存的 ) 存储器输入。

要选择所需的行为,需要在 Quartus II 的 RAM MegaWizard Plug-In Manager 中,将Read-During-Write选项设置成New Data或者Old Data。

一个 (w× m×n) 移位寄存器的容量是由输入数据宽度 (w)、抽头的长度 (m), 以及抽头的数量 (n) 来决定,并且必须小于或等于最大存储器位数 , 也就是 9,216 位。另外, (w×n) 的容量必须小于或等于模块的最大宽度,也就是 36 位。如果需要一个

当使用输入或输出时钟模式时,如果在同一地址位置执行同时读或写操作,则输出读数据将是未知的。如果要求输出数据是一个可预测值,则需要使用单时钟模式或者 I/O时钟模式,并且在 MegaWizard Plug-In Manager 中选择相应的 read-during-write 行为。

异步清零功能仅在读地址寄存器、输出寄存器,以及输出锁存器中可用。

如果采用异步清零会产生大量的逻辑——引用。或者是综合器发现不了你所描述的是memory从而使用大量的D触发器来实现——推断

不可以对同一地址进行写操作

即使存储器是预初始化的 ( 例如,使用一个.mif文件 ), 它也会通过输出端清零进行上电。 只有上电后的后续读操作会输出预初始化的值。

如果您的设计不要求 read-during-write, 那么在写操作期间或者存储器未操作期间,需要通过置低rden信号以降低功率。Quartus II 会自动对未使用的 M9K 存储器模块进行断电,从而降低静态功耗。(与最上面的那一段绿色背景字对比,是否矛盾呢,还是只有此种情况之下才可以进行降低功耗呢)

笔记之Cyclone IV第一卷第三章器件中的存储器模块的更多相关文章

  1. 笔记之Cyclone IV第一卷第四章Cyclone IV器件中的嵌入式乘法器

    嵌入式乘法器可以配置成一个 18 × 18 乘法器,或者配置成两个 9 × 9 乘法器.对于那些大于18 × 18 的乘法运算 ,Quartus II 软件会将多个嵌入式乘法器模块级联在一起.虽然没有 ...

  2. 笔记之Cyclone IV 第一卷第一章FPGA 器件系列概述

    因为本人用的黑金四代开发板,中央芯片采用ALTERA的cycloneIV E,所以就此器件阅读altera官网资料,并做相应的笔记,以便于以后查阅 Cyclone IV 器件系列具有以下特性:■ 低成 ...

  3. 笔记之Cyclone IV 第一卷第二章Cyclone IV器件的逻辑单元和逻辑阵

    逻辑单元 (LE) 在 Cyclone IV 器件结构中是最小的逻辑单位.LE 紧密且有效的提供了高级功能的逻辑使用.每个 LE 有以下特性 ■ 一个四口输入的查找表 (LUT),以实现四种变量的任何 ...

  4. 《Thinking in C++》学习笔记(二)【第三章】

    第三章 C++中的C 3.4.4 指针简介 ‘&’运算符:只要在标识符前加上‘&’,就会得出标识符的地址. C和C++有一个专门存放地址的变量类型.这个变量类型叫做指针(pointer ...

  5. 第三章 jQuery中的事件与动画

    第三章jQuery中的事件与动画 一. jQuery中的事件 jQuery事件是对javaScript事件的封装. 1.基础事件 在javaScript中,常用的基础事件有鼠标事件.键盘事件.wind ...

  6. 【笔记】javascript权威指南-第三章-类型,值和变量

    javascript中的原始类型和对象类型(基本类型和引用类型) //本书是指:javascript权威指南    //以下内容摘记时间为:2013.7.27   计算机程序运行时需要对值(value ...

  7. TCP/IP协议第一卷第三章 IP首部分析

    IP介绍 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP.IGMP数据都以IP数据报格式传输. IP提供不可靠.无连接的数据报传送服务. 不可靠(unreliable)它不能 ...

  8. 【读书笔记】C#高级编程 第三章 对象和类型

    (一)类和结构 类和结构实际上都是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法. 类和结构的区别:内存中的存储方式.访问方式(类是存储在堆上的引用类型,结构是存储在栈的值类型)和它 ...

  9. JAVA核心技术第一卷第三章

    JAVA中包含的数据类型:

随机推荐

  1. [LeetCode]题解(python):097-Interleaving String

    题目来源: https://leetcode.com/problems/interleaving-string/ 题意分析: 给定字符串s1,s2,s3,判断s3是否由s1和s2穿插组成.如“abc” ...

  2. windows 7 里面的iis在哪里

    我的电脑------控制面板-----卸载程序------打开或关闭WINDOWS功能-----INTERNET信息服务------WEB管理工具下就能找到 给你找图你看看 向左转|向右转

  3. 转:js不同类型对象的比较规则

    Type(x) Type(y) Result type(x)==type(y) x===y otherwise... false null undefined true undefined null ...

  4. (C#)Windows Shell 编程系列2 - 解释,从“桌面”开始展开

    原文 (C#)Windows Shell 编程系列2 - 解释,从“桌面”开始展开 (本系列文章由柠檬的(lc_mtt)原创,转载请注明出处,谢谢-) 接上一篇:(C#)Windows Shell 编 ...

  5. Hbuilder 常用快捷键汇总

    朋友推荐用Hbuilder编辑器,看了下Hbuilder官网和那视频,感觉牛逼哄哄的, 自己也就体验了一下,打开Hbuilder的快捷键列表,每个快捷键都体验了一下,以下展示出来的,每一个都是精华,每 ...

  6. spring学习总结(mybatis,事务,测试JUnit4,日志log4j&slf4j,定时任务quartz&spring-task,jetty,Restful-jersey等)

    在实战中学习,模仿博客园的部分功能.包括用户的注册,登陆:发表新随笔,阅读随笔:发表评论,以及定时任务等.Entity层设计3张表,分别为user表(用户),essay表(随笔)以及comment表( ...

  7. 配置管理多个ssh key

    假设需要为两台主机建立ssh key以便抓取.更新代码,主机A:111.111.111.111,主机B:222.222.222.222. 首先,用两个账户(hostA@email.com与hostB@ ...

  8. Java学习之DAO设计模式

    DAO设计模式是一个javaEE里的设计模式,DAO是Data Access Object 数据访问接口. 一个典型的DAO实现有三个组件: 1.一个DAO接口 2.一个DAO接口的具体类: 3.数据 ...

  9. 首页 导航栏隐藏 下一级页面显示,pop回来遇到的问题

    - (void)viewWillAppear:(BOOL)animated {    [super viewWillAppear:animated];    [self.navigationContr ...

  10. poj2492 A Bug's Life【基础种类并查集】

    转载请注明出处,谢谢:http://www.cnblogs.com/KirisameMarisa/p/4298148.html   ---by 墨染之樱花 题目链接:http://poj.org/pr ...