EEJournal

专题文章
现在就订阅

城市时钟设计

想象一下你生活在一个交通拥挤的大城市。可能是世界上任何地方。现在想象一下,这个城市有一个强大的地铁/轨道系统(换句话说,没有公共汽车也必须与交通作斗争)。不可否认,这缩小了范围(主要是美国以外的地方,但没关系……在这里和我一起工作。)

在这座城市,你有选择。当你想从你的家到你的工作(都在城市里),你可以开车全程。或者,如果你幸运的话,你可以全程乘坐公共交通,根本不用开车。也许你甚至不需要拥有一辆车。

现在,为了讨论的方便,让我们假设我们正在处理一个有良好准点率记录的交通系统。我知道,没有一个是完美的,但假设你的火车旅行持续时间的变化趋近于零——它总是花费完全相同的时间。然后,我们可以做出如下观察:由于交通的变化无常和开车时愚蠢行为的随机变化,一路开车上班对你何时到达那里的不确定性最大——它有最大的到达时间变化或行程与行程之间的偏差;火车旅行是最低的(在本例中为零)。

当然,使用你的车的后勤是最简单的;对于火车来说,要到达那里还有很多事情要做:买票,等待它到达,等等。因此,汽车的易用性是最好的,但也是最不可预测的;坐火车的工作量更大,但也是最可预测的。

现在让我们假设你在城镇边缘以外的某个工厂工作,远离交通系统,你住在城镇的中心。然后你可能会有一辆更好的车,停在离你工作地点最近的火车站。坐那么远的火车,然后开车走完剩下的距离。由于开车的原因,你现在已经把一些不可预测性重新添加到你的到达时间中了。但是,由于开车比从家里开车要短得多,所以旅行时间的变化可能会小得多。

而且,如果出于某种原因,你决定不把车停在离公司最近的车站,而是停在一些较远的车站(也许就在你最喜欢的酒吧或杂货店附近),那么你开车的时间就会更长,也更不可预测——但仍然比从家里一路开车更短,更可预测。

这里的重点是,旅途中开车的时间越短,你到达的时间就越可预测。这与大型集成电路上的时钟设计非常相关。真的。跟我一起工作。

让你的时钟在你需要的地方和你想要的时间最简单的方法是好的,可靠的,按钮时钟树合成(CTS)。每个时钟负载获得一个自定义的信号路径,该信号路径起源于时钟源。这就像开车去上班:你得到最好的控制,最简单的方法,这是大多数人做的。

只有一个问题:芯片上的变化今天的侵略性维度这是一个巨大的考虑因素,这使得在任何给定的骰子中,一方可能比另一方更快或更慢这一事实很难处理。你不知道哪边,也不知道它是快还是慢。这就像你一路开车去上班,然后弄清楚你应该几点下班,这样你就不会上班迟到,也不会太早到(这会让你看起来太急切……没有人想要这样。家伙……)。如果每天的交通变化太大,就真的没有办法做到这一点。你能够管理你到达时间的唯一方法是在离家前查看交通地图,这样你就可以确定你出发的时间(并希望你离开后情况没有太大变化)。不幸的是,IC上没有在线交通地图,因此时钟设计人员无法使用该选项。

那么,另一个选择就是使用交通工具。这种IC版一直被称为“时钟网格”设计。之所以这样说,是因为它涉及到一个大的、细粒度的时钟网格。这个想法是,你在骰子周围有许多给定时钟的源,你把它们都钩到网格上。你实际上是在做空所有这些驱动程序的值,所以如果一个比另一个慢一点,快的那个就会更早开始拉线,这就补偿了慢的那个。换句话说,通过做空所有这些驱动程序,它们的延迟变化被平均掉了。

通过这种方式,从时钟源到网格的所有路径最终都具有几乎相同的有效延迟。这就像交通系统,低倾斜。如果你足够幸运,能够直接从网格中驱动时钟负载,那么你就可以有效地实现零倾斜,就像门到门的运输系统所提供的那样。

但是,当然,就像我们没有人能合理地期望一个完整的门到门的运输系统一样,你也不能把网格驱动到任何你需要时钟信号的地方。所以你尽可能地接近它-紧密的网格给了你这一点-然后你有更多的逻辑,让你从网格到你的实际负载。你有一个或两个层次的逻辑,例如,你可以做一些门控。这就像坐火车到外面的车站,然后开车走完最后一段。

因为源到网格的倾斜几乎为零,所以您实际上只需要担心最后两个逻辑层的倾斜,这是可以管理的。所以这听起来是个简单的解决方案。但是,当然,就像所有的工程一样,也有权衡。

首先,就像开车比乘坐交通工具更容易一样,CTS比设计一个时钟网格更容易。这是按钮。时钟网更难设计和分析,他们必须有一个漂亮的,干净的,不受干扰的区域。如果你的芯片有一个电路——也许是你购买的一些硬IP,其布局你无法控制——它使用了与网格相同的金属层,现在你已经阻塞了网格,把事情搞砸了。

结果是,正如Synopsys所说,时钟网格并不经常使用:它们往往仅限于soc上的处理器区域,而且它们是由训练有素的专业团队创建的。其他公司不愿意走这条路,因为改变方法的内在风险比CTS要困难得多。

还有一个问题:如果交通系统有太多的车站,如果他们试图把你送到任何可能的目的地,那么火车就会从一个站出发,不得不开始减速到下一个站。火车几乎不会花任何时间旅行;它不断地启动和停止,等待人们上下火车。我们都知道频繁地启动和停止比简单地沿着轨道滑行要耗费更多的功——消耗更多的能量。因此,火车站密集的火车系统将比没有车站的火车系统消耗更多的电力。无论如何,这只是一个初步的近似。和我一起工作……(会比每个人都开车用更少吗?可能不会……在这里和我一起工作……)

尽管出于不同的原因,时钟网格方法也比CTS方法消耗更多的能量。那是因为那些大的金属网线。与CTS不同的是,在CTS中,只有从A点到B点的线切换,在这里,我们有不在A点或B点附近的网格部分-它们仍然在切换。总之,大量的金属,所有的开关:更高的功率。

这里的妥协是让网格不那么细:提高粒度级别。这就像设计一个车站之间有更大空间的交通系统。你消耗了更少的电力,但你最终也会离目的地更远。Synopsys称之为多源CTS。您仍然需要在网格和负载之间设计一个时钟树——8-9级逻辑,而不是一个完整网格中的1或2级逻辑——但现在该树的源不仅仅是一个时钟源(就像在标准CTS中那样),而是驱动网格的所有源的组合。

这样做有助于解决功率问题,同时在倾斜上妥协一点。他们的想法是,即使有九个层次的逻辑也是可以管理的。除此之外,还有一个潜在的易用性问题。这就是Synopsys最近宣布的,作为他们的一部分20海里的支持,一个多源CTS方法与IC编译器,更自动化,使它更像CTS,当涉及到易用性。

他们必须解决的一个问题是,从网格中取出来驱动本地树的最佳位置是什么?从这个水龙头在哪里运行本地时钟树?为了使这个设计问题自动化,他们有一个“聚类”算法,可以找到彼此自然靠近且需要相同时钟的电路集群。这些集群通常会反映设计层次结构,该工具在考虑时也会注意到层次结构,但它并不是紧密地绑定在一起的——它可以引入或省略跨越块边界的电路片段

结果是你现在有三种时钟设计选择:

  • CTS,它将提供最低的功率,是最容易做到的,但处理芯片上变化的能力最差;
  • 多源CTS,它比CTS更好地容忍芯片上的变化,但比CTS多使用10-20%(初步数字)的功率,并且需要更多的工作来实现;和
  • 全时钟网格,它具有最佳的片上变化容限,但比CTS多使用20-40%的功率,并且比CTS或多源CTS更难实现。

所以先别卖你的车。你可能会决定,你想要它只是让车站和工作之间的最后一段路程更灵活一点。

图片来源:Bryon Moyer

想象一下你生活在一个交通拥挤的大城市。可能是世界上任何地方。现在想象一下,这个城市有一个强大的地铁/轨道系统(换句话说,没有公共汽车也必须与交通作斗争)。不可否认,这缩小了范围(主要是美国以外的地方,但没关系……在这里和我一起工作。)

在这座城市,你有选择。当你想从你的家到你的工作(都在城市里),你可以开车全程。或者,如果你幸运的话,你可以全程乘坐公共交通,根本不用开车。也许你甚至不需要拥有一辆车。

现在,为了讨论的方便,让我们假设我们正在处理一个有良好准点率记录的交通系统。我知道,没有一个是完美的,但假设你的火车旅行持续时间的变化趋近于零——它总是花费完全相同的时间。然后,我们可以做出如下观察:由于交通的变化无常和开车时愚蠢行为的随机变化,一路开车上班对你何时到达那里的不确定性最大——它有最大的到达时间变化或行程与行程之间的偏差;火车旅行是最低的(在本例中为零)。

当然,使用你的车的后勤是最简单的;对于火车来说,要到达那里还有很多事情要做:买票,等待它到达,等等。因此,汽车的易用性是最好的,但也是最不可预测的;坐火车的工作量更大,但也是最可预测的。

现在让我们假设你在城镇边缘以外的某个工厂工作,远离交通系统,你住在城镇的中心。然后你可能会有一辆更好的车,停在离你工作地点最近的火车站。坐那么远的火车,然后开车走完剩下的距离。由于开车的原因,你现在已经把一些不可预测性重新添加到你的到达时间中了。但是,由于开车比从家里开车要短得多,所以旅行时间的变化可能会小得多。

而且,如果出于某种原因,你决定不把车停在离公司最近的车站,而是停在一些较远的车站(也许就在你最喜欢的酒吧或杂货店附近),那么你开车的时间就会更长,也更不可预测——但仍然比从家里一路开车更短,更可预测。

这里的重点是,旅途中开车的时间越短,你到达的时间就越可预测。这与大型集成电路上的时钟设计非常相关。真的。跟我一起工作。

让你的时钟在你需要的地方和你想要的时间最简单的方法是好的,可靠的,按钮时钟树合成(CTS)。每个时钟负载获得一个自定义的信号路径,该信号路径起源于时钟源。这就像开车去上班:你得到最好的控制,最简单的方法,这是大多数人做的。

只有一个问题:芯片上的变化今天的侵略性维度这是一个巨大的考虑因素,这使得在任何给定的骰子中,一方可能比另一方更快或更慢这一事实很难处理。你不知道哪边,也不知道它是快还是慢。这就像你一路开车去上班,然后弄清楚你应该几点下班,这样你就不会上班迟到,也不会太早到(这会让你看起来太急切……没有人想要这样。家伙……)。如果每天的交通变化太大,就真的没有办法做到这一点。你能够管理你到达时间的唯一方法是在离家前查看交通地图,这样你就可以确定你出发的时间(并希望你离开后情况没有太大变化)。不幸的是,IC上没有在线交通地图,因此时钟设计人员无法使用该选项。

那么,另一个选择就是使用交通工具。这种IC版一直被称为“时钟网格”设计。之所以这样说,是因为它涉及到一个大的、细粒度的时钟网格。这个想法是,你在骰子周围有许多给定时钟的源,你把它们都钩到网格上。你实际上是在做空所有这些驱动程序的值,所以如果一个比另一个慢一点,快的那个就会更早开始拉线,这就补偿了慢的那个。换句话说,通过做空所有这些驱动程序,它们的延迟变化被平均掉了。

通过这种方式,从时钟源到网格的所有路径最终都具有几乎相同的有效延迟。这就像交通系统,低倾斜。如果你足够幸运,能够直接从网格中驱动时钟负载,那么你就可以有效地实现零倾斜,就像门到门的运输系统所提供的那样。

但是,当然,就像我们没有人能合理地期望一个完整的门到门的运输系统一样,你也不能把网格驱动到任何你需要时钟信号的地方。所以你尽可能地接近它-紧密的网格给了你这一点-然后你有更多的逻辑,让你从网格到你的实际负载。你有一个或两个层次的逻辑,例如,你可以做一些门控。这就像坐火车到外面的车站,然后开车走完最后一段。

因为源到网格的倾斜几乎为零,所以您实际上只需要担心最后两个逻辑层的倾斜,这是可以管理的。所以这听起来是个简单的解决方案。但是,当然,就像所有的工程一样,也有权衡。

首先,就像开车比乘坐交通工具更容易一样,CTS比设计一个时钟网格更容易。这是按钮。时钟网更难设计和分析,他们必须有一个漂亮的,干净的,不受干扰的区域。如果你的芯片有一个电路——也许是你购买的一些硬IP,其布局你无法控制——它使用了与网格相同的金属层,现在你已经阻塞了网格,把事情搞砸了。

结果是,正如Synopsys所说,时钟网格并不经常使用:它们往往仅限于soc上的处理器区域,而且它们是由训练有素的专业团队创建的。其他公司不愿意走这条路,因为改变方法的内在风险比CTS要困难得多。

还有一个问题:如果交通系统有太多的车站,如果他们试图把你送到任何可能的目的地,那么火车就会从一个站出发,不得不开始减速到下一个站。火车几乎不会花任何时间旅行;它不断地启动和停止,等待人们上下火车。我们都知道频繁地启动和停止比简单地沿着轨道滑行要耗费更多的功——消耗更多的能量。因此,火车站密集的火车系统将比没有车站的火车系统消耗更多的电力。无论如何,这只是一个初步的近似。和我一起工作……(会比每个人都开车用更少吗?可能不会……在这里和我一起工作……)

尽管出于不同的原因,时钟网格方法也比CTS方法消耗更多的能量。那是因为那些大的金属网线。与CTS不同的是,在CTS中,只有从A点到B点的线切换,在这里,我们有不在A点或B点附近的网格部分-它们仍然在切换。总之,大量的金属,所有的开关:更高的功率。

这里的妥协是让网格不那么细:提高粒度级别。这就像设计一个车站之间有更大空间的交通系统。你消耗了更少的电力,但你最终也会离目的地更远。Synopsys称之为多源CTS。您仍然需要在网格和负载之间设计一个时钟树——8-9级逻辑,而不是一个完整网格中的1或2级逻辑——但现在该树的源不仅仅是一个时钟源(就像在标准CTS中那样),而是驱动网格的所有源的组合。

这样做有助于解决功率问题,同时在倾斜上妥协一点。他们的想法是,即使有九个层次的逻辑也是可以管理的。除此之外,还有一个潜在的易用性问题。这就是Synopsys最近宣布的,作为他们的一部分20海里的支持,一个多源CTS方法与IC设计,更自动化,使它更像CTS时,它的易用性。

他们必须解决的一个问题是,从网格中取出来驱动本地树的最佳位置是什么?从这个水龙头在哪里运行本地时钟树?为了使这个设计问题自动化,他们有一个“聚类”算法,可以找到彼此自然靠近且需要相同时钟的电路集群。这些集群通常会反映设计层次结构,该工具在考虑时也会注意到层次结构,但它并不是紧密地绑定在一起的——它可以引入或省略跨越块边界的电路片段

结果是你现在有三种时钟设计选择:

  • CTS,它将提供最低的功率,是最容易做到的,但处理芯片上变化的能力最差;
  • 多源CTS,它比CTS更好地容忍芯片上的变化,但比CTS多使用10-20%(初步数字)的功率,并且需要更多的工作来实现;和
  • 全时钟网格,它具有最佳的片上变化容限,但比CTS多使用20-40%的功率,并且比CTS或多源CTS更难实现。

所以先别卖你的车。你可能会决定,你想要它只是让车站和工作之间的最后一段路程更灵活一点。

图片来源:Bryon Moyer

对“城市时钟设计”的一种思考

留下回复

有特色的博客
2023年2月2日
我们分享了对2023年高性能计算(HPC)的预测,包括边缘计算解决方案的增长以及人工智能和机器学习的兴起。文章“2023年五大高性能计算趋势”首先出现在“从硅到软件”....上
2023年2月2日
只需注册一次即可访问所有Cadence按需在线研讨会。叶尖间隙流动是通过叶轮机械旋转部件和静止部件之间的小间隙的流动。这种间隙的大小和形状直接与叶轮钦有关。
2023年1月30日
聪明地工作,而不是更努力地工作。大家不都是这么跟你说的吗?当然,这是很好的建议,... ...
2023年1月19日
你是否在调整表带或更换手表电池时遇到了问题?如果是这样,我是好消息的携带者....

有特色的视频

Synopsys 224G和112G以太网PHY IP OIF在ECOC 2022互操作

Synopsys对此

这段特色视频展示了Synopsys 224G和112G以太网PHY IP中长到达性能的四个演示,与第三方通道和serde互操作。

了解更多

特色粉笔谈话亚博里的电子竞技

ActiveCiPS™:可配置的智能电源管理解决方案

逮老鼠的电子产品Qorvo

可编程电源管理不仅可以帮助我们管理电源系统,而且还可以具有尺寸、重量和成本效益。在本集Chalk Talk中,Amel亚博里的电子竞技ia Dalton与Qorvo的Yael Coleman讨论了可配置电源管理解决方案的全系统优势。他们研究了ActiveCips可配置智能电源管理解决方案的可编程功能,并回顾了这些解决方案如何帮助您在下一次设计中平衡重量、尺寸、功率和成本。

点击这里了解Qorvo ACT41000低噪声dc - dc Buck变换器的更多信息

Baidu