|
|
|
Документация на System Verilog, Сбор документации на SVerilog. И обсуждение тонких моментов синтаксиса |
|
|
|
Aug 10 2006, 08:01
|
Adept
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343
|
Цитата(Doka @ Aug 10 2006, 14:19) Цитата(dxp @ Aug 10 2006, 08:17) И что Вы хотели доказать? Что язык Верилог имеет такую возможность? А кто это оспаривает? Мой вопрос внимательнее перечитайте - какой синтезатор (т.е. на уровне RTL) это поддерживает? Потому, что для нас-то главное именно это, а не абстрактные возможности языка. ответьте честно: зачем это вам именно для RTL? ??? Как это зачем? А на кой оно вообще тогда? Я (как и, наверное, многие другие участники форума) на Верилоге потроха ПЛИСов, используемых в реальных дивайсах, описываю, для этого мне надо, чтобы мое описание было благополучно скушано синтезатором, а для этого я должен использовать синтезируемое подмножество языка, RTL то бишь. Отсюда и вопрос. Цитата(Doka @ Aug 10 2006, 14:19) от хорошего стиля кодирования решили перейти к плохому?! Причем тут вообще стиль кодирования? Что Вы подразумеваете под хорошим стилем и под плохим стилем?
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Aug 10 2006, 10:12
|
Adept
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343
|
Цитата(Doka @ Aug 10 2006, 16:47) видимо тут произошло столкновение разных школ аппаратного проектирования: да, соглашусь: для моделирования это полезно - иметь доступ к любому сигналу любого компонента. моделсим поддерживает эту синтаксическую конструкцию давно и с успехом. сам пользуюсь при отладке такой возможностью . но вот не понимаю.. зачем же такую анархию при RTL-кодировании творить?! можно же вообще тогда отказаться от описания интерфейса модуля - раз можно подключаться откуда-хошь к любым его сигналам.. опять же из любого места v-файла. А потом убивать свое рабочее время на поиск ошибок. строгость традиционного описания тут является преимуществом: объявили экземпляр компонента?! тогда будьте добры в этом же месте и его порты подключить.
или Вы считаете , отсутствие поддержки данной синтаксической конструкции средствами синтеза - это результат лени либо инертности мышления разработчиков? Да ничего я не считаю - Вы сами что-то додумали. Если уж интересно мое мнение, то я считаю лазить за пределы модуля, в обход интерфейса - плохой стиль и грязый хак. Поэтому признаю поведение синтезаторов в этом случае обоснованным. Но возвращаясь к исходной точке: упомянули про структуры в СВ, на что Вы сказали, что их можно заменить на модуль.сигнал при использовании В. Я не считаю, что это хоть сколько-нибудь адекватная замена ни в идеологическом смысле (Вы и сами достаточно внятно только что объяснили причины), ни в практическом - не поддерживают синтезаторы. Идеологию я не стал затрагивать - это всегда момент скользкий и флеймоопасный - идеологию все по своему понимают. Остановился только на практическом моменте - нельзя использовать нотацию модуль.сигнал при описании синтезируемых вещей. Итого, нету в Верилоге аналога структурам, и уровень инкапсуляции и абстракции в Верилоге - это уровень модуля. Что, мягко говоря, не слишком гибко и удобно. Только и всего. Надеюсь, точки над i расставлены.
Сообщение отредактировал dxp - Aug 10 2006, 10:14
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Aug 10 2006, 13:00
|
Участник
Группа: Свой
Сообщений: 59
Регистрация: 12-07-04
Из: Санкт-Петербург
Пользователь №: 313
|
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
------------------------------------------------------------------------------------ ну как??? КРАСОТА!!!
|
|
|
|
|
Aug 10 2006, 13:11
|
Adept
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343
|
Цитата(dimasen @ Aug 10 2006, 20:00) dxp, Doka посмотрел на ваш спор и решил просто проверить работает ли... РАБОТАЕТ! У нас дискуссия шла не про работоспособность структур в СВ, а про обращение к объектам по схеме модуль.сигнал. Цитата(dimasen @ Aug 10 2006, 20:00) покажу значимость СТРУКТУР в новом верилоге. Она (значимость) как бы и так понятна. Цитата(dimasen @ Aug 10 2006, 20:00) Смотрим, по сигналу SLOAD загружаем все поля пакета на отправку, если НЕ_SLOAD, то пакет [...] end else pk = pk >> 1;//сдвигаем ВЕСЬ пакет assign out = pk[0];//наружу выдаём только нулевой бит ВСЕГО пакета endmodule В каком синтезаторе пускали?
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Aug 10 2006, 13:47
|
Участник
Группа: Свой
Сообщений: 59
Регистрация: 12-07-04
Из: Санкт-Петербург
Пользователь №: 313
|
Цитата(dxp @ Aug 10 2006, 17:11) У нас дискуссия шла не про работоспособность структур в СВ, а про обращение к объектам по схеме модуль.сигнал.
В каком синтезаторе пускали? Doka, и начал этот разговор с "моих" структур. Ни в каком синтезаторе. Нет у меня нормального синтезатора кроме квартуса В МоделСиме тока проверял.
|
|
|
|
|
Aug 11 2006, 11:39
|
МедвеД Инженер I
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951
|
Цитата(Doka @ Aug 9 2006, 20:10) to dxp & dimasen постараюсь ответить на оба вопроса [attachment=6627:attachment] 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по поводу версий это как раз совсем не условно иначе зачем все эти комитеты и их стандарты существуют?
--------------------
Cogito ergo sum
|
|
|
|
|
Aug 11 2006, 11:55
|
Electrical Engineer
Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778
|
Цитата(Postoroniy_V @ Aug 11 2006, 15:39) Что у вас за перевод такой? Перевод стандарта верилог 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
Сообщение отредактировал Doka - Aug 13 2006, 19:52
--------------------
|
|
|
|
|
Aug 11 2006, 11:57
|
МедвеД Инженер I
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951
|
Цитата(Doka @ Aug 11 2006, 15:55) со ссылкой ознакомился. считаю что это всёже условность: называть стандарт, вышедший в 2002г - Верилог-2001: Цитата The group release a revising of this standard in 2002, known as IEEE 1364-2001. ок! ваша позиция ясна за ссылку спасибо
--------------------
Cogito ergo sum
|
|
|
|
|
Aug 22 2006, 12:06
|
Знающий
Группа: Свой
Сообщений: 646
Регистрация: 21-06-04
Пользователь №: 71
|
Вот встретилось, может кому-нибудь нужно ... Verification Methodology Manual for SystemVerilog by Janick Bergeron Eduard Cerny Alan Hunter Andrew Nightingale http://rapidshare.de/files/26050684/vmmsv.zip.html
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|