Jump to content

    
Sign in to follow this  
SM

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites
а может синтезатор просто не видит .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 ест это описание и никаких варнингов. Что, черт возьми, поменялось?????

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

Share this post


Link to post
Share on other sites
странный у вас какой-то вендор

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this