笔记之Cyclone IV第一卷第三章器件中的存储器模块
嵌入式存储器结构由一列列 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第一卷第三章器件中的存储器模块的更多相关文章
- 笔记之Cyclone IV第一卷第四章Cyclone IV器件中的嵌入式乘法器
嵌入式乘法器可以配置成一个 18 × 18 乘法器,或者配置成两个 9 × 9 乘法器.对于那些大于18 × 18 的乘法运算 ,Quartus II 软件会将多个嵌入式乘法器模块级联在一起.虽然没有 ...
- 笔记之Cyclone IV 第一卷第一章FPGA 器件系列概述
因为本人用的黑金四代开发板,中央芯片采用ALTERA的cycloneIV E,所以就此器件阅读altera官网资料,并做相应的笔记,以便于以后查阅 Cyclone IV 器件系列具有以下特性:■ 低成 ...
- 笔记之Cyclone IV 第一卷第二章Cyclone IV器件的逻辑单元和逻辑阵
逻辑单元 (LE) 在 Cyclone IV 器件结构中是最小的逻辑单位.LE 紧密且有效的提供了高级功能的逻辑使用.每个 LE 有以下特性 ■ 一个四口输入的查找表 (LUT),以实现四种变量的任何 ...
- 《Thinking in C++》学习笔记(二)【第三章】
第三章 C++中的C 3.4.4 指针简介 ‘&’运算符:只要在标识符前加上‘&’,就会得出标识符的地址. C和C++有一个专门存放地址的变量类型.这个变量类型叫做指针(pointer ...
- 第三章 jQuery中的事件与动画
第三章jQuery中的事件与动画 一. jQuery中的事件 jQuery事件是对javaScript事件的封装. 1.基础事件 在javaScript中,常用的基础事件有鼠标事件.键盘事件.wind ...
- 【笔记】javascript权威指南-第三章-类型,值和变量
javascript中的原始类型和对象类型(基本类型和引用类型) //本书是指:javascript权威指南 //以下内容摘记时间为:2013.7.27 计算机程序运行时需要对值(value ...
- TCP/IP协议第一卷第三章 IP首部分析
IP介绍 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP.IGMP数据都以IP数据报格式传输. IP提供不可靠.无连接的数据报传送服务. 不可靠(unreliable)它不能 ...
- 【读书笔记】C#高级编程 第三章 对象和类型
(一)类和结构 类和结构实际上都是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法. 类和结构的区别:内存中的存储方式.访问方式(类是存储在堆上的引用类型,结构是存储在栈的值类型)和它 ...
- JAVA核心技术第一卷第三章
JAVA中包含的数据类型:
随机推荐
- linux用户管理最常用的三个文件说明(不完整版)
涉及到三个文本文件:/etc/passwd /etc/shadow /etc/group 文件相关: /etc/passwd和用户名相关 /etc/shadow和密码相关 /etc/group和用户所 ...
- android-适配Adapter
Adapter是把数据和用户界面视图绑定到一起的桥梁类,负责创建用来表示父视图中的每一个条目的子视图,并提供对底层数据的访问. public class MainActivity extends Ac ...
- Oracle 日期计算
日期相减,求天数 方法一: )),createdate from goods t
- C语言参数传递
//--------------------单向值传递------------------------ // swap这个方法在被调用时,给形参a,b分配了空间 // 主调函数将[数值]传递给[形参] ...
- 代码收藏 JS实现页内查找定位功能
前部分为IE下搜索方法 用TextRange来实现 后部分为firefox.chrome下搜索方法 var nextIndex = 0; var searchValue = ''; var input ...
- Network of Schools(强连通分量+缩点) (问添加几个点最少点是所有点连接+添加最少边使图强连通)
Network of Schools Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 13801 Accepted: 55 ...
- POJ 3228Gold Transportation(二分+最大流)
题目地址:POJ3288 这个题跟之前的一道题混了,感觉是一样的,所以连想都没怎么想就拆点然后求最短路然后二分求最大流了.结果连例子都只是,还一直以为又是哪里手残了..结果看了看例子,手算也确实不正确 ...
- HDU 2087 剪花布条 KMP入门
Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条.计算一下能从花布条中尽可能剪出几块小饰条来呢? Input ...
- Objective-c 程序结构
类是Objective-c的核心,Objective-c程序都是围绕类进行的.Objective-c程序至少包含以下三个部分: 1.类接口:定义了类的数据和方法,但是不包括方法的实现代码. 2.类实现 ...
- [爬虫]通过url获取连接地址中的数据
1. 要想获取指定连接的数据,那么就得使用HtmlDocument对象,要想使用HtmlDocument对象就必需引用using HtmlAgilityPack; 2. 详细步骤如下: 步骤一 ...