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. 浏览器中的自动化操作插件:Automa

    相信很多小伙伴跟我一样,每天都有大量基于浏览器的重复操作,比如:查看任务.查看新闻.查看各种每天要关注的内容,甚至可能还需要对其做一些操作.那么这些任务是否有办法自动化执行呢? 今天就给大家推荐一个浏 ...

  2. 论文解读(AAD)《Knowledge distillation for BERT unsupervised domain adaptation》

    Note:[ wechat:Y466551 | 可加勿骚扰,付费咨询 ] 论文信息 论文标题:Knowledge distillation for BERT unsupervised domain a ...

  3. 从redis未授权访问到获取服务器权限

    从redis未授权访问到获取服务器权限 好久没写博客了,博客园快荒芜了.赶紧再写一篇,算是一个关于自己学习的简要的记录把. 这里是关于redis未授权访问漏洞的一篇漏洞利用: 首先是redis,靶场搭 ...

  4. 只要学会这些AI工具,一个人就是一家营销咨询公司

    随着AI工具的不断涌现,您只需掌握市面上热门的AI工具,便可独自开展营销咨询公司.通过一系列AI工具,您可以为企业提供全案服务,收获丰厚回报. 例如,在协助一家美妆初创公司出海时,我们运用一系列AI工 ...

  5. API数据接口的应用步骤

    API(Application Programming Interface)是现代软件应用程序开发中的一项重要技术,它允许不同的应用程序之间进行通信和数据交换.API接口通过提供统一的访问点,使得应用 ...

  6. 谈谈JSF业务线程池的大小配置

    1.简介 JSF业务线程池使用JDK的线程池技术,缺省情况下采用Cached模式(核心线程数20,最大线程数200).此外,还提供了Fixed固定线程大小的模式,两种模式均可设置请求队列大小. 本文旨 ...

  7. Mac m2使用实现微信小程序抓包

    Mac m2使用实现微信小程序抓包 最近换了MacBook Pro,芯片是M2 Pro,很多东西跟windows是不一样的,所以重新配置相应环境,这里介绍一下微信小程序抓包的方法. 使用burp+pr ...

  8. Go运算操作符全解与实战:编写更高效的代码!

    本文全面探讨了Go语言中的各类运算操作符,从基础的数学和位运算到逻辑和特殊运算符.文章旨在深入解析每一种运算操作符的工作原理.应用场景和注意事项,以帮助开发者编写更高效.健壮和可读的Go代码. 简介 ...

  9. 在 Android Studio Java 项目里混合 Kotlin 编程

    首先,先搞明白一个概念,这里的 Java 混合 Kotlin 是指文件层级的混合,即 Java 代码还是写在 .java 文件中,Kotlin 代码还是写在 .kt 文件中,只不过是可以在 Java ...

  10. 「codechef - STRQUER」Strange Queries

    link. 首先对原序列排序,考虑静态序列做法为:设 \(f(n,k\in\{0,1\})\) 为对于前 \(n\) 个数,第 \(n\) 个数否 / 是已经决策完毕的最优方案,转移即 \[\begi ...