Перейти к содержанию
    

Synopsys DC/LC - описание памяти в .lib

Что-то копаю мануалы и солд - не вижу описания групп memory, memory_read, memory_write. Как это сейчас делается? А то DC в упор не хочет видеть таймингов блока памяти при синтезе, говорит блэк-бокс и анкноун фанкшн... Память генерилась 1999-каким-то мемори-компилером из Synopsys Libra-Visa библиотек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а может синтезатор просто не видит .lib файл от памяти?

И второе. В .lib файле в описании памяти должна быть примерно такая фраза:

cell(userRAM) {
    area         : 1195718.181;
    dont_use     : TRUE;
    dont_touch     : TRUE;
.....

Если она именно такая то нужно "dont_use: TRUE;" убрать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а может синтезатор просто не видит .lib файл от памяти?

 

Видит. Но не видит пути адрес->данные, не видит холдов-сетапов относительно WE, и т.п.

 

вот из его описания:

 

cell (dp_ram_512x8) {
area : 7342.21;
handle_negative_constraint : true;
dont_touch : true;
dont_use   : true;
map_only   : true;
memory() {
type : ram;
address_width : 9;
word_width : 8;
}
.......

 

Беда-то вот где - 2005.09 пишет после read_lib Warning: Line xxx, Failed to recognize the functionality of cell 'dp_ram_512x8'; При этом 2004.06 ест это описание и никаких варнингов. Что, черт возьми, поменялось?????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы всё-таки попробуйте стереть строчку dont_use : true. Может что изменится.Как вариант - может старая версия просто игнорирует этот атрибут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

неа... И подозрительно, что из мануала пропал пункт "Describing memory modules"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

неа... И подозрительно, что из мануала пропал пункт "Describing memory modules"

 

 

Hm..., I see the same, if I use "read_lib *RAM*.lib".

But it looks OK in case of using *RAM*.db

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

I do not have old version of DC. Could you try this:

compile .lib to .db for design compiler 2004

(in dc-shell mode, use commands “read_lib” and “write_lib” )

 

 

Add .db in the library settings of your Synopsys setup file .synopsys_dc.setup

set link_library

set target_library

 

regards

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

может версия 2004 тоже не распознавала банк памяти по функции, просто не писала об этом

 

но так читать lib -ы это не верно

их надо загрудать в library compiler - получать db file - скомпилированный и потом подключать как link library - как tomac написал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так именно lc_shell и не распознал там память. dc_shell тоже не распознал, но это в порядке эксперимента. И, естественно, подключалось оно в виде .db через link_library.

 

P.S. завтра наверное в 2006.06 попробую... Может сделали :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

странный у вас какой-то вендор

сам нередко сталкивался с неправильным описанием, но видать у вас настолько старая модель.

 

Есть какой-нибудь современный lib от artisan-a ?

для сравнения

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

странный у вас какой-то вендор

сам нередко сталкивался с неправильным описанием, но видать у вас настолько старая модель.

 

Проблема-то не в том, что у меня вендор странный. Никакой он не странный. Это Avant!, скупленный потом синопсисом, и названный Libra-Visa. И в природе нету артизановских библиотек под эту технологию. И библиотеки все эти отлично проходят и по DRC, и по LVS, и, что удивительно, даже при симуляции на транзисторном уровне после экстракции паразитов. И разглядывал я их в редакторе топологии - все красиво и приятно. Нет у меня претензий к библиотекам. Они на редкость грамотные. Ну не знали они, что мне понадобятся какие-то извраты, не нужные другим. Я точно также чуть ли не в тупик поставил народ с фаба, задав вопрос, могу ли я сделать PIP-кондер над активной областью, чтобы запараллелить емкость затвора с емкостью PIP. Они долго выясняли, а зачем мне это... Ан надо...

 

Но, суть вопроса-то была не в этом... Почитайте SOLD 2004.06-й, а потом 2005.09... ПРОПАЛИ из нового SOLD'а описания памяти в .lib, что и подтверждается результатами read_lib в свежем LC. Вот так-то...

 

P.S. У меня либов много, и от артизана в том числе есть. Но делаю-то я под определенную технологию. И других либов/компилеров там нет. А свой RAM-компилер делать просто некогда. Хотя при глубоком рассмотрении их топологии ясно видно, где можно сэкономить в площади и потреблении за счет таймингов. В общем это до следующего релиза...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...