SmartFusion2从入门到精通——理论学习<3>时钟系统

本文详细介绍了Microsemi SmartFusion2 FPGA的时钟系统,包括时钟源、时钟方案、全局网络架构和片上振荡器。重点讲解了片上振荡器的类型、Fabric CCC和MSS CCC的用途及配置方法,强调了时钟在整个系统中的重要性和设计考虑。此外,还提到了全局缓冲器和专用全局I/O在时钟网络中的作用,以及如何确保时钟同步以支持MSS和FIC子系统的正确运行。
摘要由CSDN通过智能技术生成

修订日期:2024年8月3日

目录

前言

一、时钟概述

二、时钟源概述

2.1、片上振荡器

2.2、Fabric CCCs

2.3、MSS CCC

2.4、global buffers

2.5、Dedicated global I/Os(专用的全局I/O)

三、时钟方案

3.1、global buffers

3.2、片上振荡器

3.3、Fabric CCC

3.4、base clocks

3.4.1、MSS CCC

四、FPGA Fabric 全局网络架构

4.1、全局网络架构介绍

4.1.1、专用的全局I/O

4.1.2、Fabric CCC

4.1.3、VCCC

4.1.4、Global Buffer

4.2、推荐的全局网络设计

4.2.1、Global Macros

4.2.2、在Synplify Pro中使用Global Macros

4.2.3、Global Promotion and Demotion Using PDC

五、片上振荡器

5.1、四种振荡器介绍

5.1.1、1MHz RC振荡器

5.1.2、50MHz RC振荡器

5.1.3、主晶振

5.1.4、 Auxiliary Crystal Oscillator

5.2、如何使用片上晶振

六、Fabric CCC

6.1、Fabric CCC的位置

6.2、Fabric CCC的输入

6.3、如何使用Fabric CCC

6.3.1、配置页面

6.3.2、推荐配置流程

七、MSS CCC

7.1、MSS CCC功能组成

7.1.1、MPLL

7.1.2、FACC

7.1.2.1、FACC分频器(FACC Dividers)

7.1.2.1、多路复用器(No-Glitch Multiplexers)

7.1.3、 PLL的监控

7.2、MSS的时钟配置

7.3、如何将MSS和FIC子系统进行时钟同步

7.4、启动后MSS时钟配置顺序

词汇表

专用术语


前言

作者认为,在上手之前,有三方面需要重点介绍一下:电源、时钟和复位。

数字电路中,时钟是整个电路最重要、最特殊的信号。

FPGA系统内大部分器件的动作都是在时钟的上升沿或者下降沿进行。无论是在输入、输出或是寄存器与寄存器之间,只要涉及到时钟上升沿或者下降沿的采样,就会提到建立时间(setup time) 和保持时间(hold time)。

第一,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错;

第二,时钟信号通常是系统中频率最高的信号;

第三,时钟信号通常是负载最重的信号, 所以要合理分配负载。

出于这样的考虑在FPGA这类可编程器件内部一般都设有数量不等的专门用于系统时钟驱动的全局时钟网络。这类网络的特点是:一、负载能力特别强, 任何一个全局时钟驱动线都可以驱动芯片内部的触发器; 二是时延差特别小; 三是时钟信号波形畸变小, 工作可靠性好。

了解全面信息,可参照官方手册UG0449。

一、时钟概述

时钟,即clock信号,是由晶体经过激发产生的振荡电路。模拟端通过各种技术(PLL,DPLL)产生规律、周期性变化的信号给数字端,数字端使用该信号的边沿进行过赋值(procedural assignment)操作。

时钟是FPGA设计中不可或缺的重要部分,因此理解FPGA的时钟资源有着重大意义。

二、时钟源概述

SmartFusion2系列时钟源见下表,包含:4种振荡器(2个片上振荡器)、Fabric CCC(clock conditioning circuitry 时钟调节电路)、MSS CCC、global buffers(全局缓冲器)和专用的全局I/O。

2.1、片上振荡器

片上时钟源分为:1、片上主晶体振荡器,2、片上25/50MHz RC振荡器,3、片上1MHz RC振荡器,4、片上Auxiliary(辅助)晶体振荡器。(RC振荡器为电阻电容振荡器,缺点是振荡频率会有误差,同时受到温度、湿度的影响,这个跟元器件的工艺有关)

第四种Auxiliary(辅助)晶体振荡器专门用于MSS RTC。

2.2、Fabric CCCs

可以用于产生不同频率/相位的时钟,每个CCC可以产生4种不同的时钟,最大频率400MHz。每个FPGA Fabric CCC都有专门的PLL用于不同的Fabric需求,同时,Fabric CCCs可以为片上的IP核比如:MSS(MCCC_CLK_BASE,MCCC_CLK_BASE接入MSS CCC)、FDDR和高速串行接口提供时钟(CLK_BASE)。

2.3、MSS CCC

SmartFusion2包含了专用的CCC用于MSS的时钟,这个MSS CCC负责产生对齐的时钟,用于同步MSS模块和其它用户FPGA程序,保证MSS的程序运行正常。

2.4、global buffers

SmartFusion2的global buffers(GBs)提供低倾斜率的贯穿FPGA fabric的全局网络,并且分配给不同的时钟域,global buffers提供低倾斜率的时钟信号或者high-funout网络(high fanout:扇出,对于某一输出信号而言,接收该信号的个数。多出现在复位信号、时钟、某些用的比较多的信号。是一个后端设计的问题, 或者指模块直接调用的下级模块的个数,如果这个数值过大的话,在FPGA直接表现为net delay较大,不利于时序收敛,所以要注意high fanout的问题,避免时序延迟过高)。

2.5、Dedicated global I/Os(专用的全局I/O)

专用的全局I/O直接驱动GBs,并且是外部输入时钟接入内部全局时钟网络最初的接口。

三、时钟方案

各种时钟、MSS CCC、Fabric CCCs、GBs等关系如下图所示。

图中列举了一个Fabric CCC,其它CCC具有相似的输入和输出。从图中可以看出,第一种振荡器:外部主晶体振荡器可以32KHz~20MHz的外部晶振。

3.1、global buffers

GBs为FPGA fabric提供低倾斜率的全局信号,GBs可以通过4种方式驱动:1、专用的全局I/O,2、虚拟的CCCs(Virtual CCCs,VCCCs)3、Fabric CCCs,4、FPGA fabric routing(FPGA结构路由)

一些专用的全局I/O可以直接连接GBs,但是其它的必须通过VCCCs或者fabric CCCs连接GBs,并且通过一些有规则的I/O或者通过内部信号经由FPGA结构路由进行连接。

每个CCC模块的四个全局时钟输出(GLx,x=0到3)通过硬件连接到GBs,另外GLx同样可以产生四个core clocks(Yx,x=0到3)用于驱动fabric routing资源,请注意core clocks并没有通过global clock buffers进行布局,所以core clocks在使用时可能会扭曲变形导致结果出乎意料。

3.2、片上振荡器

片上1MHz RC振荡器、50MHz RC振荡器和主晶体振荡器通过硬件连接到MSS和所有的fabric CCCs上,这几种振荡器可以作为如下几种分系统的时钟:1、Fabric CCCs,2、通过FPGA fabric routing建立的用户时钟网络,3、Flash*Freeze模式下的MSS,4、MSS RTC。

3.3、Fabric CCC

每个fabric CCC都有自己独立的参考时钟,通过如下的时钟源获得:1、四个专用的全局I/Os(CCC_xyz_CLKIw,w=0到3)2、FPGA fabric输入(CLKx,x=0到3)3、片上时钟源。

3.4、base clocks

所有基础时钟(MCCC_CLK_BASE或者CLK_BASE)都必须经过FPGA fabric才能送到MSS或者FDDR、SERDESIF,基础时钟可以通过Fabric CCC或者内部/外部时钟源产生。MSS CCC使用base clock(基础时钟)作为参考,通过MPLL产生各种同步时钟。FDDR、SERDESIF子系统同样有自己的PLL时钟控制器产生所需的时钟。

3.4.1、MSS CCC

SmartFusion2有专门的CCC用于产生同步时钟给MSS子系统,保证与用户自己的FPGA fabric逻辑通信正常。MSS CCC(MCCC_CLK_BASE)来源于Fabric CCC或者通过FPGA fabric连接外部源。MSS CCC通过专用 的PLL(MPLL)对MCCC_CLK_BASE时钟进行合成和校正。

MCCC_CLK_BASE频率:1MHz~200MHz

MSS(M3_CLK)频率最高166MHz

MDDR时钟(MDDR_CLK)频率最高333MHz(应该是M3_CLK的1/2/3/4/6/8倍)

MDDR fabric接口时钟(DDR_FIC_CLK)频率是MDDR_CLK的Ratio 1,2,3,4,6,8,12,16

MSS APB0/1外设时钟频率(APB_0_CLK和APB_1_CLK)是M3_CLK的Ratio 1,2,4,8

FPGA fabric接口时钟(FIC_0_CLK和FIC_1_CLK)是M3_CLK的Ratio 1,2,3,8,16,32

四、FPGA Fabric 全局网络架构

4.1、全局网络架构介绍

4.1.1、专用的全局I/O

SmartFusion2的用户I/Os被划分为多标准的I/O(MSIO和MSIOD)和DDRIOs,部分用户I/O可以当做专用的全局I/O,这些用来驱动全局路由网络或者本地路由网络的I/O被称作复用I/Os。

专用的全局I/O可以作为输入连接外部时钟信号到FPGA fabric,这些全局I/O还可以当做通用的I/O口,进行输入或输出。

一些专用的全局I/O可以直接连接GBs,然而其它的要通过VCCCs或者fabric CCCs。每个Fabric CCC都有四个专用的全局I/Os作为输入,并且可以驱动四个GBs。

全局专用I/Os通过硬件连接的方式连接Fabric CCCs、VCCCs和GBs

全局专用I/Os使用通用的名字,例如:IOxyBz/GBn/CCCtype_xyz_CLKIw

专用的全局I/O电压跟其所处的IO Bank的电压保持一致。未使用的IO和其它通用IO一样,设置成input buffer disable,输出三态弱上拉。

4.1.2、Fabric CCC

每个Fabric CCC可以产生4个不同的全局时钟(GL0、GL1、GL2、GL3)和4个core clocks(Y0、Y1、Y2、Y3),产生的全局时钟用于驱动GBs,core clocks驱动位于FPGA fabric的local routing resources(本地路由资源)

Fabric CCC的core clock 输出(Yx)可以被用来驱动内部的逻辑,而不占用全局网络资源。由于FPGA fabric routing,core clocks(Yx)将会有一些延迟。core clock在需要节约全局网络资源或者timing-critical paths(Critical Path:全称是关键路径。一般是指我们设计中时序最关键的路径,通常也就是timing最差或者最难修的路径。我们要学会从时序报告中去找到timing最差的path并去分析它。那如何分析呢?首先,我们可以看下这条path的走向是否合理,也叫作detour,通俗的解释就是有没有绕远路。其次,我们可以看下设计的clock tree做得平不平。 通常来说,我们还是希望clock tree能尽可能做平一点,这样timing更容易meet。简单一点的方法,我们能直接从时序报告中得到clock tree的skew,就是自己算下launch clock path和capture clock path的delay差值,如果差值过大,那就要重点看一下clock tree的质量了。最后,我们也可以分析下具体data path上,有没有一些bad buffering, 过大的 load或者transition,甚至一些距离比较长的net都可以研究下)时显得尤为重要。

与GLx有关的GBs可以被用户逻辑使用。

4.1.3、VCCC

每个VCCC都有4个专用全局IO管脚作为输入,可以驱动4个GBs。VCCC模块没有fabric的输入和输出,并且他们不能互相连接。

使用Libero SOC开发工具,基于专用全局IO可以对VCCC自动进行实例化,而不能通过人工干预进行实例化。

在Libero SOC开发工具里,VCCCs不能动态配置,可以在FPGA fabric时序编程时可以通过flash bits sets进行配置。

4.1.4、Global Buffer

GB是一个multiplexer(多路调制器、多路开关,目前不知道如何称呼比较妥当)用来产生独立的全局信号。

GB可以被全局专用I/Os、fabric CCCs、VCCCs或者fabric routing等驱动。

Libero SoC设计软件基于fabric CCC输出(GL0 - GL3) 执行全局缓冲区(GBs)分配。

4.2、推荐的全局网络设计

4.2.1、Global Macros

Global macros用来分配信号到全局网络上。下图中列举了SmartFusion2中的可用的global macros。CLKBUF, CLKBIBUF, GCLKBUF,and GCLKBIBUF macros可以允许你把时钟从全局专用I/Os布线到GBs上,具有最小的延时。CLKINT和GCLKINT将内部时钟信号或者通用I/O信号通过FPGA fabric routing连接到GBs上。

4.2.2、在Synplify Pro中使用Global Macros

综合工具Synplify自动将global macros插入到nets where the fanout exceeds the
fanout threshold value supplied to the tool. The fanout threshold value can be set using the constraint set_option -globalthreshold value, where the value refers to the minimum number of fanout loads. The default value is 1.

4.2.3、Global Promotion and Demotion Using PDC

Libero SOC设计工具可以允许你通过PDC命令将一个信号提升到全局网络或者降级为通用网络。

提升信号的语法:assign_global_clock -net netname

        此网络经过编译,将会自动插入到CLKINT进行驱动

降级信号到通用网络:unassign_global_clock -net netname

        此时,CLKBUF变成了INBUF,CLKINT被从网络上移除。

五、片上振荡器

5.1、四种振荡器介绍

片上振荡器可以通过Libero开发工具中的Chip Oscillators macro进行配置去驱动用户逻辑或者fabric CCCs。

5.1.1、1MHz RC振荡器

1MHz RC振荡器供电为芯片核心电压VDD

5.1.2、50MHz RC振荡器

50MHz RC振荡器供电为芯片核心电压VDD

5.1.3、主晶振

主晶振可以外接一个晶振用来提供源,主晶振有2个I/O口,XTLOSC_MAIN_EXTAL 和 XTLOSC_MAIN_XTAL,如果主晶振没有使用,这两个管脚可悬空。

主晶振可以选择外接三种不同的源:晶体振荡器、RC振荡器、陶瓷振荡器。三种源输出的频率范围不同。

 主晶振支持四种工作模式,在Libero设计工具中的IP核进行选择不同的输入源后,模式将会自动切换。四种工作模式见下表

 

5.1.4、 Auxiliary Crystal Oscillator

 辅助晶振专用与MSS RTC,需要外接晶振,有两个I/O口:XTLOSC_AUX_EXTAL 和 XTLOSC_AUX_XTAL

5.2、如何使用片上晶振

 通过Libero SOC设计软件可以配置3中片上晶体振荡器和Fabric CCCs。

双击Chip Oscillators在SmartDesign画布上创建时钟,会弹出下图窗口。共有三个选项可以选择:外部主晶体、片上25/50M、片上1M振荡器。

仔细观察可以发现,不管是选择三种之中的哪种(除了辅助晶体振荡器),都可以选择1、驱动Fabric(FPGA)的CCC,2、驱动Fabric(FPGA)逻辑。

如果选用Main Crystal(主晶振)连接fabric CCC的话,CCC的配置界面如下,clock选项应该选择主晶振(main crystal oscillatror)

 片上晶振驱动fabric CCC(s)的连接如下:

片上晶振驱动用户逻辑如下:

建议使用main crystal或者auxiliary crystal产生MSS RTC的时钟。

六、Fabric CCC

Fabric CCC可以通过Libero工具设置,也可以通过APB3总线接口进行动态设置。

SmartFusion2系列芯片拥有的CCC数量见下图:

下图中的N代表不同芯片可放置的CCC数量,例如,M2S150可以放置编号FCCC_0~FCCC_7共8个CCC。

Fabric CCC具有如下特色:

1、可接内部和外部的时钟源;

2、产生四种不同的时钟,最高400MHz;

3、经过PLL lock后自动输出同步;

4、Configurable phase error window for PLL lock assertion;

5、可配置PLL lock延迟;

6、Spread spectrum clock generation(SSCG)(扩频时钟产生器)

7、无任何故障的动态时钟切换;

8、时钟延迟或时钟提前;

9、时钟相移;

10、时钟反转;

11、时钟保持;

12、时钟门控;

6.1、Fabric CCC的位置

所有可用的fabric CCC都与专用PLL相关联。例如与CCC-NE1相关的PLL能够接受32 KHz参考时钟输入,而其他(NE0、NW0、NW1、SW0、SW1等)能够接受1 MHz和200 MHz之间的参考时钟输入。

 每种器件包含的CCC数量不同(2~8)。

6.2、Fabric CCC的输入

当使用PLL时,PLL的参考时钟频率必须在1MHz~200MHz之间(除CCC-NE1必须使用32KHz外)当不使用PLL时,fabric CCC的输入时钟频率可以高达400MHz。

6.3、如何使用Fabric CCC

6.3.1、配置页面

CCC配置——Basic页面如下

Reference Clock可有三种选型:Dedicated Input、Fabric Input、Oscillators

Dedicated Input:

Dedicated Input 0~3对应的管脚名称是CCC_xyz_CLKIw(w,0~3),xy代表CCC的位置(NE、NW、SE、SW),z代表CCC的编号(0、1)

依据原理图,可以选择时钟源是否为差分输入。例如下第二张图,图中左下角为原理图。

CCC配置——Advanced页面如下

6.3.2、推荐配置流程

1、选择期望输出的时钟数量;

2、设置每路时钟输出的频率;

3、对于每个选定的输出时钟,从中选择所需的参考时钟(NGMUX主时钟)将从中导出输出。它可以是以下任意一种:CCC的一个输入时钟(PLL Bypass模式)、8个PLL输出相位中的一个;

4、如有必要,配置NGMUX次时钟频率和参考时钟,从中获取数据将导出。它可以是以下任一项:CCC的一个输入时钟(PLL Bypass模式)、8个PLL输出相位中的一个;

5、如果使用PLL:

        a)选择PLL的参数时钟和频率;

        b)选择PLL反馈时钟;

        c)依据板子上的供电电压,选择PLL的模拟电压是2.5V还是3.3V,

        d)如果需要,通过配置延迟来启用可编程延迟元件;

6、输入每个选定时钟源的频率。配置器使用这些频率计算PLL参考和反馈分频器以及GPD的分频因子,如上图所示。

7、在PLL Options配置页面,配置高级选项,例如GPD输出同步配置、PLL SSCG和锁定PLL选项选项卡中的控制参数等。

七、MSS CCC

SmartFusion2中MSS的时钟有专用的CCC产生,用于和用户在fabric部分编写的逻辑(user logic)对齐时钟:MSS_CCC,MSS CCC的基础时钟来自fabric CCC或通过FPGA fabric的外部输入源。

MSS CCC有自己的PLL(MPLL),用于时钟合成和将MSS时钟输入信号(MCCC_CLK_BASE)进行处理。建立程序,查看默认配置下,MSS接口如下图所示,MCCC_CLK_BASE为MSS时钟输入端口

MSS部分的CCC支持以下可配置功能:

1、MSS通过MCCC_CLK_BASE输入的时钟范围为1MHz~200MHz

2、MSS的时钟(M3_CLK)最高可支持166MHz

3、MSS部分的DDR控制器(MDDR)的时钟(MDDR_CLK)频率最高为333MHz,应该为M3_CLK的1,2,3,4,6,8倍

4、MDDR可以由MSS控制,也可以由Fabric控制,MDDR的Fabric控制端口的时钟(DDR_FIC_CLK)为MDDR_CLK ÷ 1,2,3,4,6,8,12,16    见下图

5、MSS APB0/1的外设时钟(APB_0_CLK和APB_1_CLK)为M3_CLK ÷ 1,2,4,8  见下图

6、MSS的fabric接口时钟(FIC_0_CLK和FIC_1_CLK)为M3_CLK ÷ 1,2,4,8,16,32  见下图

7、在设置相位误差配置MPLL锁定(待理解后修改)

8、设置MPLL锁定延时

9、PLL LOCK assertion interrupt的产生与锁相环(‌PLL)‌的失锁状态有关。‌当PLL无法保持与输入信号的频率和相位确定关系时,‌即发生失锁,‌这会触发PLL LOCK assertion interrupt,然后该中断会送到MSS的Cortex-M3 processor

10、将MPLL的信号送到fabric

11、如果MCCC_CLK_BASE由fabric CCC生成,则Fabric PLL lock monitor
12、Flash*Freeze模式下,MSS的时钟源需要从4种片上时钟源中进行选择

MDDR的时钟为M3_CLK的1,2,3,4,6,8倍
MSS APB0/1的外设时钟(APB_0_CLK和APB_1_CLK)为M3_CLK ÷ 1,2,4,8
如果设置FIC的时钟,则需要先开启FIC接口
MSS的fabric接口时钟(FIC_0_CLK和FIC_1_CLK)为M3_CLK ÷ 1,2,4,8,16,32标题
9、PLL LOCK assertion interrupt
10、将MPLL的信号送到fabric

7.1、MSS CCC功能组成

MSS CCC包含MPLL和FACC(fabric alignment clock controller)组成,用于生成和用户逻辑(user logic)同步的时钟信号。下图为MSS CCC生成的同步时钟信号(蓝色线)。

7.1.1、MPLL

MCCC_CLK_BASE为MPLL的参考时钟,通过MPLL后可倍频到333MHz,MCCC_CLK_BASE可通过fabric CCC/PLL生成、片上时钟源、或通过直接全局I/O接入外部时钟源。

当MPLL锁定MCCC_CLK_BASE信号后,MPLL生成一个锁定信号(MCCC_MPLL_LOCK),MCCC_MPLL_LOCK的频率偏差可以调整的,从500ppm到32000ppm。

7.1.2、FACC

FACC负责与MPLL对接,生成MSS子模块所需的各种时钟信号,并且控制与fabric接口时钟对齐。

FACC功能模块图

以下时钟均由FACC生成

7.1.2.1、FACC分频器(FACC Dividers)

FACC包含两部分分频,将MPLL输出的高频时钟降低至MSS分模块所需时钟。

7.1.2.1、多路复用器(No-Glitch Multiplexers)

FACC包括四路无故障多路复用器(NGMUXs),当上电初期、Flash*Freeze模式或者在线升级IAP(in-application programming)时,MPLL未初始化完成或暂时无法使用,MCCC_CLK_BASE是无法使用的,此时,多路复用器从三种片上振荡器中选择一种作为备用时钟(CLK_STANDBY),默认选择50MHz RC晶振作为备用。Flash*Freeze模式下可选择1 MHz RC oscillator, or 50 MHz RC oscillator,而IAP时,多路复用器必须设置为选择50MHz RC oscillator作为时钟源。

MPLL初始化时,FACC的配置过程(绿线,选择时钟源的过程)

7.1.3、 PLL的监控

MSS CCC有一个输入管脚用来监控fabric PLL是否锁定完成,必须与fabric PLL输出的锁定信号连接。

同样,MCCC PLL的锁定信号(MCCC_MPLL_LOCK)要被Cortex-M3 processor或者用户逻辑(user logic)代码监控。

在MSS里,有四个中断跟PLL锁定有关,分为fabric PLL lock和MPLL lock两种。可通过MSS系统寄存器进行读取。

7.2、MSS的时钟配置

7.3、如何将MSS和FIC子系统进行时钟同步

在MSS和FPGA结构FIC子系统之间,同步通信必须遵循SmartFusion2体系结构的以下规则:

1、Drive each FPGA fabric FIC subsystem by a clock with a frequency that matches the frequency defined for that particular subsystem in the Clocks configuration tab in System Builder wizard.
2、The FPGA fabric FIC subsystem clock with the smallest frequency must drive the MSS
CLK_BASE.
3、Align all the FPGA fabric FIC subsystem clocks precisely; the clocks could be of different
frequencies, but align the rising-edges of the slower clocks to the rising-edges of the fastest
clocks

目前我是这么理解的:FIC subsystem的时钟来自Fabric CCC,同时,Fabric CCC是向MSS_BASE_CLK提供时钟的。

7.4、启动后MSS时钟配置顺序

下边讲一下从上电后,MSS时钟配置顺序。

1、上电复位后,MSS通过CLK_STANDBY由50MHz RC oscillator时钟驱动,此时MDDR一直处于复位状态,此刻用户编写逻辑时可通过监控MPLL lock信号来阻止代码试图访问MSS。但MSS此时可继续运行在一种限制模式下(不能使用FIC);

2、配置fabric CCC、MPLL和FACC分频比:等待fabric CCC的锁定信号,等待MPLL的锁定信号;

3、锁定后,系统控制器会切换M3_CLK,HCLK,APB_0/1_CLK和DDR_FIC_CLK等信号,从50MHz的默认值到FACC的设定值;

4、释放MDDR和fabric接口的复位信号;


词汇表

CCC
Clock conditioning circuitry
FAB_CCC
Fabric CCC configurator
FACC
Fabric alignment clock controller
FBCLK
Fabric PLL feedback clock input
FBDIV
Fabric PLL feedback clock divider
FBDLY
Fabric PLL feedback clock programmable delay
FBMUX
Fabric PLL feedback clock multiplexer
GB
Global buffer
GPD
General purpose frequency divider
GPMUX
General purpose multiplexer
MPLL
Memory subsystem PLL
MSS_CCC
MSS CCC configurator
NGMUX
No-Glitch multiplexer
PLL
Phase-locked loop
RDLY
Fabric PLL reference clock programmable delay
REFCLK
Fabric PLL reference clock input
RFDIV
Fabric PLL reference clock divider
RFMUX
Fabric PLL reference clock multiplexer
SSC
Spread spectrum clock
SSCG
Spread spectrum clock generation
VCCC
Virtual clock conditioning circuitry

专用术语

 FPGA fabric
Programmable logic portion of the SmartFusion2 and IGLOO2 devices
Base clock (MCCC_CLK_BASE)
Reference clock input to the MSS and HPMS from the FPGA fabric
On-chip oscillators
Includes various oscillator circuitry available on SmartFusion2 and IGLOO2 devices.
Fabric PLL
The PLL which is used in conjunction with the fabric CCC for generating clocks for the logic implemented in the fabric
Fabric CCC
Provides clock conditioning capabilities to the logic implemented in the FPGA fabric.
High-speed serial interfaces
On-chip SERDES interfaces
User Logic
The logic implemented in the FPGA fabric portion of the SmartFusion2 and IGLOO2 devices
VDD
Device core power supply or core supply voltage
MPLL
The PLL which is dedicated for the MSS and HPMS clocking
Static configuration
Configured using Libero SoC tool and cannot be modified at run time.
Dynamic configuration
Configuration can be modified at run time by writing to appropriate registers.
Glitch free clock switching
Switching the clock source of a subsystem without any glitches.
Clock holding
Stopping the clock signal without any glitches by asserting CCC control input (NGMUX_HOLD_N). It holds the clock signal at Low.
Clock gating
You can enable or disable the global clocks by driving the control signal (GLx_EN) from the FPGA fabric.
 

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值