Doka 1 10 августа, 2006 Опубликовано 10 августа, 2006 · Жалоба А кто говорит что ООП это плохой стиль кодига? ИМХО гораздо лучше, чем функциональное, тут и спорить не надо... да причем тут это?!.. вы вообще не в тему. где вы здесь увидели ооп? когда вы пишете на Си вы наверное объявляете все переменные как глобальные, дабы иметь к ним возможность доступа из любого места программы?! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iMiKE 0 10 августа, 2006 Опубликовано 10 августа, 2006 · Жалоба Разве СистемВерилог это не ООП? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 34 10 августа, 2006 Опубликовано 10 августа, 2006 · Жалоба И что Вы хотели доказать? Что язык Верилог имеет такую возможность? А кто это оспаривает? Мой вопрос внимательнее перечитайте - какой синтезатор (т.е. на уровне RTL) это поддерживает? Потому, что для нас-то главное именно это, а не абстрактные возможности языка. ответьте честно: зачем это вам именно для RTL? ??? Как это зачем? А на кой оно вообще тогда? Я (как и, наверное, многие другие участники форума) на Верилоге потроха ПЛИСов, используемых в реальных дивайсах, описываю, для этого мне надо, чтобы мое описание было благополучно скушано синтезатором, а для этого я должен использовать синтезируемое подмножество языка, RTL то бишь. Отсюда и вопрос. от хорошего стиля кодирования решили перейти к плохому?! Причем тут вообще стиль кодирования? Что Вы подразумеваете под хорошим стилем и под плохим стилем? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 1 10 августа, 2006 Опубликовано 10 августа, 2006 · Жалоба to dxp видимо тут произошло столкновение разных школ аппаратного проектирования: да, соглашусь: для моделирования это полезно - иметь доступ к любому сигналу любого компонента. моделсим поддерживает эту синтаксическую конструкцию давно и с успехом. сам пользуюсь при отладке такой возможностью . но вот не понимаю.. зачем же такую анархию при RTL-кодировании творить?! можно же вообще тогда отказаться от описания интерфейса модуля - раз можно подключаться откуда-хошь к любым его сигналам.. опять же из любого места v-файла. А потом убивать свое рабочее время на поиск ошибок. строгость традиционного описания тут является преимуществом: объявили экземпляр компонента?! тогда будьте добры в этом же месте и его порты подключить. или Вы считаете , отсутствие поддержки данной синтаксической конструкции средствами синтеза - это результат лени либо инертности мышления разработчиков? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 34 10 августа, 2006 Опубликовано 10 августа, 2006 (изменено) · Жалоба видимо тут произошло столкновение разных школ аппаратного проектирования: да, соглашусь: для моделирования это полезно - иметь доступ к любому сигналу любого компонента. моделсим поддерживает эту синтаксическую конструкцию давно и с успехом. сам пользуюсь при отладке такой возможностью . но вот не понимаю.. зачем же такую анархию при RTL-кодировании творить?! можно же вообще тогда отказаться от описания интерфейса модуля - раз можно подключаться откуда-хошь к любым его сигналам.. опять же из любого места v-файла. А потом убивать свое рабочее время на поиск ошибок. строгость традиционного описания тут является преимуществом: объявили экземпляр компонента?! тогда будьте добры в этом же месте и его порты подключить. или Вы считаете , отсутствие поддержки данной синтаксической конструкции средствами синтеза - это результат лени либо инертности мышления разработчиков? Да ничего я не считаю - Вы сами что-то додумали. Если уж интересно мое мнение, то я считаю лазить за пределы модуля, в обход интерфейса - плохой стиль и грязый хак. Поэтому признаю поведение синтезаторов в этом случае обоснованным. Но возвращаясь к исходной точке: упомянули про структуры в СВ, на что Вы сказали, что их можно заменить на модуль.сигнал при использовании В. Я не считаю, что это хоть сколько-нибудь адекватная замена ни в идеологическом смысле (Вы и сами достаточно внятно только что объяснили причины), ни в практическом - не поддерживают синтезаторы. Идеологию я не стал затрагивать - это всегда момент скользкий и флеймоопасный - идеологию все по своему понимают. Остановился только на практическом моменте - нельзя использовать нотацию модуль.сигнал при описании синтезируемых вещей. Итого, нету в Верилоге аналога структурам, и уровень инкапсуляции и абстракции в Верилоге - это уровень модуля. Что, мягко говоря, не слишком гибко и удобно. Только и всего. Надеюсь, точки над i расставлены. Изменено 10 августа, 2006 пользователем dxp Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimasen 0 10 августа, 2006 Опубликовано 10 августа, 2006 · Жалоба dxp, Doka посмотрел на ваш спор и решил просто проверить работает ли... РАБОТАЕТ! покажу значимость СТРУКТУР в новом верилоге. Смотрим, по сигналу SLOAD загружаем все поля пакета на отправку, если НЕ_SLOAD, то пакет выдвигается на OUT. Смотрите, как красиво, и всё предельно понятно! module struct_proba ( input aclr, input clk, input sload, input out ); struct packed{ //структура пакета logic PARITY; logic[3:0] ADDR; logic[3:0] DEST; } pk; always_ff @(posedge clk or posedge aclr) if (aclr) begin pk <= 0;//сбрасываем асинхронно пакет ВЕСЬ end else if (sload) begin //загружаем каждое поле пакета ОТДЕЛЬНО pk.PARITY <= 1; pk.ADDR <= 5; pk.DEST <= 3; end else pk = pk >> 1;//сдвигаем ВЕСЬ пакет assign out = pk[0];//наружу выдаём только нулевой бит ВСЕГО пакета endmodule ------------------------------------------------------------------------------------ ну как??? КРАСОТА!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 34 10 августа, 2006 Опубликовано 10 августа, 2006 · Жалоба dxp, Doka посмотрел на ваш спор и решил просто проверить работает ли... РАБОТАЕТ! У нас дискуссия шла не про работоспособность структур в СВ, а про обращение к объектам по схеме модуль.сигнал. покажу значимость СТРУКТУР в новом верилоге. Она (значимость) как бы и так понятна. :) Смотрим, по сигналу SLOAD загружаем все поля пакета на отправку, если НЕ_SLOAD, то пакет [...] end else pk = pk >> 1;//сдвигаем ВЕСЬ пакет assign out = pk[0];//наружу выдаём только нулевой бит ВСЕГО пакета endmodule В каком синтезаторе пускали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimasen 0 10 августа, 2006 Опубликовано 10 августа, 2006 · Жалоба У нас дискуссия шла не про работоспособность структур в СВ, а про обращение к объектам по схеме модуль.сигнал. В каком синтезаторе пускали? Doka, и начал этот разговор с "моих" структур. Ни в каком синтезаторе. Нет у меня нормального синтезатора кроме квартуса :) В МоделСиме тока проверял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimasen 0 11 августа, 2006 Опубликовано 11 августа, 2006 · Жалоба Друзья! Есть ещё один очень интересный момент в SV - это INTERFACE. Есть ли у кого-нибудь опыт работы с ним? interface intf; bit A,B; byte C,D; logic E,F; endinterface intf w; modA m1(w); modB m2(w); module modA (intfi1); endmodule module modB (intfi1); endmodule Это из одного ПДФ'а. Видимо, что можно создать один интерфейс как структуру сигналов. И если надо навешивать на него кучу модулей одним движением руки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Postoroniy_V 0 11 августа, 2006 Опубликовано 11 августа, 2006 · Жалоба to dxp & dimasen постараюсь ответить на оба вопроса PS: и еще насчет версий: это всё во многом условно. Могу показать официальный документ именуемый IEEE 1364.1-2002 Что у вас за перевод такой? Перевод стандарта верилог 2000? Где вы его взяли если не секрет? ну а IEEE 1364.1-2002 это как раз и есть Verilog-2001 а не 2000. вот есть The Insititue of Electrical and Electronics Engineers (IEEE) (website) Standards Group for Verilog сслыка на них IEEE standards group for verilog по поводу версий это как раз совсем не условно :) иначе зачем все эти комитеты и их стандарты существуют? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 1 11 августа, 2006 Опубликовано 11 августа, 2006 (изменено) · Жалоба Что у вас за перевод такой? Перевод стандарта верилог 2000? Где вы его взяли если не секрет? ну а IEEE 1364.1-2002 это как раз и есть Verilog-2001 а не 2000. вот есть The Insititue of Electrical and Electronics Engineers (IEEE) (website) Standards Group for Verilog сслыка на них IEEE standards group for verilog по поводу версий это как раз совсем не условно :) иначе зачем все эти комитеты и их стандарты существуют? ну это не перевод, а книжка - ее название фигурирует в заголовке окна скриншота "Языки VHDL и VERILOG в проектировании цифровой аппаратуры" качал по рапидовской ссылке, которая пробегала на форуме со ссылкой ознакомился. считаю что это всёже условность: называть стандарт, вышедший в 2002г - Верилог-2001: The group release a revising of this standard in 2002, known as IEEE 1364-2001. upd: книжку залил на рапиду: http://rapidshare.de/files/29279190/Yaziki...-2003_.pdf.html Изменено 13 августа, 2006 пользователем Doka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Postoroniy_V 0 11 августа, 2006 Опубликовано 11 августа, 2006 · Жалоба со ссылкой ознакомился. считаю что это всёже условность: называть стандарт, вышедший в 2002г - Верилог-2001: The group release a revising of this standard in 2002, known as IEEE 1364-2001. ок! ваша позиция ясна :) за ссылку спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimasen 0 11 августа, 2006 Опубликовано 11 августа, 2006 · Жалоба Всем спасибо за осуждение С_Верилога. И особенное спасибо за помощь в изучении его синтаксиса! :blink: :blink: :blink: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimasen 0 11 августа, 2006 Опубликовано 11 августа, 2006 · Жалоба забавно я имел ввиду "обсуждение" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Кнкн 5 22 августа, 2006 Опубликовано 22 августа, 2006 · Жалоба Вот встретилось, может кому-нибудь нужно ... Verification Methodology Manual for SystemVerilog by Janick Bergeron Eduard Cerny Alan Hunter Andrew Nightingale http://rapidshare.de/files/26050684/vmmsv.zip.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться