数据传输模型(建立时间与保持时间)

关于建立时间和保持时间的详细介绍以及相关例题可以参考以下文章:Verilog 建立时间和保持时间。

在介绍数据传输模型之前必须要了解的两个概念是建立时间和保持时间,下面就介绍一下建立时间和保持时间的含义及其物理意义?

  • 建立时间就是时钟触发事件来临之前,数据需要保持稳定的最小时间,以便数据能够被时钟正确的采样。

  • 保持时间就是时钟触发事件来临之后,数据需要保持稳定的最小时间,以便数据能够被电路准确的传输。

可以通俗的理解为:时钟到来之前,数据需要提前准备好;时钟到来之后,数据还要稳定一段时间。建立时间和保持时间组成了数据稳定的窗口,如下图所示。
在这里插入图片描述
下面看一种典型的上升沿 D 触发器,来说明建立时间和保持时间的由来。

在这里插入图片描述

G1~G4 与非门是维持阻塞电路,G5~G6 组成 RS 触发器。

时钟直接作用在 G2/G3 门上,时钟为低时 G2/G3 通道关闭,为高时通道打开,进行数据的采样传输。

但数据传输到 G2/G3 门之前,会经过 G4/G1 与非门,将引入时间延迟。引入建立时间的概念,就是为了补偿数据在 G4/G1 门上的延迟。即时钟到来之前,G2/G3 端的输入数据需要准备好,以便数据能够被正确的采样。

数据被时钟采样完毕后,传输到 RS 触发器进行锁存之前,也需要经过 G2/G3 门,也会引入延迟。保持时间就是为了补偿数据在 G2/G3 门上的延迟。即时钟到来之后,要保证数据能够正确的传输到 G6/G5 与非门输入端。

如果数据在传输中不满足建立时间或保持时间,则会处于亚稳态,导致传输出错。


1、数据发起时间沿和捕获时间沿

数据的发起沿和数据的捕获沿相差一个CLK。
在这里插入图片描述
2、4种类型的时序路径

(1)输入端口到FPGA内部的第一级触发器;
(2)FPGA内部寄存器之间的路径;
(3)FPGA内部末级触发器到输出端口的路径;
(4)输入端口到输出端口的路径;
在这里插入图片描述
3、Data Arrival Time(setup): 建立时间数据到达时间
在这里插入图片描述

如果是hold的数据到达时间,则是从Capture Edge开始,再加上Tclka+Tco+Tdata;也即比setup的数据到达之间多了一个clk的时间。这里是需要区分的,因为后面计算setup和hold的裕量时会用到。

4、Clock Arrival Time: 目的寄存器时钟到达时间
在这里插入图片描述
5、Data Required Time — Set up:建立时间的数据需求时间:
在这里插入图片描述
6、Data Required Time – Hold:保持时间的数据需求时间:
在这里插入图片描述
7、Setup Slack – 建立时间裕量
在这里插入图片描述
8、Hold Slack – 保持时间裕量
在这里插入图片描述
9、建立时间和保持时间裕量的公式
在这里插入图片描述
在这里插入图片描述

这里需要注意的是,Data Arrival Time(Setup)和Data Arrival Time(Hold)是不一样的,后者比前者多了一个clk,也即它代表的是下一个数据到达的时间,也即上一个数据无效的时间。

当时间裕量slack>0时满足时序要求,如果小于0则不满足,如下图所示:
在这里插入图片描述

10、数据的延迟都有哪些?

参数名称含义
建立时间Tsu器件工艺决定,是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被稳定的打入触发器,Tsu就是指这个最小的稳定时间。
保持时间Thold器件工艺决定,是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被稳定的打入触发器,Th就是指这个最小的保持时间。
Tco延迟由器件工艺决定,为寄存器时钟达到以后数据出现在输出端的延迟;
Tlogic组合逻辑处理时间,由用户的代码决定;
Tnet芯片内部布线延迟,由EDA工具决定;

在这里插入图片描述

附:时序路径的三个部分

在这里插入图片描述
这里之所以要单独拿出来说,是因为你会发现在后面对某一个路径进行时序分析的时候,都是将时序路径分成这三部分;然后通过计算每一部分的延迟,再结合建立时间和保持时间,最终得到相应的slack(裕量),根据slack的值是否≥0以判断时序是否符合要求。

  • source clock path + data path = 实际的数据到达延迟路径;

  • T(destination clock path) - Ts(或者+Th) = 数据需求时间;

需要注意的是:

在计算数据需求时间时,如果是对建立时间进行时序分析,那么在T(destination clock path) - Ts中,destination clock path的初始时间就是一个clock周期;

而在对保持时间进行时序分析的时候,在T(destination clock path) +Th中,destination clock path的初始时间为0。

  • 10
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 如果要设计一个基于 Hive 的网站访问数据的离线数仓,需要以下步骤: 1. 收集网站的访问数据,并存储在 Hadoop 分布式文件系统(HDFS)上。 2. 利用 Hive 建立数据仓库,并对访问数据进行结构化。 3. 在 Hive 中创建数据表,并导入数据。 4. 使用 Hive 查询语言(HQL)进行数据分析,生成统计报告和图表。 5. 将分析结果导出到外部存储,便于进一步使用。 6. 定期对数据仓库进行维护和更新,保证数据的最新性。 这些步骤可以帮助你设计一个稳健的、高效的离线数仓,用于分析网站的访问数据。 ### 回答2: 基于Hive的网站访问数据的离线数仓设计需要以下步骤: 1. 数据采集和存储:通过日志收集器收集网站访问日志,将这些日志数据传送到Hive的数据仓库中进行存储。可以使用Flume或Kafka等工具来实现数据采集和传输。 2. 数据清洗和转换:使用Hive的ETL功能对原始数据进行清洗和转换。这包括去除无效数据、处理数据格式、合并数据等。可以使用Hive的查询语言(例如HQL)来实现这些操作。 3. 数据建模和分区:根据网站访问数据的需求,设计合适的数据模型,并进行分区以提高查询性能。可以使用Hive的表分区功能根据时间、地域、用户等维度进行数据分区。 4. 数据加载和索引:使用Hive的加载命令将清洗和转换后的数据加载到数据仓库中,并根据查询需求创建索引以加快查询速度。可以使用Hive的分区索引或bitmap索引等技术来实现数据加载和索引。 5. 数据查询和分析:通过Hive的查询语言对数据仓库中的网站访问数据进行查询和分析,并生成相应的报表和可视化结果。可以使用Hive的聚合函数、分组和排序等功能来实现数据查询和分析。 6. 数据备份和恢复:定期对数据仓库进行备份,以防止数据丢失或损坏。可以使用Hive的导出和导入功能将数据仓库中的数据备份到其他存储系统,如HDFS或云存储。 通过以上步骤设计的基于Hive的网站访问数据的离线数仓可以实现高效的数据存储、查询和分析,为网站运营和决策提供可靠的数据支持。 ### 回答3: 基于Hive的网站访问数据的离线数仓设计如下: 1. 数据源收集:首先,需要收集网站访问数据源,包括网站服务器日志、用户行为数据、广告点击等相关数据。这些数据可以通过Flume等数据采集工具实时收集到Hadoop集群上。 2. 数据预处理:将收集到的原始数据进行预处理,包括数据清洗、字段解析、数据格式转换等。可以使用Hive进行数据清洗和转换操作。 3. 数据存储:将预处理后的数据存储到Hive或者HBase中,便于后续的查询分析。Hive提供了数据仓库的功能,并可以通过Hive SQL进行数据查询和分析操作。 4. 数据分区:根据业务需求将数据进行分区,可以按照时间、地区、用户等维度进行分区,提高查询效率和性能。 5. 数据建模:设计合适的数据模型,根据业务需求创建表结构,并建立关联关系。可以使用Hive的表和分区来组织数据,并使用Hive内置的函数和脚本来处理数据。 6. 查询分析:根据业务需求,使用Hive SQL语句进行查询和分析操作,例如统计网站的访问量、独立访客数、页面流量等指标。可以使用Hive的MapReduce和Tez来进行大规模数据处理和计算。 7. 数据可视化:将查询结果通过可视化工具(如Tableau、Superset等)进行展示,生成直观的数据报表和可视化图表,供业务人员和决策者进行数据分析和决策。 8. 定期更新:根据实际情况,定期将新的网站访问数据导入数据仓库进行更新,保持数据的实时性和准确性。 通过以上步骤,可以设计一个基于Hive的网站访问数据的离线数仓,实现对网站访问数据的离线分析和查询,为业务决策提供数据支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

耐心的小黑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值