LUT的原理,实现逻辑函数时,相当于一个ROM将结果预存,然后把通过输入信号当作地址对预存的结果进行寻址。因此同样借助LUT加几个端口,就可以实现RAM。SLICEM里面的LUT就可以用来实现RAM资源。

二. 原理介绍

SLICEM里面的LUT跟SLICEL里面的LUT相比多了DI2,WA[6:1],CLK,WE这几个端口。做RAM用的时候,其中DI1,DI2是写数据输入端口,O5,O6同样是数据输出端口,支持一次性两bit或者单bit读写。A[6:1]为读地址,WA[6:1]为写地址,WE为写使用,CLK为时钟端口。

从这可以看出,一个LUT具有2^6=64bit的存储空间。

故一个LUT可以作为64x1bits的RAM(内存大小为64bit,1bit读写),地址为6位。当读写地址共用一个端口时为单端口RAM,不共用时则为双端口RAM(SLICEM里面第一个LUT的WA与A是连在一起的,故第一个LUT做不了双端口RAM)。输出数据可以经过SLICEM里面的Register资源打一拍以提高时序特性(在工具里面可以自己设置)。

或者作为32x2bits的RAM(2bit读写),地址为5位,A[6]拉高。输出为O5,O6。

三. 扩展与提升

一个SLICEM里面有4个LUT,他们可以组合得到多种大小的RAM。首先就是四端口的32x2bits的RAM,支持一次性读写2bits,原理如下图。四个LUT的写数据端口DI1,DI2,写使能WE,写地址WA共用,称为写控制信号共用。读地址A分别控制。

如下图,4个LUT构成32x6bits的RAM,支持6bits读写操作。当读写共用一个地址时,就是单端口RAM,当读写不共用地址时就是双端口RAM。可以看到第一个LUT其实没用到,是因为第一个LUT的A与WA是连到一起的不能改变,所以做不了双端口。其实现原理就是3个LUT的并行2bit读写。

当然大家自己开动脑筋想一下也就知道了还可以组成其它什么类型的RAM,这里我们再举个例子就是借助选择器实现128x1bits的RAM。

同样借助选择器在一个SLICEM里面还可以构成256x1bit的RAM,这里就不赘述,大家可以自行思考。总之在一个SLICEM里面可以实现的RAM有如下表中的几种。

多个SLICEM资源配合就可以构成更多内存大小种类的RAM。

介绍SLICEM里的LUT如何形成RAM资源相关推荐

  1. 【整合】FPGA调用RAM资源

    FPGA可以调用分布式RAM和块RAM两种RAM,当我们编写verilog代码的时候如果合理的编写就可以使我们想要的RAM被综合成BRAM(Block RAM)或者DRAM(Distributed R ...

  2. 式神咒缚战场玩法介绍 教你从战场获取得更多资源

    大家好,最近我一直在玩式神:呪缚这手游,因为这游戏有很多的内容怎玩也玩不完,而且画风萌萌的,真是十分吸引,但这次分享先跟大家介绍基本的东西,也就是战场界面中的内容了.(^∀^●)ノシ 战场的位置相信各 ...

  3. 简单 静态 网页制作 篮球 人物介绍 库里 HTML+CSS

    简单的入门级别的网页,分享一下. 网站的链接层次三级页面 浮动,定位技术,列表,块的布局和图片的浮动定位 注册用户的页面,要求有返回主页的功能 图片等素材显示正常.链接无误 要有导航功能 有问题欢迎联 ...

  4. spring-mvc里的 mvc:resources 及静态资源访问

    在进行Spring MVC的配置时,通常我们会配置一个dispatcher servlet用于处理对应的URL.配置如下: <servlet><servlet-name>Spr ...

  5. 【译】介绍 Consul 新的学习平台和新资源:Kubernetes, AWS Cloud Map 及更多

    DEC 17 2018 KAIT CARTER 新 Consul 学习体验 新的 Consul 学习平台 现已上线.如果您是 Consul 的新手用户,您现在可以通过 入门 学习来了解 Consul ...

  6. android 里的 plurals.xml getQuantityString 单复数资源选择

    2019独角兽企业重金招聘Python工程师标准>>> Quantity Strings(复数) 不同的语言对数量进行描述的语法规则也不同.比如在英语里,数量1是个特殊情况,我们写成 ...

  7. Koa 学习 01 Koa 介绍和基本使用(路由、静态资源托管、中间件)

    Koa 介绍 Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造,致力于成为 web 应用和 API 开发领域中的一个更小.更富有表现力.更健壮的基石. 官网:https://k ...

  8. Win10自带的CPU和RAM资源仪表板

    一般通过WIN+G键调出xbox工具条,然后就可以调出计算机资源仪表盘

  9. 初识FPGA CLB之LUT实现逻辑函数

    一.概述 LUT中文名字叫查找表.以7系列的FPGA为例,每一个Slice里面有四个LUT.FPGA就是通过LUT实现大量的组合逻辑,以及SLICEM里面的LUT还可以构成RAM,Shift Regi ...

最新文章

  1. String和常量池
  2. 1月31日云栖精选夜读:阿里云客户案例研究:罗辑思维
  3. 【VC基础】3、配置参数文件
  4. kafka自动提交offset失败:Auto offset commit failed
  5. MSON,让JSON序列化更快
  6. Python字典values()方法与示例
  7. ArcEngine开发之自定义工具
  8. Sybase Adaptive Server Anywhere ISQL 8.0 绿色汉化版发布
  9. SSCOM下载及无法打开问题解决
  10. 太极周易罗盘计算机器人图片,周易八卦--罗盘的使用
  11. mac忘记mysql用户名和密码_mac 下 忘记mysql密码如何找回
  12. python null类型
  13. python画江苏_江苏高考数学再现算法流程图!学过编程的孩子都说So easy!
  14. Name was not previously introduced as per JSP.5.3的解决办法
  15. 计算机怎么快捷截图桌面,电脑截屏的快捷键是什么
  16. 公司域名邮箱如何注册?163公司邮箱注册好用吗?
  17. 浅析:XSS攻击、SQL注入攻击和CSRF攻击
  18. es6 新增 常用 语法 知识点 汇总
  19. 小猫爪:i.MX RT1050学习笔记20-安全启动4-实现HAB签名和HAB加密
  20. Ubuntu之ufw安装和使用

热门文章

  1. 利用ESP8266测量模块来设计远距离反射式光电检测 : ITR8307
  2. 第十六届全国大学生智能车参赛与防疫承诺书
  3. 第十六届全国大学智能车竞赛华南赛区成绩汇总
  4. 服务器系统摁c,如何系统有效学习c服务器开发
  5. python全排列字典序输出 递归_递归实现全排列,字典序法实现全排列
  6. linux网络管理证书,计算机网络管理工程师技术水平证书有什么用
  7. ubuntu 如何正确的更换更新源
  8. python只能运行一次怎么改_是否可以修改和运行部分Python程序而无需一次又一次地运行所有这些程序?...
  9. layui树形父子不关联_DP专题7 | 没有上司的舞会 洛谷1352(树形DP)
  10. access数据类型百度百科_Access数据库属于什么数据库。