|
Open Source синтезаторы для ASIC |
|
|
|
 |
Ответов
(1 - 46)
|
Jan 10 2009, 21:55
|
Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 9-01-09
Из: Москва
Пользователь №: 43 085

|
Цитата(SM @ Jan 10 2009, 13:15)  А зачем для этого синтезатор? Мне не столько интересно убедиться в том, что они все правильно сделали, сколько, что называется, "определить границы". Например, мы планируем делать по 0.18, а у меня есть подозрение, что хватит и 0.25, а может и больше. Кроме этого, хотелось бы проверить их оценки площади, определить максимальную рабочую частоту и т.п. Это первый ASIC для нашей конторы и первый проект такого уровня сложности для них, так что вопросов и поводов для беспокойства предостаточно.
|
|
|
|
|
Jan 11 2009, 08:09
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(starley @ Jan 11 2009, 00:55)  Мне не столько интересно убедиться в том, что они все правильно сделали, сколько, что называется, "определить границы". Например, мы планируем делать по 0.18, а у меня есть подозрение, что хватит и 0.25, а может и больше. А у вас есть все технологические либы на все технологии того фаба, где печь будете? Чтобы вот так выбирать и пробовать? Нам например каждую отдельно взятую либу давали под свой NDA. Найти синопсис дц никакой проблемы не составляет.
|
|
|
|
|
Jan 11 2009, 14:18
|

Местный
  
Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784

|
Цитата(starley @ Jan 10 2009, 00:36)  Есть что-нибудь, кроме Alliance? А то он какой-то несерьезный. ну, согласно http://ru.wikipedia.org/wiki/GNU_Compiler_Collection , есть поддержка VHDL
--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
|
|
|
|
|
Jan 11 2009, 16:19
|
Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 9-01-09
Из: Москва
Пользователь №: 43 085

|
Цитата(SM @ Jan 11 2009, 11:09)  А у вас есть все технологические либы на все технологии того фаба, где печь будете? Чтобы вот так выбирать и пробовать? Ну кое-какие либы есть, что-то найду. Для оценки порядка величин, надеюсь, хватит. Оценить-то надо будет только 0.18 и 0.25.
|
|
|
|
|
Jan 12 2009, 14:27
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(starley @ Jan 12 2009, 14:42)  Кстати, есть и OpenSource библиотеки, например, на www.vlsitechnology.org. Кто-нибудь смотрел их? В чем они уступают коммерческим аналогам? В том, что они годятся для образовательных целей, ну в крайнем случае как база для изготовления своей техлибы. Но делать на ней асик, и даже оценивать по ней что-то, риск слишком велик. Что касается "коммерческих" - все технологические либы я пока что получал от фабрики совершенно бесплатно. Только под NDA. Коммерческие - это что нибудь "из ряда вон" - типа rad hard или ultra low power.
|
|
|
|
|
Jan 16 2009, 13:42
|
Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 9-01-09
Из: Москва
Пользователь №: 43 085

|
Цитата(SM @ Jan 16 2009, 15:15)  Какой фаб? Желательно TSMC. Но для примерной оценки, я думаю, и любой другой пойдет.
|
|
|
|
|
Jan 16 2009, 14:11
|

Местный
  
Группа: Свой
Сообщений: 453
Регистрация: 22-04-07
Пользователь №: 27 235

|
Цитата(starley @ Jan 16 2009, 17:42)  Желательно TSMC. Но для примерной оценки, я думаю, и любой другой пойдет. TSMCs TSMC library for 0.13 micron: http://rapidshare.com/files/132830739/Tsmc_013.Tar.gzor http://ifile.it/g1ywh3eI have these files too: Size Name 317,423,304 - 0.18um TSMC Artisan Design Kit updated-fixed 02-2008.rar Part1 Part2 1,421,312 - rebuilt.Tsmc-0.18Um Lib.rar = http://ifile.it/dmgqy7n104,588,266 - Tsmc 0.35 Library.zip = http://ifile.it/foex37h230,830,080 - Tsmc 013 standardcell.Tar Part1 = http://ifile.it/45itswaPart2 = http://ifile.it/cjha1iu83,830,557 - TSMC_018.tar.gz = http://ifile.it/pcxn1jg188,067,840 - Tsmc 018 Standardcell.tar http://ifile.it/xskpafn/tsmc_018_standardcell.tar10,044,882 - TSMC-0.18um LIB.rar = http://ifile.it/f8l0uew626,666,845 - TSMC.90.tar.bz2 83,830,557 TSMC_018.tar.gz Part1 = http://ifile.it/0y3qic2Part2 = http://ifile.it/d3z76ewPart3 = http://ifile.it/mazj715Part4 = http://ifile.it/8d06hurPart5 = http://ifile.it/wqmy7dgвзято с http://atryna.blogspot.com
|
|
|
|
|
Jan 17 2009, 07:39
|

Местный
  
Группа: Свой
Сообщений: 453
Регистрация: 22-04-07
Пользователь №: 27 235

|
Цитата(starley @ Jan 17 2009, 00:34)  пару ссылок получились битыми. вот прямая ссылка на пост http://atryna.blogspot.com/2008/07/tsmc-013u.html>>несколько вариантов библиотек для 0.18 0.18 я не качал. скорее всего это просто разные релизы, обновления. TSMC90 аж за 2005 год. полное старье. может служить только в ознакомительных целях.
|
|
|
|
|
Jan 20 2009, 12:51
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(starley @ Jan 20 2009, 15:27)  С библиотеками базовых ячеек понятно. Теперь вопрос с ячейками ввода/вывода. В базовые библиотеки входят только самые простые. А как насчет более интересных, например, SSTL для DDR. Есть специальные библиотеки для ячеек ввода/вывода? Второй вопрос, реально ли найти в нете такие вещи как PLL и SERDES? Или хотя бы доки на них? Это все обычно IP cores сторонних разработчиков, которые доступны за дополнительную плату. Ну или как вариант самому разрабатывать, выдрав защиту из стандартной либы, ибо это самый геморрой, а все остальное туда свое.
|
|
|
|
|
Jan 20 2009, 20:01
|
Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 9-01-09
Из: Москва
Пользователь №: 43 085

|
Цитата(SM @ Jan 20 2009, 21:42)  ХМ. Кажется дошло  Я говорю про ESD-защиту падов.... А Вы? А что тогда самому делать? Размеры транзисторов под требуемое выходное сопротивление подгонять? Тут вот еще вопрос возник. Либы имеют расширение .db и .lib. DC использует .db. А кому тогда нужен lib?
|
|
|
|
|
Jan 21 2009, 11:42
|
Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 9-01-09
Из: Москва
Пользователь №: 43 085

|
Цитата(SM @ Jan 21 2009, 00:21)  А вот программы имеют расширение .exe, .c, .cpp. Windows использует exe. А кому тогда нужны .c и .сpp ? То есть .lib - это типа исходников? Еще вопрос, а какие единицы в отчете, формируемом командой DC report_area?
|
|
|
|
|
Jan 21 2009, 12:23
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Losik @ Jan 21 2009, 14:59)  um^2 Не вводите людей в заблуждение. Единицы точно те, которые указаны в библиотеке, и могут быть любыми попугаями. У меня в части библиотек микроны в квадрате, а в части - площади NAND2. В результате пришлось править часть либ с айпи-корами, приводя их к общему знаменателю (я выбрал гейты, то есть площади NAND2, так как stdcell в них была, чтобы править меньше)
|
|
|
|
|
Jan 21 2009, 12:34
|

Местный
  
Группа: Свой
Сообщений: 453
Регистрация: 22-04-07
Пользователь №: 27 235

|
Цитата(SM @ Jan 21 2009, 15:23)  Не вводите людей в заблуждение. Единицы точно те, которые указаны в библиотеке, и могут быть любыми попугаями. У меня в части библиотек микроны в квадрате, а в части - площади NAND2. В результате пришлось править часть либ с айпи-корами, приводя их к общему знаменателю (я выбрал гейты, то есть площади NAND2, так как stdcell в них была, чтобы править меньше) >>Единицы точно те, которые указаны в библиотеке согласен >>в части - площади NAND2 с такими еще не сталкивался
|
|
|
|
|
Jan 24 2009, 19:51
|
Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 9-01-09
Из: Москва
Пользователь №: 43 085

|
Вот еще вопрос созрел. В артизановском дизайн ките синтезатор памяти только для Spark. А бывают ли эти синтезаторы под нормальные процессоры, вроде х86  . А то на единственном нашем спарке какая-то древняя соляра стоит, а ставить новую только из-за синтезатора не хочется. И еще. В параметрах синтезатора задается размер охранного кольца для памяти. Из каких соображений его надо выбирать? По умолчанию предлагается 2 мкм.
|
|
|
|
|
Jan 26 2009, 06:16
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 21-09-06
Из: msk
Пользователь №: 20 563

|
Цитата(starley @ Jan 24 2009, 22:51)  Вот еще вопрос созрел. В артизановском дизайн ките синтезатор памяти только для Spark. А бывают ли эти синтезаторы под нормальные процессоры, вроде х86  . А то на единственном нашем спарке какая-то древняя соляра стоит, а ставить новую только из-за синтезатора не хочется. к сожалению, для артизановских китов, с которыми работал(0.18, 0.25), все генераторы памяти поставлялись именно под Sun Solaris. приходится держать SunBlade под эти генераторы. генераторы под нормальные процессоры и linux бывают, только у других вендоров : ) Цитата(starley @ Jan 24 2009, 22:51)  И еще. В параметрах синтезатора задается размер охранного кольца для памяти. Из каких соображений его надо выбирать? По умолчанию предлагается 2 мкм. размер охранного кольца? может быть ширина и металлы рингов? если речь про ринги, - то по-хорошему исходя из расчета потребляемого тока блоком памяти. можно заложиться с запасом : )
|
|
|
|
|
Jan 27 2009, 11:57
|
Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 9-01-09
Из: Москва
Пользователь №: 43 085

|
Помимо DC у синопсиса есть еще синтезатор PhyC, который по их уверениям лучше. Кто-нибудь работал с ним? Действительно лучше? Цитата(sleep @ Jan 26 2009, 09:16)  может быть ширина и металлы рингов? если речь про ринги, - то по-хорошему исходя из расчета потребляемого тока блоком памяти. можно заложиться с запасом : ) Может и про ринги. В таком случае разве синтезатор сам не может определить их размер, исходя из потребления тока?
|
|
|
|
|
Jan 27 2009, 13:05
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 2-11-06
Из: Москва
Пользователь №: 21 900

|
PhysC это следующий, по маршруту проектирования, тул, полсе DC. Он бенет синтезированный в DC нетлист и делает размещение (placement) с последующей оптимизацией нетлиста и размещения. Вообще-то это устаревший тул, так, что если есть доступ к Synopsys IC Compiler, то лучше пользоватся сразу им. IC Comp заменяет связку PhysC и Astro (placement+routing). А еще есть DC-Ultra-Topgraphical - это надстройка над просто DC - основная фича - синтез с учетом предполагаемого размещения - если есть доступ, то запускайте DC-Ultra (или даже DC-Graphical - синтез с учетом и размещения и трассировки  )
|
|
|
|
|
Jan 27 2009, 13:11
|
Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 9-01-09
Из: Москва
Пользователь №: 43 085

|
Цитата(oratie @ Jan 27 2009, 16:05)  А еще есть DC-Ultra-Topgraphical - это надстройка над просто DC - основная фича - синтез с учетом предполагаемого размещения - если есть доступ, то запускайте DC-Ultra (или даже DC-Graphical - синтез с учетом и размещения и трассировки  ) А как он запускается из DC?
|
|
|
|
|
Jan 27 2009, 16:13
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(oratie @ Jan 27 2009, 16:05)  если есть доступ к Synopsys IC Compiler, то лучше пользоватся сразу им. IC Comp заменяет связку PhysC и Astro (placement+routing). Вы вводите людей в заблуждение. Astro это полноценный бэкенд-тул, ему не нужны никакие PhyC. Astro берет на входе нетлист от DC, бэк-енд либы от фаба, и ничего больше ему не нужно. Astro это бывший прямой конкуррент к PhyC/IC. Бывший потому что от Avanti он. А теперь - параллельные тулы. Я бы сказал - что если есть доступ к Astro - юзайте Astro. Если нет - то можно и IC compiler, попроще-подубовее. Еще один плюс Astro - с ним проще жить, если кастомные блоки есть, сделанные в Cosmos. Например чтобы сгенерить образ блока для PAR по полной топологии блока - то без Astro вообще не обойтись (или скрипт в космосе писать). Еще плюс Astro - это опция Interactive Ultra - ручная разводка. ИМХО (но не точно) IC comp это не умеет. Цитата(oratie @ Jan 27 2009, 16:05)  А еще есть DC-Ultra-Topgraphical - это надстройка над просто DC - основная фича - синтез с учетом предполагаемого размещения Не синтез с учетом размещения, а оценка таймингов не через wireload-модели а методом размещения-оценочной разводки-RC-экстракции. То есть просто более точная и реальная оценка таймингов.
|
|
|
|
|
Jan 27 2009, 17:10
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 21-09-06
Из: msk
Пользователь №: 20 563

|
Цитата(starley @ Jan 27 2009, 14:57)  Может и про ринги. В таком случае разве синтезатор сам не может определить их размер, исходя из потребления тока? те компиляторы памяти от артизан, с которыми я работал, не могли. да и от других вендоров компиляторы тоже как-то не слишком активничают в плане _вычислений_ конфигурации рингов питания. да и простора для _вычислений_ компилятором рингов обычно не предоставляется - просто поля для ввода юзером. поэтому действовать предлагается исходя из опыта и здравого смысла.
|
|
|
|
|
Jan 27 2009, 18:52
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 2-11-06
Из: Москва
Пользователь №: 21 900

|
>Вы вводите людей в заблуждение. Astro это полноценный бэкенд-тул, ему не нужны никакие PhyC. Да, немного некорректно написал. Конечно же Astro делает сам и размещение и разводку. Привязывать к нему PhysC имеет смысл, если Astro не справляется с вытягиванием timing/power/area... Так, как в PhysC реализован более мощный (в Astro есть оптимизация, но послабее) алгоритм оптимизации логики (logic remapping) на этапе размещения. А трассировщик в PhysC совсем никакой. Поэтому я и говорю, ICC способен заменить Astro (place'n'route) + PhysC (deep in-place optimization), да еще к тому же может заменить и JupiterXT (floorplanner). Кстати, Synopsys не собирается поддерживать Astro на технологиях глубже 45нм. Только ICC. >Не синтез с учетом размещения, а оценка таймингов не через wireload-модели а методом размещения-оценочной разводки-RC-экстракции. Да это то же самое, более точная оценка тайминга, что в свою очередь приводит к синтезу нетлиста, которому требуется меньше изменений (оптимизаций) на этапе размещения и трассировки (в Astro или ICC). По поводу рингов питания, я встречал компиляторы, где вы можете задавать ширину (а рекомендуемая ширина прописывается в даташите (исходя из конфигурации там приводятся разные ширины). Точно в вашем даташите на память ничего не говорится про это? Тогда поставьте ширину не меньше, чем ширина пинов земли/питания в полученной памяти. Зачем их генерить компилятору памяти самому - мне кажется, чтобы просто помочь юзеру
|
|
|
|
|
Jan 28 2009, 06:15
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 21-09-06
Из: msk
Пользователь №: 20 563

|
Цитата(SM @ Jan 27 2009, 20:46)  А на кой эти ринги вообще компилятору памяти генерировать? Их куда проще при PAR сформировать. Собственно юзаю сейчас компилер от синопсиса-аванта, там, как по логике и следовало бы ожидать, ни слова о рингах вообще. чтобы компилятор памяти не предлагал генерировать ринги не встречал. что такое PAR тоже не знаю(P&R? : ) ). afaik компиляторы памяти от Artisan и Virage Logic сейчас предлагают такую фичу. насчет "простоты" делать индивидуальные ринги к каждому макроблоку памяти при планировке - имхо сомнительное удовольствие перерисовывать ринги к каждой памяти при изменении floorplan чипа или на новом чипе (again, не понял, что же такое "PAR"). при наличии информации о рингах в .lef, .gds на макроблок ринги "всегда с тобой", при любом инстантиировании блока ринги сразу же осознаются как instance pins. соответственно, организовать power routing, размещение standard cells без заботы о halo блока, расчет IR-drop и др. проще. в SOCE так точно проще...
|
|
|
|
|
Jan 28 2009, 09:29
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(sleep @ Jan 28 2009, 09:15)  чтобы компилятор памяти не предлагал генерировать ринги не встречал. что такое PAR тоже не знаю(P&R? : ) ). afaik компиляторы памяти от Artisan и Virage Logic сейчас предлагают такую фичу. насчет "простоты" делать индивидуальные ринги к каждому макроблоку памяти при планировке - имхо сомнительное удовольствие перерисовывать ринги к каждой памяти при изменении floorplan чипа или на новом чипе (again, не понял, что же такое "PAR"). при наличии информации о рингах в .lef, .gds на макроблок ринги "всегда с тобой", при любом инстантиировании блока ринги сразу же осознаются как instance pins. соответственно, организовать power routing, размещение standard cells без заботы о halo блока, расчет IR-drop и др. проще. в SOCE так точно проще... par это place and route. backend короче. Касабельно рингов - а я вот люблю сделать ринги над памятью, а не вокруг, если мне металлов хватает... И нахрена оно мне тогда, сгенеренное компилером? А сделать ринги вокруг блока в том же астро один тычок.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|