|
В какой форме лучше передавать алгоритмы фронт-энд дизайнерам?, вопрос о правильном техмаршруте проектирования (сбор мнений) |
|
|
|
Jul 12 2012, 10:12
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 13-10-11
Из: Москва
Пользователь №: 67 720

|
Интересует мнение RTL-щиков, каковым я сам не являюсь.
Допустим, есть сложный проект с большим количеством математики, а в аппаратном выражении тянущий на миллион гейтов (без учета SRAM).
У постановщиков задачи есть программная модель, которую они готовы как угодно перелопатить, лишь бы последующее кодирование на verilog прошло как по маслу.Разумеется, все обильно документировано.
Добавлю также, что помимо математики в проекте весьма сложные циклограммы взаимодействия между модулями, которые программисты также готовы отобразить в коде, что помимо прочего полезно для отладки задуманных идей.
Вопрос: в какой форме и до какой степени разжеванности хотели бы видеть входные материалы исполнители (те, кто будет кодировать схему на verilog)?
Исходим из того, что программисты азы языков описания аппаратуры знают, и схемотехнике тоже слегка обучены, а будущие дизайнеры участвуют в проработке общей архитектуры микросхемы.
В качестве доп. вопросов: - кому логичнее озаботиться вопросом clock-gating и соответствующей модификацией алгоритмов? - до какой степени программисты должны дробить код на псевдо-процессы?
Специально обращу внимание, что вопрос не о SystemC, CatapultC, матлабных тулзах и пр.. Речь лишь о золотой референсной модели, но с максимальным приближением к RTL. В какой форме ее лучше всего организовать?
|
|
|
|
|
 |
Ответов
|
Jul 18 2012, 12:36
|

Гуру
     
Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553

|
Цитата А немогли-бы вы предоставить пример кода на SystemC который легко (студент) может преобразовать в VLOG? CODE SC_MODULE(DFF) { sc_in<sc_logic> CLK,CLR,CE,D; sc_inout<sc_logic> Q; void Register(); SC_CTOR(DFF) { SC_METHOD(Register) sensitive << CLK << CLR; } };
void DFF::Register() { if(sc_logic(CLR) == '0') { #ifdef DEBUG printf("CLK rising edge for DFF\n"); #endif if(sc_logic(CE) == '1') { #ifdef DEBUG printf("CE active\n"); #endif Q = D; } else { #ifdef DEBUG printf("CE inactive\n"); #endif } } else { #ifdef DEBUG printf("CLR active - reseting\n"); #endif Q = sc_logic('0'); } } Писать на таком уровне смысла нет - проще сразу на hdl будет. Можно попробовать чуть выше - на уровне транзакций, но без понимания общей концепции хорошего мало получится. На уровне разработчика RTL лучше всего воспринимается DataPath с описанием характеристик функциональных узлов, подробнейшее описание интерфейсов и пр.
|
|
|
|
|
Jul 18 2012, 16:46
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(vetal @ Jul 18 2012, 16:36)  Писать на таком уровне смысла нет - проще сразу на hdl будет. Можно попробовать чуть выше - на уровне транзакций, но без понимания общей концепции хорошего мало получится.
На уровне разработчика RTL лучше всего воспринимается DataPath с описанием характеристик функциональных узлов, подробнейшее описание интерфейсов и пр. вобщем так и делали, то есть взаимодействие с каким-то куском аппаратуры (например, внешние интерфейсы и шины) на RTL (то есть сигналы должны быть), может это неправильно, но чтобы SC шную модель вставлять в симулятор как instance внутри датапасы, а для реализации каких-то протокольных вещей, наверно, лучше транзакциями, оформляется приблизительно также то есть, тактировано (в нашем случае это было проще сделать на SC) ну а всякие сложности/объяснения в сопроводительной доке - визио -------------- SC просто интрумент достаточно широкого применения - от синтезируемой RTL до абстрактных untimed алгоритмов. в какой стадии передавать верилог кодерам зависит от коллектива и задачи
|
|
|
|
Сообщений в этой теме
Dragon-fly В какой форме лучше передавать алгоритмы фронт-энд дизайнерам? Jul 12 2012, 10:12 bestcomps4u Бизнес проекты это отдельная тема, и раз у Вас нес... Jul 12 2012, 10:31 Dragon-fly Цитата(bestcomps4u @ Jul 12 2012, 14:31) ... Jul 12 2012, 10:56 Torpeda Цитата(Dragon-fly @ Jul 12 2012, 13... Jul 12 2012, 14:47 Dragon-fly Torpeda, спасибо за ответ
Цитата(Torpeda @ J... Jul 12 2012, 15:15  Torpeda Цитата(Dragon-fly @ Jul 12 2012, 18... Jul 13 2012, 07:41   Dragon-fly Цитата(Torpeda @ Jul 13 2012, 11:41) 1) ... Jul 13 2012, 10:09    Torpeda Цитата(Dragon-fly @ Jul 13 2012, 13... Jul 13 2012, 11:46     Dragon-fly Torpeda, так ведь и в "Word-е" циклоакку... Jul 13 2012, 12:47 yes универсального метода, то есть гарантировано лучше... Jul 17 2012, 11:49 Dragon-fly yes, благодарю за содержательный ответ!
стало... Jul 17 2012, 11:55 Torpeda Цитата(yes @ Jul 17 2012, 14:49) по повод... Jul 18 2012, 11:28 Gate Цитата(yes @ Jul 17 2012, 15:49) раньше б... Jul 19 2012, 09:07 vetal ЦитатаSC просто интрумент достаточно широкого прим... Jul 18 2012, 17:22 Dragon-fly Цитата(vetal @ Jul 18 2012, 21:22) Он для... Jul 20 2012, 10:04  yes Цитата(Dragon-fly @ Jul 20 2012, 14... Jul 23 2012, 17:47
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|