美文网首页
FPGA双口RAM与M9K的初步认识

FPGA双口RAM与M9K的初步认识

作者: SmartFish | 来源:发表于2018-08-01 14:41 被阅读0次

近期调试FPGA,学习了很多新的知识与值得注意的点,记录之。

一、关于FPGA的RAM空间构成    

        EP3C16Q240这个FPGA所用的RAM由56个M9K组成,称为内存块,这一点从《Cyclone III HandBook》里很容易查出来:

Cylone III系列设备特性

        M9K从字面上理解,自己初以为就是9KB的可使用存储空间,然而实际上这里有两个坑点:第一,9KB的单位实际上是9Kbits,并不是一般人所理解的9Kbytes,也就是说,实际上一个M9K仅为9K/8 = 1.125KB,数据手册也提到了:

内存块描述

        第二,9K(实际为1.125KB)的空间实际只有8K(也就是1KB)可用,另外1K用于校验等功能无法使用。

二、关于双口RAM的位宽问题

        双口RAM分两种,一种叫伪双口RAM,数据手册里称之为Simple Dual-Port Mode,另一种叫真双口RAM,官方说法为True Dual-Port Mode。这两种最大的差别就在于伪双口RAM仅有一个数据输出口,而真双口具有两个输出。在数据手册里,有一个特别值得注意的点,真伪双口RAM所支持的最大位宽不一样,真双口RAM最大支持18位,而伪双口RAM可以支持到36位。

伪双口RAM支持的深度×位数表 真双口RAM支持的深度×位数表

        如果所使用的RAM超过了上述表格所支持的最大位宽,综合器将会使用多个M9K来综合,这样其实造成了很大的资源浪费,M9K利用率太低了。

三、关于伪双口RAM的输出延时

        伪双口RAM在数据输出的时候,对于某一个读地址变化,数据不会马上输出,而是会在下一个读时钟周期将数据输出,此时仅延迟一个读时钟周期。如果在生成双口RAM时,勾选了“ Read output port(s) 'q' ”选项,由于在输出端新增了一个D触发器,因此RAM输出将再次延迟一个读时钟周期才能正确输出数据(加上本身延迟,一共两个读周期)。如果没有勾选,则输出端口将直接输出,不存在第二个延迟。

勾选了“ Read output port(s) 'q' ”   未勾选“ Read output port(s) 'q' ”

相关文章

  • FPGA双口RAM与M9K的初步认识

    近期调试FPGA,学习了很多新的知识与值得注意的点,记录之。 一、关于FPGA的RAM空间构成 EP3C16Q2...

  • 面积结构设计

    1.复位对面积的影响 对fpga上每一个模块都进行全局的复位有时候会面临消耗资源的问题,比如对FPGA内置的RAM...

  • 无标题文章

    fpga各种仿真简介 QUARTUS II使用ram 软件+数字IC面经 分享一些要点,希望对学弟学妹们有帮助 h...

  • FPGA学习笔记(二)

    带嵌入式处理器的 FPGA 在 FPGA 内部,有着“软内核”与“硬内核”之分。比如若利用 FPGA 的可编程性在...

  • 初步认识equals与==的区别

    在JVM中,内存分为堆内存跟栈内存。他们二者的区别是: 当我们创建一个对象(new Object)时,就会调用对象...

  • 初步认识

    初识C语言 开始 我从高三毕业假期开始涉及C语言学习,经过了九个月左右的学习,初步认识了这种语言的语法和具体特质。...

  • iOS开发-内存分配与分区

    iOS开发中的内存分配与分区 内存 关于RAM&ROM RAM与ROM就是具体的存储空间,统称为存储器。 RAM(...

  • 编程——内存分配

    RAM & ROM RAM与ROM就是具体的存储空间,统称为存储器。RAM(random access memor...

  • 程序底层——程序如何在RAM ROM运行,内存分配与分区

    关于RAM ROM RAM与ROM就是具体的存储空间,统称为存储器 RAM(random access memor...

  • 微机原理与接口技术第6章存储器

    存储层次结构 6.1 半导体存储器的分类 6.1.1 RAM的种类 1.双极性RAM的特点 (1)存取速度高(2)...

网友评论

      本文标题:FPGA双口RAM与M9K的初步认识

      本文链接:https://www.haomeiwen.com/subject/yttkvftx.html