购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.1 Logos2系列FPGA的可配置逻辑模块

4.1.1 CLM结构及硬件特性介绍

可配置逻辑模块(Configurable Logic Module,CLM)是Logos2系列FPGA的基本逻辑单元。CLM在Logos2系列FPGA中是按列分布的,支持CLMA和CLMS两种形态。CLMA和CLMS均可实现逻辑、算术、移位寄存器和ROM功能,仅CLMS支持分布式RAM功能。CLM与CLM之间、CLM与其他片内资源之间通过信号互连模块(SRB)连接,如图4-1所示。

图4-1 CLM和CLM之间、CLM与其他片内资源之间的连接分布图

Logos2系列FPGA产品的CLM主要特性包括:

采用创新的LUT6逻辑结构;

每个CLM包含4个多功能LUT6;

每个CLM包含8个寄存器;

支持算术功能模式;

支持快速算术进位逻辑;

可实现ROM功能;

支持移位寄存器的连接;

CLMS支持分布式RAM模式。

CLMA的逻辑框图如图4-2所示,每个CLMA都包含4个6输入的LUT6、8个寄存器、多个扩展功能选择器、4条独立的级联链等。4条级联链是算术逻辑进位链(从CIN到COUT)、专用移位寄存器链(从SHIFTIN到SHIFTOUT)、寄存器复位/置位级联链(从RSIN到RSOUT)和寄存器CE级联链(从CEIN到CEOUT)。LUT6A(下文中的LUT6A表示CLMA中4个LUT6的统称)采用了创新的架构设计,在6输入查找表的基础上集成了专用电路,以实现4∶1的多路选择器功能和快速算术进位逻辑。扩展功能选择器主要用于实现查找表和输出选择等功能。

图4-2 CLMA的逻辑框图

CLMS是CLMA的扩展,在CLMA功能的基础上增加了分布式RAM功能,其中的多功能LUT6称为LUT6S(下文中的LUT6S表示CLMS中4个LUT6的统称)。CLMS可配置为大小为64×4的单口(Single Port,SP)RAM或大小为64×3的简单双口(Simple Dual Port,SDP)RAM。

4.1.2 CLM的工作模式及调用方法

1.LUT6的工作模式

LUT6A和LUT6S可灵活配置,以支持基本逻辑、多路选择、算术逻辑、ROM,以及分布式RAM(仅限于LUT6S)等不同的功能。

在逻辑功能模式下,每个LUT6A(或LUT6S)都可实现1个LUT6。结合扩展功能选择器,每个CLM可支持实现4个LUT6、2个LUT7或1个LUT8。

在多路选择模式下,每个LUT6A(或LUT6S)都可实现1个4∶1的多路选择器,每个CLM都可支持4个4∶1的多路选择器。结合扩展功能选择器,每个CLM都可支持1个16∶1的多路选择器。

在算术功能模式下,LUT6A(或LUT6S)可实现加/减法运算、计数器、比较器、快速异或逻辑运算,以及宽位(Wide Bit)运算与逻辑运算等。

在ROM模式下,LUT6A(或LUT6S)既可以用作64 bit×1的ROM,还可以通过内置的扩展功能选择器进行深度级联。ROM数据的初始化在编程配置过程中完成。

在分布式RAM模式下,LUT6S既可以配置成一个64 bit×1的单端口/简单双端口RAM或两个共享地址的32 bit×1的单端口/简单双端口RAM,还可以通过内置的扩展功能选择器进行深度级联。

2.寄存器的工作模式

Logos2系列FPGA的CLM共有8个寄存器,按照数据的输入来源可以把寄存器分成两类,4个主寄存器和4个附加寄存器。寄存器的可配置属性主要包括:

灵活地选择数据输入源;

支持同步复位/置位、异步复位/置位模式;

寄存器的时钟(CLK)、时钟使能(CE)、本地复位/置位(RS)信号均支持极性选择;

时钟使能(CE)、本地复位/置位(RS)信号均支持快速级联链;

支持移位寄存器的快速级联链。

3.CLM的使用

读者可通过深圳市紫光同创电子有限公司的软件Pango Design Suite(PDS),以下面的三种途径来使用CLM。

(1)通过PDS软件内嵌的IP Compiler工具生成分布式RAM IP,详见IP Compiler自带的文档《UG061001_Distributed_RAM_IP》。

(2)通过在设计中调用GTP可以使用CLM。CLM的支持情况及使用说明可参考《Logos2系列产品GTP用户指南》和《Logos2系列FPGA可配置逻辑模块(CLM)用户指南》。

在PDS软件的安装目录“arch/vendor/pango/verilog/simulation”下有GTP的仿真模型,可供用户在设计时参考。

(3)通过代码约束也可以使用CLM,综合工具会将用户逻辑代码自动约束到CLM的GTP上;或者在设计代码中添加综合属性,使用综合工具可把相应的instance 映射到对应的CLM。

4.1.3 CLM的常见问题解答

(1)在使用CLM中的一个寄存器和CE时钟信号后,是否可使用独立的CE时钟信号来控制剩余的寄存器?

答:CLM中的部分资源是公用的,只使用了内部部分资源时(如占用了RS、CE、CLK等共用资源),剩余资源无法独立使用。大部分的Logos2系列FPGA只有1个CE时钟信号,因此CLM内的8个寄存器必须由同一个CE时钟信号控制;但部分器件(如PG2L200H)的CLM有2个CE时钟信号,可分别控制4个寄存器,因此PG2L200H允许2个独立的CE时钟信号控制1个CLM中上下两个区域的寄存器。大部分Logos2系列FPGA和PG2L200H的CE时钟信号如图4-3所示。

图4-3 大部分Logos2系列FPGA和PG2L200H的CE时钟信号

(2)在PDS软件中,Logos2系列FPGA的CLM资源是以什么为单位进行统计的?

答:在PDS软件中,Logos2系列FPGA的LUT单位是一个LUT6;FF资源单位是一个寄存器;分布式RAM资源单位是一个LUT6,该部分资源同样被包含在LUT资源的统计中。

(3)Logos2系列FPGA中的CLM是如何实现移位寄存器的?

答:Logos2系列FPGA中的CLM可通过专用的移位寄存器链来级联寄存器,从而实现移位寄存器,但该方法会消耗大量的寄存器,同时过大的移位深度还可能导致时序难以收敛;此外,用户还可以通过例化IP来实现移位寄存器,分布式移位寄存器IP可通过地址控制逻辑和分布式RAM来实现移位功能。 c5pJ81MqfoCVufY6KPdTtfyShljdoBu4ZKtIzzMmIXBojfSY7hkNEDnxqBhZvSZd

点击中间区域
呼出菜单
上一章
目录
下一章
×