CycloneIII内部资源概述



本人使用的Altera DE0使用的主控芯片为EP3C16F484C6,由上图可知包含15408个逻辑单元,56个M9K,56个18×18乘法器,4个PLL等资源。

Logic Elements and Logic Array Blocks(逻辑元件和逻辑阵列块)

LE

LE是FPGA中最小的逻辑单元,可以提供高效逻辑使用的高级功能。LE的结构如下图所示:

  • LUT:用于完成用户需要的逻辑功能,Cyclone III的查找表是4输入1输出,可以完成任何4输入1输出的组合逻辑
  • Programmable Register:可以配置成D触发器、T触发器、JK触发器等,每个寄存器包含4个输入信号,数据信号、时钟信号、时钟使能、复位信号。

LE有两种工作模式:

  • Normal mode:适合于一般的逻辑运算
  • Arithmetic mode:适用于实现加法器、计数器、累加器、比较器等

LAB

每个LAB都由以下元素组成:

  1. 16个LE
  2. LAB控制信号
  3. LE转移链
  4. 寄存器链
  5. 本地互联

本地互联用于在同一LAB内的LE之间传递信号;寄存器链用于将一个LE的输出传递到相邻的LE中。

LAB结构如图所示:

LAB Interconnects

LAB本地互连由同一LAB中的列和行互连和LE输出驱动。相邻的LAB、锁相环、M9K RAM块和从左到右的嵌入式乘法器也可以通过直接链路连接驱动LAB的本地互连。直接链接连接功能最大限度地减少了行和列互连的使用,提供更高的性能和灵活性。每个LE可以通过快速本地和直接链路互连驱动多达48个LE。

直接连接如下图所示:

Memory Blocks(内存块)

嵌入式内存结构由M9K内存块组成,可以配置内存块以提供各种内存功能,例如RAM,移位寄存器,ROM和FIFO等。

M9K的内存单位是9k bit,并不是9k byte,并且9k中有1k的空间用于校验等功能,实际可用空间为8kbit

Memory mode



M9K内存块不支持异步内存输入

Clocking mode



当使用Read or Write模式,如果对同一个地址进行读写操作,则输出的读数据是未知的。如果要使输出的数据是一个确定的信号,则需要使用single-clock模式或者IO-clock模式并且在 MegaWizard Plug-In Manager中选择合适的读写操作。

读写时违反内存块输入寄存器的建立和保持时间可能会导致内存内容的损坏

异步清零只在读地址寄存器、输出寄存器和输出锁存器上可用

Memory mode 和 Clocking mode的关系如下图所示:

Embedded Multipliers and Digital Signal Processing Support(嵌入式乘法器和数字信号处理支持)

乘法器结构

  • 输入的数据既可以先发送到输入寄存器也可以直接输入到乘法器,两个输入信号相互独立,例如:A信号可以通过寄存器将输入发送到乘法器,同时B信号可以直接发送到乘法器。
  • 根据乘法器的位宽和操作模式,单个乘法器可以并行的执行一次或两次乘法运算。
  • 两个输入信号如果都是无符号数,则输出数据也是无符号数;其中任何一个是有符号数的话,输出结果就是有符号数。

Clock Networks and PLLs(时钟网络和锁相环)

cyclone3内部资源的更多相关文章

  1. spring mvc: 多解析器映射(资源绑定视图解析器 + 内部资源[普通模式/]视图解析器)

    spring mvc: 多解析器映射(资源绑定视图解析器 + 内部资源[普通模式/]视图解析器) 资源绑定视图解析器 + 内部资源(普通模式)视图解析器 并存方式 内部资源视图解析器: http:// ...

  2. spring mvc:内部资源视图解析器2(注解实现)@Controller/@RequestMapping

    spring mvc:内部资源视图解析器2(注解实现)  @Controller/@RequestMapping 访问地址: http://localhost:8080/guga2/hello/goo ...

  3. spring mvc:内部资源视图解析器(注解实现)@Controller/@RequestMapping

    spring mvc:内部资源视图解析器(注解实现)@Controller/@RequestMapping 项目访问地址: http://localhost:8080/guga2/hello/prin ...

  4. Android4.4 在Framework新增内部资源编译不过的问题

    如果在Frameworks新增内部资源,并在Java代码中使用类似形式来引用资源:com.android.internal.R.layout.xxx,需要在frameworks/base/core/r ...

  5. TI C66x DSP 四种内存保护问题 -之- CPU訪问corePac内部资源时的内存保护问题

    CPU訪问corePac内部资源(L1.L2)时的内存保护(通过设置内存的訪问权限实现)等问题请參考以下两个blog.已经叙述的非常具体. "TI C66x DSP 系统events及其应用 ...

  6. TI C66x DSP 四种内存保护问题 -之- 外设訪问corePac内部资源时的内存保护问题

    外设訪问corePac内部资源(L1,L2)时的内存保护等问题请參考以下两个blog.已经叙述的非常具体. "TI C66x DSP 系统events及其应用 - 2"," ...

  7. mssql 数据库“查询处理器用尽了内部资源,无法生成查询计划。”问题的处理

    在项目中动态拼接sql语句,使用union all连接结果集,每个查询语句都使用了in(几百个数值).语句如: ,,,..............................) UNION ALL ...

  8. springmvc:BeanNameViewResolver访问内部资源视图对象和访问外部资源视图对象

    <!-- 处理器映射器 --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerM ...

  9. 如何获得APP内部资源

    安装一个iTools(百度一下就有) 用USB连接设备,打开iTools

  10. SpringMvc之handler深入AbstractControllerhe和MultiActionController和内部资源视图解析器

    AbstractControllerhe 若处理器继承自AbstractController类,那么该控制器就具有了一些新功能.因为AbstractController类还继承自一个父类WebCont ...

随机推荐

  1. 你真的知道吗?catch、finally和return哪个先执行

    我的一位朋友前阵子遇到一个问题,问题的核心就是try--catch--finally中catch和finally代码块到底哪个先执.这个问题看起来很简单,当然是"catch先执行.final ...

  2. python中将时间转换为时间戳

    某平台url中的时间格式为时间戳,将时间变量传入url前,需要将固定格式的时间转换为时间戳.使用python中的time模块,对时间的几种格式进行转换. strptime(),将时间字符串转换成 结构 ...

  3. Java 配置 HTTP/Socks 代理竟能如此简单

    在网络请求过程中,使用代理是一种常见的需求.代理服务器可以帮助我们隐藏真实的 IP 地址.加速访问速度.访问公司特定内网等等要求.在 Java 中,我们可以通过一些库或框架来实现代理的设置和使用. 但 ...

  4. Paddle图神经网络训练-PGLBox代码阅读笔记

    图存储部分 paddle/fluid/framework/fleet/heter_ps graph_gpu_wrapper.h GPU图主入口 graph_gpu_ps_table.h GPU图的主要 ...

  5. prometheus 监控实战篇

    prometheus 监控 目录 prometheus 监控 1.上传tar包 2.解压到对应文件夹 3.配置开机自启动 4.配置Prometheus 5.black_exporter 监控网站状态 ...

  6. 如何理解SpringBoot的Starter

    Starter是SpringBoot的四大核心功能特性之一,除此之外,SpringBoot还有自动装配,Actuator监控等特性 SpringBoot里面的这些特性,都是为了让开发者在开发基于Spr ...

  7. C#开发的基础工具类集合 - 开源研究系列文章

    今天发布一个基础工具类代码集合. 以前有发布过一个类似的类库(见博文: Magical平台类库代码分享 ),不过那个版本有点久了,也没有这次这个全面,这次发布的是一个很多地方用到的基础类库代码. 1. ...

  8. Android 编译介绍

    一.需求 Android的源码非常的庞大,编译Android系统往往会占用我们很长的时间,我们需要了解下Android的编译规则,以期能提高我们的开发效率,达到程序员按时下班的伟大理想. 二.环境 平 ...

  9. windows10 jdk下载及环境配置

     一.环境准备 windows10 系统 jdk 各种版本(配置大同小异) 二.下载并安装jdk 下载地址:http://www.oracle.com/technetwork/java/javase/ ...

  10. Go之流程控制大全: 细节、示例与最佳实践

    本文深入探讨Go语言中的流程控制语法,包括基本的if-else条件分支.for循环.switch-case多条件分支,以及与特定数据类型相关的流程控制,如for-range循环和type-switch ...