在cadence设计里面约束很重要,我觉得比较重要和常用就是线长约束,等长约束,还有那个差分约束。
先看看线长约束,其实线长约束如何设置我不多说了,网上有于博士的视频教程,你也可以购买于博士写的那本书来读读,那里面说的很清楚,可以说是手把手了。
我这篇文章主要是说明一下,在于博士视频教程中,为何在线长设置界面,线长约束是2600mil--3600mil,于博士说,这个需要信号仿真,然后选择一个数值的。这和信号的延时,反射有关的,也就是信号完整性方面有关,我也就是用于博士的电路板说一下,如何在布线前仿真,进而确定最长线长。
当然了从DSP到RAM的数据线是越短越好,但是你是PCB板,不可能靠的很近,肯定有个最小距离的,当然了最大距离也是有限制的,主要就是最大距离,如果你确定了最大线长,那么最小线长也确定了。假设说明一下,你现在确定了最大线长是3600mil,2跟信号见最大延时时间是0.2ns,可以允许的延时时间,2条线的延时时间小于0.2ns,不会影响数据准确性,而且我们知道PCB板上的信号传输距离和时间关系是:6inch/ns。这是个经验值。转换成线长数据就是6000*0.2=1200mil。那就是说,最小线长是3600-1200=2400mil,就可以了,这样的走线,使得DSP和RAM中间的数据信号在延时方面没有问题。下面具体说明一下,看图操作。
于博士,视频教程里面设置的线长约束是2600--3600.下面看看怎么样得到这样的最大线长数据。
启动cadence15.7里面的那个PCB SI 软件,不是PCB EDITOR,这点很重要,不然里面有些菜单的功能没有。
打开DSPsystem电路板,然后设置IBS的仿真模型。
启动constraint manager。
我们定义了BUS_DATA,然后启动sigxplorer。
我们移动一下器件符号,如下图。是T型拓扑结构。我们这里不说T型,我们只说U6-U7,或者U6-U8的线长。也就是数据线的线长。
按下图操作,我选择仿真频率是100Mhz,你可以自己设置。
对话框的相关设置,其他默认就行了。然后点击OK关闭对话框,然后接下来的操作很重要,
你使用鼠标点击下图中红色圈中的U6字符,就会弹出图中的设置脉冲,上升沿或者下降沿的对话框,我们选择脉冲,对话框显示是3个脉冲,就是上面那个对话框里面设置的。
在analyze菜单,点击simulate。(必须执行上面的那步,才可以执行这个命令,不然就错误)
接下来就会弹出下面的波形图表。
可以右键,选择不显示,或者显示某些波形。
然后我们将sigxplorer界面设置如下图,对图中的红圈里面的值设置如下图。然后simulate。
我们下面几步很重要,主要是修改了TL12的propdelay值,从0.7ns-0.6ns-0.4ns-0.2ns-0.1ns,
从图中的拓扑结构可以看出,TL12代表DSP的终端电阻到RAM的导线长度,我们修改了propdelay也就是修改了线长,下面的velocity 5567.72mil/ns就是上面提到的信号传输速度。tracegeometry是microstrip,微带线的意思,还有一种是带状线,它们有啥区别,这里不说你可以google一下,就明白了,也是很信号完整性有关的。从下面的几步操作中,我们可以选择一个波形比较好的设置值,也就是porpdelay值,然后计算出线长。
经过这几步,我们大致就选择TL12propdelay=0.5ns吧,那么数据线长是TL12+TL9/TL10=0.5+0.1=0.6ns。
线长就是0.6*5567.72=3340.632mil,当然了,你也可以选择0.4,或者更小的,但是元器件见有距离的在PCB板上,所以要适当。这里我们选择的最大线长就是3340mil了,它可以作为你在线长约束设置里面的参考值了。这里说明一下TL9=TL10就是等长约束,它们是T型分支需要等长,为了满足信号完整性。
你可以修改一下TL9和TL10的值,效果是一样的,只要你的TL12+TL9/TL10的值没有改变。
最后补充一下,如果你的波形表没有自动弹出显示,按下图操作。
这篇文章说的也许有不当的地方,请见谅,大家可以交流的。这里也很感谢于博士,我当初cadence入门就是看他的书和视频教程的。
文章评论(0条评论)
登录后参与讨论