【更新中】《硬件架构的艺术》笔记(三):处理多个时钟

介绍

单时钟设计更易于实现,也更少出现亚稳态、建立和保持时间违例方面的问题。但在实践中,很少有设计只在一个时钟下运行。

多时钟域

多个始终可以有以下一种或多种时钟关系:

1、时钟频率不同。

2、时钟频率相同,但相位不同。

多时钟域设计的难题

1、建立时间和保持时间的违背。

2、亚稳态。

事实上1就会导致2

违背建立时间和保持时间

多时钟域情况下,很容易出现一个时钟域的输出在另一个时钟域的时钟上升沿到来时发生改变的现象。

图中xclk_output1不满足建立时间和保持时间,所以会造成亚稳态。而xclk_output2则没有该问题。

多时钟设计的处理技术

通用准则:

1、时钟命名  

2、分模块设计

时钟命名法

为了方便脚本使用通配符对所有时钟进行操作,对时钟应有一个确定的命名,如sys_clk、tx_clk和rx_clk,同属一个时钟域的信号也应在命名时使用同样的前缀,这样可以方便分辨出信号所属时钟域,并决定时直接使用该信号,还是同步后使用。

分块化设计

  • 每个模块只因当在单个时钟下工作
  • 在信号跨时钟域传输时,使用同步器模块。
  • 同步器规模尽可能小。

优点:使静态时序分析变得很简单。单个模块可以看作是完全同步的。另外,同步模块不需要做静态时序分析,但是要保证满足保持时间要求。

如图所有跨时钟域传输的信号都要经过一个额外的同步器模块。

跨时钟域

两类:控制信号的传输、数据信号的传输。

控制信号的传输(同步化)

最常用的方式:多级同步器。(只能降低亚稳态可能性,增加更多级触发器,可以进一步降低亚稳态出现的可能性)

缺点(不可避免地开销):增加了电路的整体延时。

 可以看到,亚稳态如果在一个周期内稳定下来,第二级寄存器就能输出一个稳定的值。

有时第一级同步器信号从亚稳态进入稳态需要不止一个周期,第二级触发器输出依然亚稳态,这是为了安全起见,应加入三级同步器。

大多数设计中两级同步电路就足以避免亚稳态出现了,只有在时钟频率非常高的设计中才要求使用三级同步器电路。

数据信号的传输

两种方法:

1、握手信号

2、异步FIFO

同频零相位差时钟

其实就是单时钟设计。

 同频恒定相位差时钟

从这幅图看感觉对建立时间要求更高了,对保持时间要求变低了。对组合逻辑的延时约束会变得更紧。这种情况不需要同步器,只需要使设计STA通过即可。

非同频、可变相位差时钟

整数倍频率的时钟

clk2捕获数据的时间可能是T、2T、3T,取决于数据在clk1哪个边沿发出。任意路径的最差延迟都应在时钟边沿相位差T时满足建立时间要求。最差保持时间应在时钟边沿相位差为零时进行。

可以使源数据每三个源时钟改变一次,防止丢失数据。

非整数倍频率的时钟

情况一:源时钟有效沿和目的时钟有效沿之间有足够大的相位差,不会有亚稳态产生。

 clk1和clk2分别是对同一个时钟的3分频和2分频,如图,两个时钟最小相位差为2.5ns,满足建立时间和保持时间,但应避免在跨时钟位置使用任何组合逻辑。

慢到快不会有数据丢失;快到慢可能出现数据丢失,为了解决这个问题,必须将元数据保持至少一个目标时钟周期。

情况2:两个有效沿很近,但当再出出现挨着的情况前,接下来的几个周期两个时钟沿会保留足够的裕量。

 图中期望的波形使B1,实际的波形使B2。这里数据不会丢失(因为是从慢到快),但是可能不连贯。

从快倒满可能出现数据丢失,为了阻止这种情况,源数据应保持至少一个目标时钟周期不变。

情况三:相位差异小,能连续存在几个周期。

图中前两个周期可能违背建立时间,后两个周期可能违背保持时间。

这种情况下,即使数据从慢到快时钟域也可能丢失。

为了不丢数据,数据应保持至少两个目的时钟周期,这同时适用于快到慢和慢到快。但是数据不连续的问题依然存在。

这时,使用握手和FIFO传输数据就更有效,因为它们解决了数据不连续的问题。

握手信号方法

  • X将数放在数据总线上兵发出xreq信号,表示有效数据已经发到接收器Y的数据总线上。
  • xreq信号同步到接收器时钟域ylk上。
  • Y在识别xreq同步的信号yreq2后,锁存数据总线上信号。
  • Y发出确认信号yack,表示其已经接收了数据。
  • yack同步到发送时钟xclk上。
  • X识别到同步的xack2信号后,将下一个数据放到数据总线上。

如图,安全地将一个数据从发送器传输到接收器需要5个时钟周期。

握手信号的要求

数据应在发送时钟域内稳定至少两个时钟上升沿。

xreq宽度应该超过两个上升沿时钟,否则从高速时钟域到低速时钟域传递可能无法捕捉到该信号。

握手信号缺点

传输单个数据延迟比FIFO传输同样的数据大得多。

使用同步FIFO传输数据

DPRAM(双端口RAM)用作FIFO以使读、写可以独立进行。

 

  •  写指针指向下一个要写的地址,读指针指向下一个要读的地址。写使能使写指针递增,读使能使读指针递增。
  • 根据读写指针可以产生空信号和满信号,也可以对FIFO内数据进行计数。
  • DPRAM可以同步读取或者异步读取。同步读时,应在FIFO输出有效前给都信号。异步读时,输出不会寄存。数据只要一写入就可用。
 FIFO空满的产生

 图中为FIFO满的情况,当读指针等于写指针加一并进行写操作,FIFO满。

同样,当读操作使两个指针在下个周期相等时,FIFO变空。

另一种方法

另一种方法使使用计数器来指示FIFO中空或满位置的个数。写入数据时计数器加一,读取数据时计数器减一。

这种方法原理上简单,但是要增加额外的硬件(比较器)。FIFO深度增加,比较器宽度也会增加,这最终会降低FIFO操作的最高频率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【vue2.0入门】vue基本语法

目录 引言一、页面动态插值1. 一般用法 二、计算属性computed三、动态class、style绑定四、条件渲染与列表渲染五、事件处理六、表单输入绑定七、总结 引言 本系列教程旨在帮助一些零基础的玩家快速上手前端开发。基于我自学的经验会删减部分使用频率不高的内容,并不…

vuepress+vdoing主题搭建自己的知识管理库

在github上建2个仓库 仓库1,文档源文件(markdown),可以是私有或公有仓库。 仓库2,build生成的文件(发布为github pages),公有仓库。 克隆模板 https://github.com/xugaoyi/vdoing…

开源项目推荐——OpenDroneMap无人机影像数据处理

实景三维作为GIS最火的课题,最近在想做一套自己的三维构建工具,考察了几个开源项目,把自己的搜索过程用csdn记录下来,希望也能帮助到各位同仁。 OpenDroneMap(ODM)是一个开源项目,旨在处理无人…

深入浅出《钉钉AI》产品体验报告

1. 引言 随着人工智能技术的迅猛发展,企业协同办公领域迎来了新的变革。钉钉作为阿里巴巴集团旗下的企业级通讯与协同办公平台,推出了钉钉AI助理,旨在提高工作效率,优化用户体验。本报告将对钉钉AI助理进行全面的产品体验分析&am…

夹耳开放式耳机好用吗?夹耳开放式耳机推荐

夹耳式耳机作为开放式耳机的一种,在最近几年里深受大家欢迎。它能够受到大家欢迎的原因主要是其不入耳的特性,既有助于保护听力健康,又能让人尽情享受极致的音乐体验。不过,很多小伙伴不知道夹耳式耳机到底好不好用?夹…

opencv(c++)----图像的读取以及显示

opencv(c)----图像的读取以及显示 imread: 作用:读取图像文件并将其加载到 Mat 对象中。参数: 第一个参数是文件路径,可以是相对路径或绝对路径。第二个参数是读取标志,比如 IMREAD_COLOR 表示以彩色模式读取图像。 返回值&#x…

SwiftUI-基础入门

开发OS X 图形应用界面时有三种实现方式:XIB、Storyboard、SwiftUI。Storyboard基于XIB做了优化,但XIB基本被放弃了,而SwiftUI是苹果公司后来开发的一套编程语言,用来平替Objective-C。虽然现在Swift 6 还是有些不完善的地方&…

string------1

文章目录 一. STL1.概念2.版本 二. string类2.1 为什么学习string类2. 标准库中的string类2.2.1 构造(7个)2.2.2 对string类对象进行“访问和修改”(1)operator[](2)迭代器1.迭代器的使用2.迭代器的价值&am…

css-50 Projects in 50 Days(3)

html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>旋转页面</title><link rel"sty…

【线性代数\矩阵论】矩阵逆引理证明、应用

矩阵逆引理证明、应用 矩阵求逆引理要解决的问题是&#xff1a;减少矩阵求逆的计算量。已知一个矩阵 A A A及其逆矩阵 A − 1 A^{-1} A−1&#xff0c;当矩阵产生了变化时&#xff0c;例如增加一个扰动 P P P&#xff0c;能不能根据已知的逆矩阵 A − 1 A^{-1} A−1&#xff0c…

1111111111待修改--大流量分析(三)-BUUCTF

总结摘要 题目来来源URL https://buuoj.cn/challenges#%E5%A4%A7%E6%B5%81%E9%87%8F%E5%88%86%E6%9E%90%EF%BC%88%E4%B8%89%EF%BC%89 答题过程 这道题是看大佬写着说查找phpinfo&#xff0c;我现在也不知道为什么能够一下子就定位到这里了 这里先按照phpinfo进行&#xff…

OCRSpace申请free api流程

0.OCRSpace概述 OCR.Space是一款功能强大的在线光学字符识别&#xff08;OCR&#xff09;工具。 格式与语言支持广泛&#xff1a;支持多种图片格式&#xff0c;如 JPG、PNG、GIF、PDF 等作为输入。在语言方面&#xff0c;它支持英语、中文、法语、德语等20多种语言的文字识别…

UVC 输出视频格式修改和windows下数据分析

文章目录 前言一、UVC MJPEG视频帧描述符1.MJPG视频帧格式示例 二、UVC YUV2、NV12、M420、I420无压缩视频帧描述符GUID1.如YUV2数据参数初始为: 三、UVC Windows下UVC摄像头数据分析总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 项目需要&#…

C语言 | Leetcode C语言题解之第552题学生出勤记录II

题目&#xff1a; 题解&#xff1a; const int MOD 1000000007;struct Matrix {long mat[6][6];int row, col; };struct Matrix multiply(struct Matrix a, struct Matrix b) {int rows a.row, columns b.col, temp b.row;struct Matrix c;memset(c.mat, 0, sizeof(c.mat)…

【Linux系统编程】第四十六弹---线程同步与生产消费模型深度解析

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、Linux线程同步 1.1、同步概念与竞态条件 1.2、条件变量 1.2.1、认识条件变量接口 1.2.2、举例子认识条件变量 1.2.3、…

ML 系列:第 21 节 — 离散概率分布(二项分布)

一、说明 二项分布描述了在固定数量的独立伯努利试验中一定数量的成功的概率&#xff0c;其中每个试验只有两种可能的结果&#xff08;通常标记为成功和失败&#xff09;。 二、探讨伯努利模型 例如&#xff0c;假设您正在抛一枚公平的硬币 &#xff08;其中正面成功&#xff…

godot--自定义边框/选中时样式 StyleBoxTexture

前提知识&#xff1a; stylebox就像一个贴图&#xff0c;把图案贴到控件是。多个stylebox同时生效的话&#xff0c;那当然也有层级之分&#xff0c;上层覆盖下层&#xff08;可以设置透明度来显示下层&#xff09; 关于主题的概念&#xff1a; godot——主题、Theme、StyleB…

PCB+SMT线上报价系统+PCB生产ERP系统自动化拼板模块升级

PCB生产ERP系统的智能拼版技术&#xff0c;是基于PCB前端报价系统获取到的用户或市场人员已录入系统的板子尺寸及set参数等&#xff0c;按照最优原则或利用率最大化原则自动进行计算并输出拼版样式图和板材利用率&#xff0c;提高工程人员效率&#xff0c;减少板材的浪费。覆铜…

去中心化联邦学习与TinyML联合调查:群学习简介

中英文论文标题&#xff1a; 英文标题&#xff1a;A Joint Survey in Decentralized Federated Learning and TinyML: A Brief Introduction to Swarm Learning中文标题&#xff1a;去中心化联邦学习与TinyML联合调查&#xff1a;群学习简介 作者信息&#xff1a; Evangelia…

亚马逊正准备推出其最新的人工智能芯片

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…