在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1981|回复: 4

[讨论] 建库是遇到的问题,求牛人解答,万分感谢

[复制链接]
发表于 2014-11-5 16:49:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
建立新的单元需要一个template文件(.opt),在做重新特征化时,这个文件通过liberty ncx 从原有库(seed libery提取,但是我是设计了一个新的单元,也就是建立宏单元(macro),那么问题就来了,这个template如何产生,如果按照原有库的单元照着自己编写,对组合逻辑可能有效,但是我设计的单元是时序逻辑,时序逻辑单元在tempalte需要写一个sensitization,而这个sensitization实在是无法自己编写(下面会附上原库中一个单元的template文件sensitization部分,文件名 denrg1.opt) 我想着知道建立标准单元(对于新的单元,没有seed library),如何产生template文件,特别是如何产生sensitization部分。不甚感谢
sensitization {
  CP, D, ENN : Q ;
  011011, 001111, 000001 : 11 ;
  011011, 001110, 0 : 11 ;
  011010, 001111, 0 : 11 ;
  011011, 110000, 000001 : 00 ;
  011011, 110001, 0 : 00 ;
  011010, 110000, 0 : 00 ;
  0110111, 1100000, 0000010 : 00 ;
  0110111, 1100001, 0000011 : 00 ;
  0110110, 1100000, 0000011 : 00 ;
  01101111, 11000011, 00000110 : 00 ;
  01101111, 11000010, 00000111 : 00 ;
  01101110, 11000011, 00000111 : 00 ;
  01101111, 00111100, 00000110 : 11 ;
  01101111, 00111101, 00000111 : 11 ;
  01101110, 00111100, 00000111 : 11 ;
  0110111, 0011111, 0000010 : 11 ;
  0110111, 0011110, 0000011 : 11 ;
  0110110, 0011111, 0000011 : 11 ;
  0110100, 1100000, 0000001 : 00 ;
  0110100, 1100001, 0 : 00 ;
  0110101, 1100000, 0 : 00 ;
  01101100, 00111000, 00000001 : 11 ;
  01101100, 00111001, 0 : 11 ;
  01101101, 00111000, 0 : f ;
  0110111, 0011100, 0000001 : 11 ;
  0110111, 0011101, 0 : 11 ;
  0110110, 0011100, 0 : 11 ;
  01101100, 11000111, 00000001 : 00 ;
  01101100, 11000110, 0 : 00 ;
  01101101, 11000111, 0 : r ;
  0110100, 0011111, 0000001 : 11 ;
  0110100, 0011110, 0 : 11 ;
  0110101, 0011111, 0 : 11 ;
  0110111, 1100011, 0000001 : 00 ;
  0110111, 1100010, 0 : 00 ;
  0110110, 1100011, 0 : 00 ;
  01101100, 11000000, 00000110 : 00 ;
  01101100, 11000001, 00000111 : 00 ;
  01101101, 11000000, 00000111 : 00 ;
  011011100, 001111000, 000001110 : 11 ;
  011011100, 001111001, 000001111 : 11 ;
  011011101, 001111000, 000001111 : 11 ;
  011011100, 110000111, 000001110 : 00 ;
  011011100, 110000110, 000001111 : 00 ;
  011011101, 110000111, 000001111 : 00 ;
  01101100, 00111111, 00000110 : 11 ;
  01101100, 00111110, 00000111 : 11 ;
  01101101, 00111111, 00000111 : 11 ;
  violation;
  01101001, 11000011, 0 : r ;
  011010011, 110000110, 0 : r ;
  011011010, 001110000, 0 : f ;
  01101101, 00111000, 0 : f ;
  011011001, 001110000, 000000011 : 11 ;
  0110110011, 0011100000, 0000000110 : 11 ;
  011011010, 110001111, 0 : r ;
  01101101, 11000111, 0 : r ;
  011011001, 110001111, 000000011 : 00 ;
  0110110011, 1100011111, 0000000110 : 00 ;
  01101001, 00111100, 0 : f ;
  011010011, 001111001, 0 : f ;
  0110111001, 0011110000, 0000011100 : f ;
  01101110011, 00111100000, 00000111001 : f ;
  0110111001, 1100001111, 0000011100 : r ;
  01101110011, 11000011111, 00000111001 : r ;
}
 楼主| 发表于 2014-11-6 09:22:13 | 显示全部楼层
自己顶一个,再求
发表于 2014-11-8 12:14:34 | 显示全部楼层
手册里有写的,仔细读一下,主要是时序单元的话对vector长度有些要求。你建的是什么单元?简单的话好像可以自动识别的
ncx user guide 第三章
 楼主| 发表于 2014-11-11 10:37:44 | 显示全部楼层
回复 3# qfliuyang


    这个我研究过,user guide也研究过,我根据里面的元件自己写了一个,但是报错是说找不多arc(输入到输出),这个是不是跟这个vertor有关?找不到arc就建立不了单元,我建的单元是一个带置位信号的Muller C单元,功能是置位有效置位,置位无效时,两个输入相同输出这个相同值,输入不同时,保持上一个输出不变,我按照的是锁存器模型建立template。以下是我报的错(set,a,b是输入,c是输出)。万分感谢
Muller_c_mods(sensitization)
  negative_unate arc 0:a->c()(sensitization: no vectors)
negative_unate arc 1:b->c()(sensitization: no vectors)
negative_unate preset arc 2:set->c()(sensitization: no vectors)
 楼主| 发表于 2014-11-11 10:39:06 | 显示全部楼层
回复 4# 扬名立万


    我晕,原来是你!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 15:37 , Processed in 0.023932 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表