FPGA项目开发之时钟规划

FPGA技术江湖 2022-10-06 08:20

FPGA项目开发之时钟规划

当我刚开始我的FPGA设计生涯时,我对明显更小、更不灵活的 FPGA(想想 XC4000XL / Clcyone3/4和 Spartan)和工具的非常简单的时钟规则之一是尽可能只使用单个时钟。当然,这并不总是可能的,但即便如此,时钟的数量仍然有限。

多年来,当我们转向功能更强大的设备和工具后,我们经常能发现自己的设计具有复杂的时钟结构,其中包括有源同步设备,如连接到处理器的 AXI 时钟、信号链时钟,并且需要处理跨时钟域问题(在视频应用中尤其常见)。

这意味着我们有一个复杂的时钟环境——一个很容易出现时钟错误的环境。这将导致时序很难收敛或更产生糟糕的情况,例如引入无意的时钟域交叉错误,从而导致数据或控制信号跟随损坏。

我们将从 7 系列FPGA开始我们的旅程。当我们考虑时钟规划时,我们需要确保使用设备内最合适的资源并了解其内部时钟架构。我们只需要简单的确保时钟信号连接到 IO 上适当的时钟引脚的日子已经一去不复返了。

时钟规划有两个方面。第一个来自设计本身的架构。在这里,在这个架构中,我们决定设计有多少时钟以及它们之间的关系。理想情况下,除了尽量减少使用的时钟数量外,我们还希望尽可能少地执行跨时钟域。

正是在这个时钟规划期间,我们可以绘制我们的初始时钟架构和相关的复位架构。时钟架构也是我们展示时钟域之间交互的地方,这是我们在编写第一行 HDL 或打开 Vivado 之前应该创建的东西。我们可以从一个简单的图表开始,如下图所示,它显示了主要时钟元素,然后随着设计的发展而进一步细化这个图。

一旦我们有了时钟架构,我们就可以将这些时钟映射到目标设备的资源中。7 系列器件具有以下范围的时钟资源。

  • 支持时钟的输入引脚(Clock capable input pins)——支持单个或多个时钟区域
  • 全局时钟(Global clocks )——能够为整个设备提供时钟
  • 区域时钟(Regional clocks)——能够为一个区域(和相邻区域)的时钟提供时钟
  • IO 时钟(IO clocks)——能够为 IO 结构提供时钟
  • 时钟管理模块(Clock management tiles)——提供先进的时钟结构,例如 MMCM 和 PLL

在内部,FPGA本身被分成几个时钟区域,其中包含 CLB、BRAM、DSP、GT、I/O 和其他功能。每个区域还包含多个时钟资源,包括支持以下内容的功能:

  • 12个全局时钟
  • 2个跨区域时钟(multi-region clocks )
  • 4个区域时钟(regional clocks)
  • 4 个 IO 时钟

要访问这些,我们使用以下几种缓冲区类型:BUFG、BUFR、BUFIO、BUFMR。还有一个BUFH,它是水平时钟(horizontal clock)。全局时钟包含在垂直运行的时钟主干中,水平时钟为时钟区域提供 BUFG 和 BUFH。BUFG 不必位于时钟区域内。

下面的图表可视化的展示了FPGA和区域内的时钟资源。

更过可以查看《UG472》~

我们可以通过时钟架构和对可用资源的充分了解,来确保我们的项目可以得到最佳设计,但是这会对引脚规划产生影响。有一个这样的例子是,如果我们使用 DDR 和 MIG,我们应该确保时钟输入和 CMT 在我们实现 MIG 时位于同一区域。

与所有设计一样,我们需要知道工具是如何实现设计以及使用了哪些资源。

我们可以使用 Vivado 时钟报告(TCL 窗口中的report_clocks)来分析 Vivado 检测到的时钟。将会生成定义时钟。

我们还可以做的一件事是运行时钟利用率报告 (report_clock_utilization),它将显示时钟分配给可用资源的情况。

在 SpaceWire 设计示例中,可以看到设计中只使用了几个 BUFG。

我们可以在报告的下方看到全局时钟资源的详细使用情况。

该报告将使我们能够确定我们是否以我们初始架构的方式植入了时钟架构。如果没有,我们需要确定目前工具实现的方式和我们设计的时钟树有什么区别,并分析哪种方式更优。

我们可以运行时钟交互报告和 CDC 报告来帮助了解时钟网络中可能出现的问题。这些报告还可用于确保我们的约束是否生效,尤其是在与设计分析报告和结果质量报告一起运行时。

关于时钟设计后续我们继续以专题方式分享,请持续关注~


END


往期精选 

 
 

【免费】FPGA工程师招聘平台

简谈FPGA设计中系统运行频率计算方法与组合逻辑的层级

SANXIN-B01开发板verilog教程V3电子版

学员笔记连载 | FPGA Zynq 千兆以太网回环

求职面试 | FPGA或IC面试题最新汇总篇

FPGA项目开发:204B实战应用-LMK04821代码详解(二)

项目合作 | 承接FPGA项目公告

资料汇总|FPGA软件安装包、书籍、源码、技术文档…(2022.09.24更新)


FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

加群主微信,备注姓名+公司/学校+岗位/专业进群


FPGA技术江湖QQ交流群

备注姓名+公司/学校+岗位/专业进群

FPGA技术江湖 任何技术的学习就好比一个江湖,对于每一位侠客都需要不断的历练,从初入江湖的小白到归隐山林的隐世高人,需要不断的自我感悟自己修炼,让我们一起仗剑闯FPGA乃至更大的江湖。
评论
  • 随着AI大模型训练和推理对计算能力的需求呈指数级增长,AI数据中心的网络带宽需求大幅提升,推动了高速光模块的发展。光模块作为数据中心和高性能计算系统中的关键器件,主要用于提供高速和大容量的数据传输服务。 光模块提升带宽的方法有两种:1)提高每个通道的比特速率,如直接提升波特率,或者保持波特率不变,使用复杂的调制解调方式(如PAM4);2)增加通道数,如提升并行光纤数量,或采用波分复用(CWDM、LWDM)。按照传输模式,光模块可分为并行和波分两种类型,其中并行方案主要应用在中短距传输场景中成本
    hycsystembella 2025-01-25 17:24 473浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 321浏览
  • 前篇文章中『服务器散热效能不佳有解吗?』提到气冷式的服务器其散热效能对于系统稳定度是非常重要的关键因素,同时也说明了百佳泰对于散热效能能提供的协助与服务。本篇将为您延伸说明我们如何进行评估,同时也会举例在测试过程中发现的问题及改善后的数据。AI服务器的散热架构三大重点:GPU导风罩:尝试不同的GPU导风罩架构,用以集中服务器进风量,加强对GPU的降温效果。GPU托盘:改动GPU托盘架构,验证出风面积大小对GPU散热的影想程度。CPU导风罩:尝试封闭CPU导风罩间隙,集中风流,验证CPU降温效果。
    百佳泰测试实验室 2025-01-24 16:58 189浏览
  • 项目展示①正面、反面②左侧、右侧项目源码:https://mbb.eet-china.com/download/316656.html前言为什么想到要做这个小玩意呢,作为一个死宅,懒得看手机,但又想要抬头就能看见时间和天气信息,于是就做个这么个小东西,放在示波器上面正好(示波器外壳有个小槽,刚好可以卡住)功能主要有,获取国家气象局的天气信息,还有实时的温湿度,主控采用ESP32,所以后续还可以开放更多奇奇怪怪的功能,比如油价信息、股票信息之类的,反正能联网可操作性就大多了原理图、PCB、面板设计
    小恶魔owo 2025-01-25 22:09 615浏览
  • 飞凌嵌入式基于瑞芯微RK3562系列处理器打造的FET3562J-C全国产核心板,是一款专为工业自动化及消费类电子设备设计的产品,凭借其强大的功能和灵活性,自上市以来得到了各行业客户的广泛关注。本文将详细介绍如何启动并测试RK3562J处理器的MCU,通过实际操作步骤,帮助各位工程师朋友更好地了解这款芯片。1、RK3562J处理器概述RK3562J处理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架构。其中,4个Cortex-A53核心作为主要核心,负责处理复杂
    飞凌嵌入式 2025-01-24 11:21 293浏览
  • 不让汽车专美于前,近年来哈雷(Harley-Davidson)和本田(Honda)等大型重型机车大厂的旗下车款皆已陆续配备车载娱乐系统与语音助理,在路上也有越来越多的普通机车车主开始使用安全帽麦克风,在骑车时透过蓝牙连线执行语音搜寻地点导航、音乐播放控制或免持拨打接听电话等各种「机车语音助理」功能。客户背景与面临的挑战以本次分享的客户个案为例,该客户是一个跨国车用语音软件供货商,过往是与车厂合作开发前装车机为主,且有着多年的「汽车语音助理」产品经验。由于客户这次是首度跨足「机车语音助理」产品,因
    百佳泰测试实验室 2025-01-24 17:00 194浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 465浏览
  • 书接上回:【2022年终总结】阳光总在风雨后,启航2023-面包板社区  https://mbb.eet-china.com/blog/468701-438244.html 总结2019,松山湖有个欧洲小镇-面包板社区  https://mbb.eet-china.com/blog/468701-413397.html        2025年该是总结下2024年的喜怒哀乐,有个好的开始,才能更好的面对2025年即将
    liweicheng 2025-01-24 23:18 350浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 241浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 494浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦