ALM:Adaptive Logic Modules 自适应逻辑块
LAB:Logic Array Blocks 逻辑阵列块
首先FPGA芯片主要由三部分组成,分别是:
(1) IOE(input output element,输入输出单元)
(2) LAB(logic array block,逻辑阵列块,对于Xilinx称之为可配置逻辑块CLB);
(3) Interconnect(内部连接线)。
1、LAB
本文主要是介绍下LAB和ALM。在cyclone v 芯片上,最小的逻辑单元是ALM ,而不再是之前的LE(logci cells)。LAB可以实现逻辑功能,算术功能以及寄存器等功能,你还以用LABs组成存储器功能的LAB(MLAB)。从下图可以看出一个LAB由10个ALM组成,它与相邻的LAB,存储器模块,DSP等模块用直接互联线进行连接。

在chip planner中看到的LAB如下图所示,跟芯片手册上的一致:

2、MLAB
每个MLAB最大可以配置成640bits 的简单双口同步ram(simple dual-port SRAM),你可以把MLAB里的每个ALM配置成32x2的存储器块。这样的话一个MLAB就有10个32x2的简单双口同步ram。

3、LAB Control Signals
每个LAB内部包含了丰富的逻辑,用来产生驱动其内部ALM的控制信号。有两个唯一的时钟源以及三个时钟使能信号。LAB内部的控制模块用这两个时钟源和三个时钟使能信号可以产生最多三个时钟。

4、ALM Resources
一个ALM包含了4个可编程寄存器,每个寄存器有4个端口:
(1)Data 数据口
(2)Clock 时钟口
(3)Sync and Async clear 同步异步清零信号
(4)Sync load 同步数据加载信号
全局信号,普通IO口和任何内部逻辑都可以用来驱动ALM内部寄存器的时钟和清除信号。
普通IO口和内部逻辑用来驱动时钟使能信号
当ALM用于组合逻辑功能时,寄存器会被旁通掉,ALM内部查找表的输出直接连接到ALM的输出接口。
下图是ALM的顶层模块组成图,可以看到一个ALM有8个输入接口,2个6输入的查找表,2个加法器以及4个寄存器。

下图是在chip planner中看到的1个ALM自适应逻辑块的组成。

5、ALM Output
一般,ALM的输出可以驱动本地,行以及列布线资源。ALM的输出中有两个可以驱动行,列以及直接连接布线资源,另外两个既可以驱动行,列以及直接连接布线资源又可以驱动本地本地连线资源。
查找表,加法器以及寄存器输出可以驱动ALM输出端口输出,当加法器,查找表驱动一种输出方式输出时,寄存器只能用另外一中输出方式进行输出。
寄存器打包功能可以优化器件资源使用率,即把不相关的寄存器和组合逻辑打包到同一个ALM里,这样就充分地使用了ALM的查找表和寄存资源。简单讲就是比如一个ALM里有4个输入只用到了查找表进行组合逻辑操作,这样寄存器就没有用到,我们就可以把其它地方只用了寄存器的逻辑放到该ALM里来,避免了这个ALM里的寄存器闲置而浪费。
下图是ALM内部详细组成图。

6、ALM Operating Modes
ALM有4中操作模式,至于使用哪种一般是由quartusII 软件自动进行分配:
(1)Normal Mode 正常模式
主要用于一般的逻辑与组合逻辑
(2)Extended LUT Mode 扩展查找表模式
该模式可以用来实现寄存器打包,比如在一个ALM里,有7个输入的组合逻辑操作不需要经过寄存器输出,这样剩下的一个输入就可以使用寄存器进行寄存器打包。分配如下图所示。

(3)Arithmetic Mode 算术模式
适用于实现加法器,累加器,计数器和比较器等操作
(4)Shared Arithmetic Mode 共享算术模式

Cyclone V LAB ALM结构相关推荐

  1. Cyclone V SoC FPGA学习之路第一章:综述

    Cyclone V SoC FPGA学习之路第一章:总体了解 关键词: adaptive logic modules – ALM 自适应逻辑模块 logic array block --LAB 逻辑阵 ...

  2. Cyclone V SoC FPGA学习之路第二章:硬件篇

    Cyclone V SoC FPGA学习之路第二章:硬件篇(内部资源) 前言 上一章了解了<cycloneV device datasheet>,其中数据手册里重点介绍了电源要求,时序参数 ...

  3. 三叔学FPGA系列之二:Cyclone V中的POR、配置、初始化,以及复位

    对于FPGA内部的复位,之前一直比较迷,这两天仔细研究官方数据手册,解开了心中的诸多疑惑,感觉自己又进步了呢..... 原创不易,转载请转原文,注明出处,谢谢.   一.关于POR(Power-On ...

  4. 基于cyclone V的USB3.0/GIGE工业相机模块设计方案

    基于cyclone V的USB3.0/GIGE工业相机模块设计方案 该相机模组最高可以支持2M像素的图像传感器,提供高性能的ISP功能,支持USB3.0或者GIGE Vision接口.首款相机模块使用 ...

  5. 下载 Quartus II 13.1以及添加cyclone V的器件库

    软件下载地址 链接:https://pan.baidu.com/s/197_GDzjOIRQj-EXFczkgLA 提取码:wang 复制这段内容后打开百度网盘手机App,操作更方便哦 破解方法 下载 ...

  6. altera cyclone v IOE delay 设置

    在用altera fpga芯片进行项目开发时,某个源同步信号输入fpga时,或者要输出串行同步信号.由于外部走线不等长等原因,有时会遇到各个信号到达fpga不同步的问题,或输出信号到达外部器件不同步, ...

  7. Cyclone IV E GX Cyclone 10 LP Cyclone V SE SX 型号命名规则

    Cyclone IV GX和 Cyclone IV E 型号命名规则 Cyclone 10 LP 型号命名规则 Cyclone V SE 和 SX型号命名规则

  8. V$LICENSE表结构

    V$LICENSE V$LICENSE 显示有关许可限制的信息. 列名    数据类型    描述 SESSIONS_MAX NUMBER 实例允许的最大并发用户会话数 SESSIONS_WARNIN ...

  9. FPGA系列之一:Cyclone V中的时钟资源

    之前的项目中更多的是有师兄提供经验和帮助,追求的是快速上手,所以不管对于硬件电路设计,还是verilog电路编程,甚至是FPGA内部的资源,都没来得及系统地学习,最近在做算法到电路的实现,正好系统学习 ...

最新文章

  1. XP系统的用户头像是在那个文件夹里面
  2. perl:正则表达式部分
  3. Python机器学习笔记:sklearn库的学习
  4. Tomcat - Tomcat 网络通信模型剖析 并发参数解读
  5. 不忘每份支持,网易云信感谢一路有你
  6. python指定条件分类输出_python基础(二)条件判断、循环、格式化输出
  7. java jni helloword_JNI学习一:编写HelloWorld程序
  8. 成为中国最好的Magento开发公司
  9. Base64编码简介及在java中的使用
  10. 比特币锚定币总锁仓量触及38亿美元 创历史新高
  11. qlikview 地图插件制作教程
  12. 一文带你掌握抓包工具的使用-科来
  13. BootLoad中上位机与下位机交互
  14. mpeg1,mpeg2,mpeg4
  15. C++函数参数省略号
  16. linux设备号——常见设备的主次设备号
  17. 网易云音乐测试“云随机”播放功能 已注册产品功能相关专利
  18. 【Selenium】控制当前已经打开的 chrome浏览器窗口(高级版)
  19. Win7键盘组合快捷键大全
  20. 阿里热更新(Sophix)

热门文章

  1. 教我学计算机,教你怎样学电脑
  2. 解决超新尔雅网课无法倍速(16+倍速冲刺)
  3. Python爬虫之:10000条“爆款剧”——《三十而已》热评,并做可视化
  4. manjaro 开机启动项_Re:从零开始的Manjaro配置
  5. 聚苯乙烯/聚4-乙烯基吡啶功能微球/CF3-PPFPA-PS聚苯胺/聚苯乙烯微球的制备
  6. mysql 开源入门_入门教程:安装配置新版MySQL 8开源数据库
  7. 《中国垒球》:棍网球委员会·垒球联盟
  8. excel中创建随机数(包含英文+数字随机数生成)
  9. 被误以为外国佬开发的4款国产软件,早年默默无闻,如今声名鹊起
  10. 计算机之父——约翰·冯·诺依曼(现代计算机之父”、“博弈论之父”)