реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Прототипирование АSICs на FPGA, Как бы так по-лучше сделать.
-=Vitaly=-
сообщение Dec 10 2007, 08:03
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Здравствуйте.

Интересует вопрос. Кто-то занимается прототипированием АСИКсов на ПЛИСах?
Как сделать прототип как можно ближе к АСИКсу, ведь при проектировании АСИКсов широко используют гейтед клок, а в FPGA его боятся как огня. Да и базисы у них отличаются.
Хотелось бы как-нибудь прикрутить нетлист после АСИКс синтезатора к FPGA.

Спасибо!
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение Dec 10 2007, 08:34
Сообщение #2


Местный
***

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



"как-нибудь" не получится прикрутить нетлист от ASIC к FPGA.

хотите отлаживаться на FPGA - пишите гибкий код (например определяя нужную target в `define и используя `ifdef `elseif для кусков описаний, специфичных для ПЛИС/АСИК ).


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
-=Vitaly=-
сообщение Dec 10 2007, 09:03
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Цитата(ClockworkOrange @ Dec 10 2007, 10:34) *
"как-нибудь" не получится прикрутить нетлист от ASIC к FPGA.

хотите отлаживаться на FPGA - пишите гибкий код (например определяя нужную target в `define и используя `ifdef `elseif для кусков описаний, специфичных для ПЛИС/АСИК ).


Ну я пока пишу верилог и синтезирую его и там и там и проверяю контрольные точки на симуляции и в FPGA, но это так просто проверить, что не ошибся в логике работы. И синтезаторы могут понимать то, что я наваял lol.gif
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение Dec 10 2007, 09:17
Сообщение #4


Местный
***

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



тогда нескромный вопрос: а как такие примитивы как память - для FPGA синтзируете??


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
-=Vitaly=-
сообщение Dec 10 2007, 09:18
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Цитата(ClockworkOrange @ Dec 10 2007, 11:17) *
тогда нескромный вопрос: а как такие примитивы как память - для FPGA синтзируете??


Использую блочную память если надо, в АСИКсе у меня такая же почти.
Go to the top of the page
 
+Quote Post
-=Sergei=-
сообщение Dec 10 2007, 11:36
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 26-10-04
Пользователь №: 985



Цитата(-=Vitaly=- @ Dec 10 2007, 11:03) *
Здравствуйте.

Интересует вопрос. Кто-то занимается прототипированием АСИКсов на ПЛИСах?
Как сделать прототип как можно ближе к АСИКсу, ведь при проектировании АСИКсов широко используют гейтед клок, а в FPGA его боятся как огня. Да и базисы у них отличаются.
Хотелось бы как-нибудь прикрутить нетлист после АСИКс синтезатора к FPGA.

Спасибо!



ifdef Xilinx
else
endif

Так описываем то что ну вообще никак нилзя по другому.


Если без клокгейтинга ну вообще никак, то за ним ставим BUFG но следим, что бы клоков было не более чем.

А так, вообщемто просто для триггеров у которых планируется использовать клок с гейтингом, в ПЛИСе добавляем CLKEN.
if (RST) ....
else if (CLKEN)
{
.....
}

И таким образом синтезим в ПЛИС, перед синтезом в ASIC, на все CLKEN задаем "1", а сигнал не него приходящий замешиваем с клоком. Но опять таки все внимательно проглядывается и просматривается, и отслеживается. CLKEN = 1 синтезатором оптимизируется и к лишней площади не приводит.
Go to the top of the page
 
+Quote Post
-=Vitaly=-
сообщение Dec 10 2007, 12:29
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Цитата(-=Sergei=- @ Dec 10 2007, 13:36) *
ifdef Xilinx
else
endif

Так описываем то что ну вообще никак нилзя по другому.
Если без клокгейтинга ну вообще никак, то за ним ставим BUFG но следим, что бы клоков было не более чем.

А так, вообщемто просто для триггеров у которых планируется использовать клок с гейтингом, в ПЛИСе добавляем CLKEN.
if (RST) ....
else if (CLKEN)
{
.....
}

И таким образом синтезим в ПЛИС, перед синтезом в ASIC, на все CLKEN задаем "1", а сигнал не него приходящий замешиваем с клоком. Но опять таки все внимательно проглядывается и просматривается, и отслеживается. CLKEN = 1 синтезатором оптимизируется и к лишней площади не приводит.



Cпасибо, я всегда использую CLK_EN, в FPGA разводится как надо, а в Саденсе или Синопсисе такие елементы автоматически заменяются на гейтед-клок+ триггер. Потом надо смотреть правда, чтобы быть уверенным что ничего не нахомутали.

То -=Sergey=- крылышки в нике означают принадлежность к любителям ИЛ-2, как у меня :-) ?

Сообщение отредактировал -=Vitaly=- - Dec 10 2007, 12:31
Go to the top of the page
 
+Quote Post
yes
сообщение Dec 10 2007, 12:48
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(-=Vitaly=- @ Dec 10 2007, 11:03) *
Здравствуйте.

Интересует вопрос. Кто-то занимается прототипированием АСИКсов на ПЛИСах?
Как сделать прототип как можно ближе к АСИКсу, ведь при проектировании АСИКсов широко используют гейтед клок, а в FPGA его боятся как огня. Да и базисы у них отличаются.
Хотелось бы как-нибудь прикрутить нетлист после АСИКс синтезатора к FPGA.

Спасибо!


кажется, что FPGA позволяет провести только функциональную верификацию АЗИКа

и гейтед клок - далеко не единственная проблема (btw: в виртексах (да и в других ФПГА, наверно тоже) есть клок-гейтеры)

то есть проверить можно только RTL, а всякие "хитрые" модули описать отдельно и использовать либо две версии, либо `define

тот нетлист, который выдает АЗИК синтезатор, значительно отличается от реального АЗИК нетлиста после P&R, разводки тактовых деревьев, и т.п. тем более для такого нетлиста важна времянка, что ПЛИС не позволяет проверить

теоретически есть конверторы с одной библиотеки в другую - тот же DC может перенести нетлист на ксайлинскую библиотеку (я не проверял), но смысла использовать такой нетлист не вижу

имхо - проверка АЗИК нетлиста - только моделирование (ну и формальные чекеры)
Go to the top of the page
 
+Quote Post
Singer
сообщение Dec 10 2007, 16:46
Сообщение #9


Участник
*

Группа: Свой
Сообщений: 52
Регистрация: 13-11-07
Пользователь №: 32 296



Цитата(yes @ Dec 10 2007, 15:48) *
кажется, что FPGA позволяет провести только функциональную верификацию АЗИКа

и гейтед клок - далеко не единственная проблема (btw: в виртексах (да и в других ФПГА, наверно тоже) есть клок-гейтеры)

то есть проверить можно только RTL, а всякие "хитрые" модули описать отдельно и использовать либо две версии, либо `define

тот нетлист, который выдает АЗИК синтезатор, значительно отличается от реального АЗИК нетлиста после P&R, разводки тактовых деревьев, и т.п. тем более для такого нетлиста важна времянка, что ПЛИС не позволяет проверить

теоретически есть конверторы с одной библиотеки в другую - тот же DC может перенести нетлист на ксайлинскую библиотеку (я не проверял), но смысла использовать такой нетлист не вижу

имхо - проверка АЗИК нетлиста - только моделирование (ну и формальные чекеры)


Точно, у Хилых можно использовать использовать примитивы типа BUFGMUX - корректные гейтед клоки без глитчей и задержек.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 20:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01465 секунд с 7
ELECTRONIX ©2004-2016