|
发表于 2016-6-15 21:08:45
|
显示全部楼层
回复 9# userguide
1. 可以确定的是, 用你目前手上的Library是不可能做到你要的频率的。
2. alpha 21264第一版本当时用的是0.35um的工艺, 依然可以做到600MHz的主频,
而且21264的构架和你用的PPC440内核基本上差不多。关键是这些cell是为了实现高速设计改造的。
这些cell的transition以及setup/hold至少要达到和目标频率相匹配的范围。
3. 除了cell本身的delay, 就是route上的, 因此时钟驱动网络就比较关键, 这些时钟网络基本上是要
像走电源的strip一样。 甚至需要一些比较厚的metal。时钟的slew要做到几十ps以内。
4. Metal-Cu似乎是必须的
5. logic/rtl想一起综合, 是不行的。 需要分功能优化布局。
因此,需要了解内核构架, 包括每一条关键路径。 有些路径是需要重写的。
PPC440应也是7级左右的pipeline, 关键路径除了可能的乘、除运算外, 其他路径基本和存储有关的,
包括各种寄存器,各个流水端所用的cache和table, 都一定会在关键路径上, 这些几乎都要用定制的结构。
6. 一个更好的参考是sun公司开源的那个opensparc t2, 他的RTL几乎是用dff写的, 绝对不是因为
故意混乱实现细节(毕竟都开源了), 而是要保证路径的时序。
除了RTL, 然后还可以参考sun为这个内核定制实现的各种regfile, cache, table...
如果没条件定制这些东西,估计可以这样尝试:
fdy的库都是比较保守的,直接拿FF跑也没有问题,晶圆制造也可以往FF case调整。
可以再改下库的margin约束, 强制约束下dff之间的timing path。
然后把驱动能力低的cell全部dont_use, 把skew约束到最小,跑一次看看。面积应该是要大很多。。。
然后可以分析下关键路径, 这个综合的时序信息只能用来做优化的参考。
即使没条件走全定制的设计方法, 也还是要手工优化一些路径。
总之你用目前库里的这些数据分析, 没有什么参考价值。 这些只能满足常规设计。 |
|