微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 建库是遇到的问题,求牛人解答,万分感谢

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

时间:10-02 整理:3721RD 点击:
建立新的单元需要一个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 ;
}

自己顶一个,再求

手册里有写的,仔细读一下,主要是时序单元的话对vector长度有些要求。你建的是什么单元?简单的话好像可以自动识别的
ncx user guide 第三章



    这个我研究过,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)



    我晕,原来是你!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top