Chinaunix首页 | 论坛 | 博客
  • 博客访问: 457573
  • 博文数量: 74
  • 博客积分: 988
  • 博客等级: 准尉
  • 技术积分: 1259
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-10 15:44
文章分类

全部博文(74)

文章存档

2019年(1)

2018年(1)

2016年(9)

2015年(7)

2013年(6)

2012年(40)

2011年(10)

分类: LINUX

2016-10-12 20:43:28

最近设计一款产品的时候,需要用到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的来参考他们的格式:

PIN DELAY                                              

REFDES     U1

DEVICE     SOC_IRONWOOD_FF900
   

PIN_NAME PIN_DELAY  这里是管脚名和管脚的延时,延时是以mil为单位,那么我们在算的时候,需要根据材质来计算1ps的延时相当于多少mil,  这里需要计算在网上找了下如公式PCB布线延时传播公式.docx   
这里我就按6,现在开始始整理生成的文件,提取出我们需要的数据,其他的我们直接删掉就好。
原始格式如下:
       
 我们在Max Trace Delay (ps)后面新建一行,来计算最大小的平均值:


在新的栏里输入=(E6+F6)/2回车就能得到平均值

然后选中单元格,下拉,把剩下的全算出来

ps转为mil这里大概取6倍,再在后面新建一列

再加上单位mil,后面再新建一列。

将算出来的值和MIL合并,在MIL那一列后面再新建一列。

注意,这里因为都是用的函数计算的,所以这个多的值是不能直接删的,一删全变成#,我们这里把需要的值以数据的方式复制出来,然后删掉不要的数据,复制合并好的这一列。

粘贴的时候选值

完成后的

    现在可以放心大胆去删掉不要的数据了。 整理好后是介个样子的
           

保存,等着导入PCB打开PCB,需要更改下

然后打开PCB file->inport->pin delay,选择我们处理好的文件,直接导入就OK了


上面是导入前,下面是导入后。


可以很清晰地看出,导入前和后的区别就是这么大,我们在设计高速板时,这些片内pin_delay一定要考虑进去。
导入的数据是否准确也是需要进行验证的,如果导入的数据错了,也是白搭,所以验证数据也很有必要,在导入数据的PCB中file->export->pin delay选中芯片。然后选择导出的位置和重新命个名就OK了。

打开导出的数据,

在后面贴入之前导入的数据,来做个对比。

这样也对比不出啥或,都不是一一对应的,对比啥呀,不要慌,这里就要用到Excle里面的VLOOKUP函数了。

vlookup(lookup_value,table_array,col_index_num,[range_lookup])

lookup_value表示要查找的对象;

table_array表示查找的表格区域;

col_index_num表示要查找的数据在table_array区域中处于第几列的列号;

range_lookup表示查找类型,其中1表示近似匹配,0表示精确匹配,一般我们用精确匹配的情况较多。


这里需要注意的是,导出的数据,第一列里面有两个空格,在使用的时候要报错,用查找,替换,把空格干掉


在导入的右侧得到导出的值,通过两栏的对比就很容易发现值是一样的。至些检查结束!

原创,如转载,请注明出处,让我更有动力去分享更多有趣的东西,谢谢!


阅读(4003) | 评论(4) | 转发(0) |
2

上一篇:MII接口全家福

下一篇:ZYNQ开发环境搭建

给主人留下些什么吧!~~

jiaweijing2017-06-18 07:48:43

gjjh417:感谢您的分享!!! 另外请教一下您,DDR部分的pin delay您有没有计算呢?还有您做了这样的处理,最后设计的板子工作情况怎么样呢?

DDR部分的处理方式是一样的,只是DDR的你一般拿不到资料,再说DDR封装小,一般也直接忽略了。

回复 | 举报

gjjh4172017-03-29 11:06:02

感谢您的分享!!! 另外请教一下您,DDR部分的pin delay您有没有计算呢?还有您做了这样的处理,最后设计的板子工作情况怎么样呢?

jiaweijing2016-12-15 10:34:31

zzudgyx:真是太感谢了,找了好久,帮了很大的忙。谢谢!

不客气!

回复 | 举报

zzudgyx2016-10-29 18:57:42

真是太感谢了,找了好久,帮了很大的忙。谢谢!