0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

易灵思钛金系列时钟选择功能-2 以Ti60F225为例来介绍如何实现下面的4选择1时钟选择功能

XL FPGA技术交流 来源:XL FPGA技术交流 作者:XL FPGA技术交流 2025-05-28 10:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在trion要实现一个4选1时钟复用或许比较麻烦。但是在钛鑫上已经给出了解决方案。这里以Ti60F225为例来介绍如何实现下面的4选择1时钟选择功能。

wKgZO2g2ewWAKcazAACP0mIpAKQ930.png

FPGA的top,bottom,right和left各有8个clkmux,分别是Mux 0 ~ Mux 7。

每个MUX的时钟来源包括GPIO,LVDS RX(支持gclk和rclk),MIPI RX LANE(用于时钟的),PLL,Oscillator(片上晶振)和Core(从Core逻辑出来的信号)

其中只有Mux0和Mux7可以支持4路动态复用,相当于Altera的clockctrl模块用于时钟动态选择。下图以top为例。

wKgZO2g2ewWABJJ5AAGL5viAGdA463.png

从上图我们可以看到MUX0和MUX7的时钟来源包括Core Clock,GPIO,PLL。我们详细列出top部分Mux0的时钟源。如表1

wKgZO2g2ewaALrb3AAC9Ns83Qpg518.png

表1

有了上面的信息,我们来进行关于时钟复用的设置。

在interface中选择Device Setting -> Clock/Control Configuration,可以看到对应的top,bottom,right和left的选项。

wKgZO2g2ewaAavb3AADzFbhtHMw422.png

这里我们点击Top:CLKMUX_T,在右侧Global Buffers可以看到三部分。分别是Core Clocks, Enable Dynamic Mux0和Enable Dynamic Mux7(前面已经提到只有Mux0和Mux7支持动态复用)。 对于表1中的Core clocks就是在下图的Core Clocks设置。它指由Core 到interface中的信号。该信号如果是Core中有逻辑信号需要添加相应的GPIO。这里分别命名为core_clk0,core_clk1,core_clk2和core_clk3. 对于GPIO和PLL的时钟并不需要手动输入,因为是固定的时钟,只需要选择即可(如果不明白,请继续往下看)。

wKgZO2g2ewaABkshAAA2wT0MAV4832.png

这里我们只打开Mux0,即勾选Enable Dynamic Mux0。

Dynamic Clock Mux Select[1:0] Bus Name是选择信号的名称,这里我们输入top_mux0_csel;

Dynamic Clock Pin Name是指Mux输出的信号,这是我们命名为top_mux0_clk;

Dynamic Clock Input n(0~3):是指每个输入选择项的时钟来源。

wKgZO2g2ewaAUu9IAABi5ok_Dr4105.png

在Dynamic Clock Input N(N指0~3)下面的下拉框可以看到GPIO时钟源、PLL时钟源和Core时钟源是可以选择的。如果不需要配置该时钟可以选择None。Unassigned表示相应的时钟并没有设置。根据需要选择相应的时钟即可,这里我们都选择了core_clock。

wKgZO2g2ewaAI-dwAAAlzVCunGk018.png

设置完成之后点击Check Design来检测设置是否有错。

wKgZO2g2ewaAdsxyAADwRdsSyOk895.png

Check Design无误后可以在生成的template中看到下面的信号,添加到顶层文件可以使用。

output[1:0]top_mux0_csel,inputtop_mux0_clk,

我们设置成如下时钟方案,在使用中报出如下错误:

wKgZO2g2ewaAfUnFAAB95w5YiXI602.png

Rule:clkmux_rule_core_clock_static_mux(Error)

Description:Core clock pin not allowed to route through static mux output

说明:从core给出的core clock是不能驱动静态的MUX的,只能驱动动态MUX.包括在Core Clocks输入了从core输出的时钟,但是实际没有使用。如下图,输入了core clock名为test_clk1,但是实际使用的是PLL_TL0.CLKOUT1:tx_x1_clk,就会报上面的错误。

wKgZO2g2ewaAFIknAACJPfz81b8470.png

我们设置成如下方案,使用中可能会报如下错误:

wKgZO2g2ewaAROwaAABxSL68NlE901.png

Rule:clock_rule_dyn_clkmux_input

Description:The following clocks need to connect independently to core since they are dynamic clock mux input that also drives the clock pins on the periphery through clockout interface tx_x1_clk

说明:这个问题是说tx_x1_clk即驱动动态的MUX,又驱动core内部的逻辑,这里需要勾选Indepndetly Connect to Core.

wKgZO2g2eweAU9UIAAApNSqbABg629.png

另外如果mux的时钟既有来自core的也有来自PLL的会给出如下警告:

Rule:clkmux_rule_pll_clock(warning)

Description:Dynamic clock mux 0 connected to both inverting and non-inverting clock sources:Clock inversion will not be applied to to_mux0_clk

说明:如果时钟来源既有core clock又有pll输出,会有上面的告警信息。

也可以把pll输入时钟输入Core Clock选项中,在时钟选择框中选择Core Clock。就不需要勾选Indepndetly Connect to Core.

那区别在哪里呢,区别就在于如果选择pll时钟输出,时钟是在interface给到MUX的;如果选择core clock,那么时钟就要先进入core,然后再返回到interface再给到MUX,所占用的GBUF数量是不相同的.或者用另一种表达方式:core时钟进入动态MUX的信号必须要先经过GBUF,而pll的输出可以不经过GBUF而送给动态MUX.而有时候我们会发现pl给动态MUX的时钟占用了GPUF,那是因为该时钟驱动了core逻辑。

wKgZO2g2eweAXREJAAAY8VeZU_A853.png

wKgZO2g2eweAT_0vAAAdlVWy6Ik499.png

注意

(1)如果mux的4路输入时钟没有完全选择,比如只用到两个时钟,那么输入0必须使用,否则不能运行,比如选择的是2,3两路,时钟是没有输出的;

(2)如果某一路没有时钟,也不能进行选择,否则无时钟输出也不能再切回来。比如只有0和1有时钟,选择时切到2上,肯定没有输出,再切回0或者1也没有办法再输出。

(3)如果没有勾选Independently Connect To Core,即使逻辑顶层定义了该时钟也是不能使用的。

wKgZO2g2eweAUNWtAABlWASO4-4225.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1656

    文章

    22293

    浏览量

    630436
  • 时钟
    +关注

    关注

    11

    文章

    1953

    浏览量

    134561
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FPGA全局时钟网络结构详解

    针对不同类型的器件,Xilinx公司提供的全局时钟网络在数量、性能等方面略有区别,下面Virtex-4系列芯片
    发表于 11-28 18:49 1.4w次阅读
    赛<b class='flag-5'>灵</b><b class='flag-5'>思</b>FPGA全局<b class='flag-5'>时钟</b>网络结构详解

    LVDS用法:LVDS RX 时钟选择 LVDS的PLL的复位信号的处理

    采集数据。 Ti60F225,它共有4个PLL,分别为PLL_BL,PLL_BR,PLL_TR和PLL_TL
    的头像 发表于 06-18 11:35 7101次阅读
    LVDS用法:LVDS RX <b class='flag-5'>时钟</b><b class='flag-5'>选择</b> LVDS的PLL的复位信号的处理

    采用Ti60F100的Ti60F100I3评估板详解

    简介     TI60F100-DK是一款采用Ti60F100开发的评估板。 采用底板和核心板分离的方式
    的头像 发表于 01-22 11:39 2395次阅读
    采用<b class='flag-5'>易</b><b class='flag-5'>灵</b><b class='flag-5'>思</b><b class='flag-5'>Ti60F</b>100的<b class='flag-5'>Ti60F</b>100I3评估板详解

    选择(Xilinx)FPGA 7系列芯片的N个理由

      电子发烧友网讯:赛FPGA 7系列芯片正燎原之势席卷整个行业。在本文,电子发烧友网小编将带领大家一起走近Xilinx的FPGA 7系列
    发表于 09-06 16:24

    选择系统时钟的来源

    首先是选择系统时钟的来源,可以是HSI,HSE,经过PLL分频后的HSE,一般使用经过PLL分频后的外部高速晶振(HSE)。配置48M的USB虚拟串口时钟频率
    发表于 08-10 06:12

    介绍STM32F4时钟配置实现

    本文以外部高速时钟源HSE介绍STM32F4时钟配置
    发表于 08-19 08:01

    STC12C5A60S2介绍最小系统

    本节STC12C5A60S2介绍最小系统。最小系统考虑3方面内容:1.供电电压(3v/5v
    发表于 11-25 07:09

    TI 时钟和定时产品选择指南

    TI 时钟和定时产品选择指南
    发表于 09-20 08:53 3次下载
    <b class='flag-5'>TI</b> <b class='flag-5'>时钟</b>和定时产品<b class='flag-5'>选择</b>指南

    STC8F/A系统时钟选择外部时钟串口测试程序

    11.0592M,串口波特率设置在115200验证方法: 1 编译后 STC-ISP下载内部IRC频率可选任意值 2 串口设置成“编程完成后自动打开串口” 3 串口波特率设置成115200
    发表于 12-23 19:10 0次下载
    STC8<b class='flag-5'>F</b>/A系统<b class='flag-5'>时钟</b>源<b class='flag-5'>选择</b>外部<b class='flag-5'>时钟</b>串口测试程序

    16nm FPGA助力汽车市场发展 天玑智慧监管解决方案亮相推进会

    针对新能源汽车中的自动驾驶、智能座舱和电气化应用,推出40nm Trion系列中T13F169/F
    发表于 03-07 11:05 1671次阅读

    内部重配置实现远程更新

    除通过外部多功能IO选择之外,通过内部重配置实现
    的头像 发表于 05-30 09:24 2538次阅读
    <b class='flag-5'>易</b><b class='flag-5'>灵</b><b class='flag-5'>思</b>内部重配置<b class='flag-5'>实现</b>远程更新

    Ti60F100驱动LCD屏案例

    其中Ti60F100的核心板与MIPI 子卡之间通过QSE座连接,这也是所有demo板都使用的接口方案。MIPI子卡通过FPC 30pin座子连接LCD屏。
    发表于 07-10 11:51 1702次阅读
    <b class='flag-5'>易</b><b class='flag-5'>灵</b><b class='flag-5'>思</b><b class='flag-5'>Ti60F</b>100驱动LCD屏案例

    测量时钟信号的时候探头带宽如何选择

    选择探头带宽时,需要考虑被测时钟信号的频率范围以及所需的测量精度。以下是一些指导原则: 1. 带宽选择:探头带宽应该比被测时钟信号的最高频率
    的头像 发表于 04-15 10:27 1710次阅读
    测量<b class='flag-5'>时钟</b>信号的时候探头带宽如何<b class='flag-5'>选择</b>

    浅谈LVDS-V1

    采集数据。 Ti60F225,它共有4个PLL,分别为PLL_BL,PLL_BR,PLL_TR和PLL_TL
    的头像 发表于 12-10 10:00 1165次阅读
    浅谈LVDS-V<b class='flag-5'>1</b>

    实时时钟模块选择指南和比较表

    爱普生提供内置 32.768 kHz 晶体单元的多种实时时钟模块。除了单纯的计时功能外,还有即使在高温环境下也能保持准确计时的产品,以及配备其他各种功能的产品。您可以使用下面的流程图和
    发表于 03-14 10:28 0次下载