Cyclone-III-内部资源

CycloneIII内部资源概述

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

pitfC2n.png

Logic

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

LE

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

pitho6I.png

  • 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结构如图所示:

pit4Ruq.png

LAB Interconnects

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

pit5Za8.png

Memory Blocks(内存块)

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

pit50MR.png

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

Memory mode

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

pitI9oT.png

Clocking mode

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

读写时违反内存块输入寄存器的建立和保持时间可能会导致内存内容的损坏
异步清零只在读地址寄存器、输出寄存器和输出锁存器上可用

pitIcmq.png

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

pito84U.png

Embedded

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

乘法器结构

piN8jIg.png

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

Clock Networks and

PLLs(时钟网络和锁相环)

202311211035848.png

image-20231121103548768

posted @ 2024-02-07 22:09  moerjie  阅读(108)  评论(0编辑  收藏  举报