SigXplorer设置延时及Local_Global

通过SigXplorer设置绝对延时和相对延时及对Local-Global的理解

一、基本理解

(感觉可能有偏差)

在于博士的教程第44和45讲中,分别对绝对延时和相对延时进行了设置,通过SigXplorer。

1、当前对绝对延时和相对延时的理解为:(用length来衡量的话)

绝对延时:绝对走线长度,为走线限定一个大体范围;(delta(min,max)<800mil,2cm)

相对延时:一组走线之间的偏差,即走线的等长设置。(tolerance<400mil,常规DDR)

2、设置绝对延时时,不存在local和global之分,实际系统已将其定义为global,即针对一组线的全局绝对延时。

3、设置相对延时时有local和global之分。(参见教程第45讲)

Local:平面内

Global:纵向,不同平面内(参见进阶部分,将Global理解为全局的:包含横向和纵向,应该更准确)

在设置同一XNet内T型连接2个分支之间互相等长时,用Local含义为:

同一XNet内T型连接的2个分支之间互相等长(横向),相同拓扑结构的同一个XNet内(其它XNet)T型线的2个分支也要等长(不然变成设置单根线了,还要拓扑干什么!)。不表示不同XNet中具有相同拓扑结构的支线之间的纵向等长。话句话说,Local表式每个XNet内的平面等长。

需要设置不同XNet、具有相同拓扑结构支线之间的纵向等长,用Global。

画图如下:

举个例子吧:

A有2把尺子:A1(1#),A2(2#);

B有2把尺子:B1(1#),B2(2#);

C有2把尺子:C1(1#),C2(2#)。

Local:(约束名要相同,参见博士的第45讲),需要满足:

A的2把尺子要满足长度关系:A1=A2

B的2把尺子要满足长度关系:B1=B2

C的2把尺子要满足长度关系:C1=C2

不需要满足:A1=B1=C1=…,A2=B2=C2=…

此即平面等长

用Global:

需要满足(只有一个拓扑约束时):

A1=B1=C1=…(设置1号尺子纵向等长时)

A2=B2=C2=…(设置2号尺子纵向等长时)

而不需要满足:

A1=A2,B1=B2,…

此即纵向等长。

注:若设置了2条Global等长,并用同一个名字(rule name) ,即在同一个match
group中,分别设置1号等长和2号等长,则需要满足的等式增加为:

A1=B1=C1=…(设置1号尺子纵向等长时)

A2=B2=C2=…(设置2号尺子纵向等长时)

A1=A2,B1=B2,C1=C2…(同一个match group内的全局等长)

上面3个组式子又可以等效为:A1=B1=C1= A2=B2=C2=。。。;即所有走线均要等长。

========================

二、理解进阶

(这次感觉应该差不多了)

实际上SigXplorer中的topology constraints是一个非常灵活的约束设置工具。

图1 拓扑结构图

2 设置的相对延时

注解:

AB_DDR2_M1:图中设置了T型点到U13、U14(两片同样的三星16位DDR2
SDRAM拼成32位)的相对延时:同一个XNet内,T型点到U13和T型点到U14,这两条分支线尽量相等,此时信号干扰最小,图2中设置tolerance为200mil。因为是同一个XNet内的等长,故此处用Local。(不需要本XNet内T型点到U13与其它XNet
的T型点到U13等长)。

AB_DDR2_M2:同时,总体上还要保证3512芯片的引脚出来,经T型点分开之后,到DDR2芯片引脚的走线距离相等。3512芯片引出的地址线经过T型点分支成为2簇,簇内和簇间都要相等。这通过AB_DDR2_M2约束来实现(AB_DDR2_M2实际在CM中为match
group),不同的拓扑(线路)要进行相对延时比对必须添加为一个match group,故在此match group中存在2项(分别对应不同的路由)

Global的含义为:不同XNet之间均要进行线长的相对延时控制。

设置完成后:

图3 Match group:AB_DDR2_M1

图4 Match group:AB_DDR2_M2

通过上面的设置可以总结如下几点:(主要是对Local和Global的理解)

1、               
图2中的rule name在CM中对应match group

所以,需要有多少种拓扑支路参与相对延时控制,就需要在同一个rule
name中添加多少个拓扑支路;前述的AB_DDR2_M1、AB_DDR2_M2均有2个支路;

2、               
Local和Global:

Local代表同网络内进行相对比对(相对延时控制),实际上,SigXplorer提取的拓扑结构也是在一个网络内的(包含XNet),举例来说,图3中设定为Local的相对延时设置,只会在同一个XNet中进行比对,如只会分别在AB0_DDR2内,分别在AB1_DDR2内、等等中进行比对。不会拿AB0_DDR2和AB1_DDR2中拓扑相同的走线相比对。即前面所说的在一个NET内的横向比对。

Global:全局比对,即:将AB0_DDR2和AB1_DDR2中拓扑相同的走线相比对(纵向)。若在一个约束(如AB_DDR2_M1)中设置了不止1条拓扑支线,则同一网络内,不同支线之间的走线长度也要比对(此时完成的实际是local功能)。

因此:可以说Local是Global的特例。

AB_DDR2_M1和AB_DDR2_M2均有2项,分别各自对应2个不同拓扑支线。

AB_DDR2_M1中对2条拓扑支线进行了设置,表明这2条支线是一定要进行互相比对的(因为已经被加到一个rule name中了,也即被加到一个match
group中了),接下来需要选择比对的方式,是仅仅同个网络内的横向比对(Local),还是去全局比对(同一网络内横向,不同网络间纵向)(修正一下:说Global是全局应该更加贴切,因为Global不仅可以指纵向还包括横向)。举例来说,图4中AB_DDR2_M2内所有的走线长度均会互相比对,不管是同一个NET(横向)还是不同NET(纵向)。

2点疑问:

1)既然Global既包括纵向(网络间)又包括横向(同一网络内),为什么还需要Local(只能在同一网络内)?


因为并不是在所有NET(或者是XNet)内的走线长度都需要与其它NET进行匹配。对很多T型分支线,只需要保证在同一个NET内的2条分支尽量等长即可。

2)既然设置为Local的相对延时比对方法只限定为同一NET内?就是一个NET内不同拓扑支线的走线长度互相比较,为什么设置相对延时时可以将tolerance设置得不一样?

2  即使是同一个网络,当分支较多时,可能需要比对的不止2条支线,例如

A支线,tolerance:500mil

B支线,tolerance:200mil

C支线,tolerance:500mil

这样,A与B、C与B之间tolerance均只能按照200mil走线,但是A和C之间可以按照500mil的tolerance走线。

SigXplorer设置延时及Local_Global,布布扣,bubuko.com

时间: 2024-10-13 21:47:01

SigXplorer设置延时及Local_Global的相关文章

mysql数据库备份设置延时备份方法(mysql主从配置)

一 为什么需要延时备份percona-xtrabackup是一个优秀的用于增量备份的工具.今天我们讲到的延时备份也是使用他们的产品.以前在MySQL AB复制一文中提到了AB复制.我们首先回顾下MySQL复制的相关要点.AB复制又称主从复制,实现的是数据同步.经过以下步骤: 1)主服务器把数据更改记录到二进制日志中,这个操作叫做二进制日志事件: 2)从服务器把主服务器的二进制日志事件拷贝到自己的中继日志(relay log)中: 3)从服务器执行中继日志中的事件,把更改应用到自己的数据上. 在生

WebDriver API——延时操作及元素等待

在自动化测试过程当中,受网络.测试设备等诸多因素的影响,我们经常需要在自动化测试脚本中添加一些延时来更好的定位元素来进行一系列的操作. 一般有这么几种方式: 1.implicitlyWait.识别对象时的超时时间.过了这个时间如果对象还没找到的话就会抛出NoSuchElement异常 2.setScriptTimeout.异步脚本的超时时间.webdriver 可以异步执行脚本,这个是设置异步执行脚本脚本返回结果的超时时间. 3.pageLoadTimeout.页面加载时的超时时间.因为webd

JS学习笔记 -- 延时器,提示框的应用

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>延时显示提示框</title> <style> #div1 { float: left; width: 60px; height: 60px; background-color: aqua; } #div2 { position: relativ

Android TV开发--实现延时关机功能(二)逻辑实现

模块功能描述(总述) 上一篇文章:Android TV开发--实现延时关机功能(一)功能描述 讲的是延时关机整体功能描述以及UI效果,这篇文章将着重讲解逻辑实现. 按照功能模块分为3部分:关机App.关机Service.Launcher 模块图如下: 关机App模块 主要功能:1.展示UI设置延时时长 2.取消延时关机 3.取消延时对话框倒计时功能 1.展示UI设置延时时长 此处即为延时关机功能入口: 1.布局及逻辑处理Activity如下,代码中含有注释: /** * 延时关机 */ publ

iOS 四种延时的方法

- (void)initBlock{ //延时的方法 //1:GCD延时 此方式在能够在參数中选择运行的线程. 是一种非堵塞的运行方式,没有找到取消运行的方法. double delay1=2.0;//设置延时时间 dispatch_time_t popTime=dispatch_time(DISPATCH_TIME_NOW, delay1 * NSEC_PER_SEC); dispatch_after(popTime, dispatch_get_main_queue(), ^{ UIAlert

关于iOS延时操作,阶段性总结(部分关于点击,双击事件冲突)

之前写过一个简单的图片查看器,在图片单击,双击事件处理上遇到问题,通过延时单击事件操作. 方法一: 详细:1.设置全局变量 bool doubleTap; 在单击事件方法中设置延时操作 单击时进行延时: dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ if (doubleTap == YES) return; //单击事件的相

jQuery hover 延时器实现代码

例如: 复制代码代码如下: $('#foo').slideUp(300).delay(800).fadeIn(400);// 在.slideUp() 和 .fadeIn()之间延时800毫秒. hover是否可以设计一个延时器呢?答案是肯定的.延时操作目的是为了防止用户误触发事件,一般情况下鼠标指针小于150毫秒的停留时间都可以被忽略.其实,如果入侵delay全能让其作用在hover事件上,但是为了避免John Resig不断的折腾jQuery而导致兼容问题,还是老老实实的写标准插件比较好. 目

RocketMQ源码 — 九、 RocketMQ延时消息

上一节消息重试里面提到了重试的消息可以被延时消费,其实除此之外,用户发送的消息也可以指定延时时间(更准确的说是延时等级),然后在指定延时时间之后投递消息,然后被consumer消费.阿里云的ons还支持定时消息,而且延时消息是直接指定延时时间,其实阿里云的延时消息也是定时消息的另一种表述方式,都是通过设置消息被投递的时间来实现的,但是Apache RocketMQ在版本4.2.0中尚不支持指定时间的延时,只能通过配置延时等级和延时等级对应的时间来实现延时. 一个延时消息被发出到消费成功经历以下几

springboot-rabbitmq:实现延时队列

延时队列应用于什么场景 延时队列顾名思义,即放置在该队列里面的消息是不需要立即消费的,而是等待一段时间之后取出消费.那么,为什么需要延迟消费呢?我们来看以下的场景 网上商城下订单后30分钟后没有完成支付,取消订单(如:淘宝.去哪儿网)    系统创建了预约之后,需要在预约时间到达前一小时提醒被预约的双方参会    系统中的业务失败之后,需要重试 这些场景都非常常见,我们可以思考,比如第二个需求,系统创建了预约之后,需要在预约时间到达前一小时提醒被预约的双方参会.那么一天之中肯定是会有很多个预约的