ZYNQ 片内pin Delay导入Allegro
2016-10-12 20:43:28
原文链接:http://blog.chinaunix.net/uid-25737580-id-5753248.html
分类: LINUX
最近设计一款产品的时候,需要用到zynq7015,在参考picozed的设计的时候,他们的原理图中有这样一句话,如下图所示
明确说DDR设计的时候需要考虑片内延时,当时问过专业layout的朋友,他们告诉我这个一般是别人提供的,你只需要导入就可以了。只导入也简单,可这数据从哪里来,没有人能告诉我,问过安富利的FAE他们也没有告诉我哪里有,于是和朋友讨论这个问题,也在手册里面到处找,最后在UG586中看到这样一段
哈哈,赶紧打开Vivado
在最下面一栏Type a Tcl commond here里面输入link_design -part xc7z015iclg485
然后回车会出现如下界面:
在最下面一行输入write_cvs zynq_pin_delay(这个名字随便起,自己知道就OK)如下图:
回车就会生成相关的文件
需要的文件已生成,路径在上面也给出了,可以直接用Excle打开
如上图所示的部分。我们简单做下编辑。突然发现这里面的数据不能直接用,因为这里面提供的数据首先单位是ps,然后给出了一个最大值和最小值,还有一些无关的东西。需要注意的是通过Allegro pin delay格式。我这里通过导出ZC706的来参考他们的格式:
这里需要注意的是,导出的数据,第一列里面有两个空格,在使用的时候要报错,用查找,替换,把空格干掉
在导入的右侧得到导出的值,通过两栏的对比就很容易发现值是一样的。至些检查结束!
原创,如转载,请注明出处,让我更有动力去分享更多有趣的东西,谢谢!
![](https://i-blog.csdnimg.cn/blog_migrate/d167241508e41209fb17d109dd1181cd.png)
明确说DDR设计的时候需要考虑片内延时,当时问过专业layout的朋友,他们告诉我这个一般是别人提供的,你只需要导入就可以了。只导入也简单,可这数据从哪里来,没有人能告诉我,问过安富利的FAE他们也没有告诉我哪里有,于是和朋友讨论这个问题,也在手册里面到处找,最后在UG586中看到这样一段
![](https://i-blog.csdnimg.cn/blog_migrate/1ae922499bc83e0b7a58778db3b0fbc0.png)
哈哈,赶紧打开Vivado
![](https://i-blog.csdnimg.cn/blog_migrate/729de63ec203b56a131578e01397f4dc.png)
在最下面一栏Type a Tcl commond here里面输入link_design -part xc7z015iclg485
![](https://i-blog.csdnimg.cn/blog_migrate/8921d96d383b66a31f5b9ca4551878a1.png)
然后回车会出现如下界面:
![](https://i-blog.csdnimg.cn/blog_migrate/8ad1921a69a90ecb71f9d0e990a671ce.png)
在最下面一行输入write_cvs zynq_pin_delay(这个名字随便起,自己知道就OK)如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/335af9e2143e2ebfbbc0a3a236d74818.png)
回车就会生成相关的文件
![](https://i-blog.csdnimg.cn/blog_migrate/86ed044f7e79ecb010924ad77810c81e.png)
需要的文件已生成,路径在上面也给出了,可以直接用Excle打开
![](https://i-blog.csdnimg.cn/blog_migrate/1346571defcdb3ae402fa34c1f4af300.png)
如上图所示的部分。我们简单做下编辑。突然发现这里面的数据不能直接用,因为这里面提供的数据首先单位是ps,然后给出了一个最大值和最小值,还有一些无关的东西。需要注意的是通过Allegro pin delay格式。我这里通过导出ZC706的来参考他们的格式:
![](https://i-blog.csdnimg.cn/blog_migrate/71c2b60027987738c574449d1dc6f800.png)
REFDES U1
DEVICE SOC_IRONWOOD_FF900
PIN_NAME PIN_DELAY 这里是管脚名和管脚的延时,延时是以mil为单位,那么我们在算的时候,需要根据材质来计算1ps的延时相当于多少mil, 这里需要计算在网上找了下如公式PCB布线延时传播公式.docx
这里我就按6,现在开始始整理生成的文件,提取出我们需要的数据,其他的我们直接删掉就好。
原始格式如下:
我们在Max Trace Delay (ps)后面新建一行,来计算最大小的平均值:
在新的栏里输入=(E6+F6)/2回车就能得到平均值
现在可以放心大胆去删掉不要的数据了。 整理好后是介个样子的
vlookup(lookup_value,table_array,col_index_num,[range_lookup])
table_array表示查找的表格区域;
range_lookup表示查找类型,其中1表示近似匹配,0表示精确匹配,一般我们用精确匹配的情况较多。
这里需要注意的是,导出的数据,第一列里面有两个空格,在使用的时候要报错,用查找,替换,把空格干掉
![](https://i-blog.csdnimg.cn/blog_migrate/f5551f9f3c47b8c07ec15f22977f7074.png)
![](https://i-blog.csdnimg.cn/blog_migrate/dfc5f5b353792d8b4a80f7f28d551315.png)
在导入的右侧得到导出的值,通过两栏的对比就很容易发现值是一样的。至些检查结束!
原创,如转载,请注明出处,让我更有动力去分享更多有趣的东西,谢谢!