DukeXar 0 2 апреля, 2007 Опубликовано 2 апреля, 2007 · Жалоба Doka: а можно еще залить куда-нибудь упомянутый в самом начале "SystemVerilog For Design: A guide to using SystemVerilog for HW design and Modeling. Stuard Sutherland, Simon Davidmann // Kluwer Academic Publishers"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 1 2 апреля, 2007 Опубликовано 2 апреля, 2007 · Жалоба Doka: а можно еще залить куда-нибудь ... магам - можно ;-) ссылка (11.59 Mb) (File code: 4416TNTNHQN2BXH ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DukeXar 0 2 апреля, 2007 Опубликовано 2 апреля, 2007 · Жалоба Спасибо большое, качаемс =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 1 2 апреля, 2007 Опубликовано 2 апреля, 2007 · Жалоба нужно заметить что SVer for Ver немного разочаровала - совсем для бегинеров - стандарт читать намного круче, Янчик Бергерон - для среднего уровня и тоже выше стандарта в раскрытие темы использования СВ не прыгает, хотя и объясняет хорошо что к чему на генеральном уровне - но это можно было прочесть еще в просто WT 2nd edition а вот VerMetManual его же мне показалась очень интересной для размышления над тем как надобно жить мне показалась очень интересной для размышления решил-таки потихоньку осваивать SV для писания тестбенчей. в связи с этим вопрос: с чего бы начать? что сейчас доступно из букварей: 1) SVer for Ver 2) VerMetManual 3) стюард, упоминаемый в теме последним 4) Advanced Verification Methodology Cookbook - халявная книжка от ментора с примера лаб для Квесты стандарт оно конечно читать круче, но цель (по кр.мере у меня) - не ознакомиться с "инструментом", а научиться им пользоваться.. И понять на примерах - как эффективно использовать те или иные языковые особенности (преимущества SV перед V). (как пример-аналогия: XAPP199 "Writing Effective Testbenches" от Xilinx, где лаконично, на двух десятках страниц изложены практические приемы работы на vhdl & verilog) с учетом этого какую бы посоветовали для _начального_ прочтения? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 2 апреля, 2007 Опубликовано 2 апреля, 2007 · Жалоба решил-таки потихоньку осваивать SV для писания тестбенчей. в связи с этим вопрос: с чего бы начать? что сейчас доступно из букварей: 1) SVer for Ver 2) VerMetManual 3) стюард, упоминаемый в теме последним 4) Advanced Verification Methodology Cookbook - халявная книжка от ментора с примера лаб для Квесты стандарт оно конечно читать круче, но цель (по кр.мере у меня) - не ознакомиться с "инструментом", а научиться им пользоваться.. И понять на примерах - как эффективно использовать те или иные языковые особенности (преимущества SV перед V). (как пример-аналогия: XAPP199 "Writing Effective Testbenches" от Xilinx, где лаконично, на двух десятках страниц изложены практические приемы работы на vhdl & verilog) с учетом этого какую бы посоветовали для _начального_ прочтения? я начинал со стюарда (это если не брать в расчёт кучу всяких свободно доступных пэдээфок) несмотря на то что он вообще-то писал не для верификации - но там есть достаточно интересных намёков которые можно использовать и в тестбенчах (автоматические функции и передача параметров по ссылке, интерфейсы с модпортами и экспортирование функций через интерфейсы + всякие мелочи по типам, динамическим переменным и последняя глава о поведенческом и транзакционному моделированию) потом прочёл Ассершн- бэйзд дизайн (интересна с точки жрения метрики функционального покрытия и самих ассершенов) после этого досканально изучил последний стандарт (вы к стати зря его игнорируете - знаете ведь как верилоговские стандарты пишутся - это скорее книжки чем стандарты - оттуда взял динамижеские массивы и очереди с мэил-боксами, randsequences и constrained randomization) затем SVer for Ver и VerMetManual (но в первой не нашёл уже ничего нового, а вторая достаточно серёзная книжецa - для старта не подойдёт ) all in all я бы посоветовал всё-таки начать со Стюарда(убьёте сразу двух зайцев), а затем SVer for Ver - добьёте Верификацию с Моделированием (можете также подождать ~2 дня будет ещё и Яник - половина уже готова, но SVer_forVer наверное для начала всё-таки предпочтительнее, потому как Яник пишет всякие заумности в чрезмерном колличестве, что поначалу может отвлекать от применения самого SV). что касается 4-ого пункта от Ментора - то по-моему только зря потратите время - её можно читать как доп. литературу - там уже философия ТЛМ - для начала слишком - только голову мусором забьёте PS а ксайлинковского ксапа не читал - поэтому не занаю с чем сравнивать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DukeXar 0 2 апреля, 2007 Опубликовано 2 апреля, 2007 (изменено) · Жалоба Извиняюсь, запостил сначала сюда, а потом сделал топик http://electronix.ru/forum/index.php?showtopic=29609 Изменено 2 апреля, 2007 пользователем DukeXar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 3 апреля, 2007 Опубликовано 3 апреля, 2007 · Жалоба второй пункт из этого топика выполнен: http://electronix.ru/forum/index.php?showt...mp;#entry227805 (в ссылке найдёте где лежит) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Juggernaught 0 18 апреля, 2007 Опубликовано 18 апреля, 2007 · Жалоба http://electronix.ru/forum/index.php?showtopic=30309 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RHnd 0 27 апреля, 2007 Опубликовано 27 апреля, 2007 · Жалоба Взял я доку на КВАРТУС. Половина функций не поддерживается :angry2: Если не больше. А где можно посмотреть что именно поддерживает Квартус? Какая это именно из его док? Кстати, какое-то время с момента открытия темы уже прошло, может кто-нибудь нашел новую/более удачную литературу по Сверилогу? Желательно на русском. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 27 апреля, 2007 Опубликовано 27 апреля, 2007 · Жалоба А где можно посмотреть что именно поддерживает Квартус? Какая это именно из его док? Кстати, какое-то время с момента открытия темы уже прошло, может кто-нибудь нашел новую/более удачную литературу по Сверилогу? Желательно на русском. товарищ - с момента последнего сообщения в данном топике прошло всего 9 дней - учитесь пользоваться форумом - данный топик многостраничный - дочтайте до конца - а не постите вопросы после первого же сообщения! по сведениям разведки на данный момент Квартус поддерживает СВ достаточно сносно (за подробностями обращайтесь к Доке - он его вроде юзает) на русском литературы пока что нет. подождите месяцок или учите англицкий Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RHnd 0 27 апреля, 2007 Опубликовано 27 апреля, 2007 · Жалоба товарищ - с момента последнего сообщения в данном топике прошло всего 9 дней - учитесь пользоваться форумом - данный топик многостраничный - дочтайте до конца - а не постите вопросы после первого же сообщения! Упс. :(:(:( Очень-очень виноват. Оправдываться бессмысленно, но меня тянули за руку в "магазин за кофточкой". Еще раз упс. :) Дочитал все страницы, пдф-ки качаются. :) Начну, пожалуй, со Стюарта, а там посмотрим. Но это все потом, сейчас хотяб просто верилог освоить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Escorial 0 25 июня, 2007 Опубликовано 25 июня, 2007 (изменено) · Жалоба Writing Testbenches Using System Verilog: http://electronix.ru/forum/index.php?showt...ng+testbenches# Хороший tutorial по SystemVerilog: начало: http://www.doulos.com/knowhow/sysverilog/tutorial/datatypes/ assertions: http://www.doulos.com/knowhow/sysverilog/t...ial/assertions/ Изменено 25 июня, 2007 пользователем Escorial Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 26 ноября, 2007 Опубликовано 26 ноября, 2007 · Жалоба Привет всем! Внимание в книге Writing Testbenches using SystemVerilog от яника берегерона обнаружена серьезная баго. Сомневаться в таком авторе грешно, но все же факт : страница документа 250 пример Sample 5-66. Autonomous RS-232 response monitor class rs232; local bit [8:0] fifo[$]; ... function new(...); ... fork this.receive_thread(); // ВЫЗВАТЬ таск из функции нельзя (!!!) join_none endfunction: new local task receive_thread(); forever begin automatic bit [8:0] resp; this.receive(resp[7:0], resp[8]); this.fifo.push_back(resp); end endtask: receive_thread ... endclass: rs232 это противоречит стандарту верилог 2001 (систем верилог в этой части наследует верилог 2001) 10.1 Distinctions between tasks and functions .... A function cannot enable a task; a task can enable other tasks and functions..... и естественно не работает в симуляторах типа к....а сим 6.2ф Т.к. автор ссылается на синопсис то вполне возможно что для конструктора класса они сделали исключение. а вот в других симуляторах похоже труба, остается делать модели с автоматическим стартом через Ж. (а нужно то всего лишь завернуть модель описанную в интерфейсе через always в класс с виртуальным интерфейсом + forever). Читающие эту книгу будте внимательные!!!! Привет всем! Внимание в книге Writing Testbenches using SystemVerilog от яника берегерона обнаружена серьезная баго. Сомневаться в таком авторе грешно, но все же факт : страница документа 250 пример Sample 5-66. Autonomous RS-232 response monitor class rs232; local bit [8:0] fifo[$]; ... function new(...); ... fork this.receive_thread(); // ВЫЗВАТЬ таск из функции нельзя (!!!) join_none endfunction: new local task receive_thread(); forever begin automatic bit [8:0] resp; this.receive(resp[7:0], resp[8]); this.fifo.push_back(resp); end endtask: receive_thread ... endclass: rs232 это противоречит стандарту верилог 2001 (систем верилог в этой части наследует верилог 2001) 10.1 Distinctions between tasks and functions .... A function cannot enable a task; a task can enable other tasks and functions..... и естественно не работает в симуляторах типа к....а сим 6.2ф Т.к. автор ссылается на синопсис то вполне возможно что для конструктора класса они сделали исключение. а вот в других симуляторах похоже труба, остается делать модели с автоматическим стартом через Ж. (а нужно то мне было всего лишь завернуть модель описанную в интерфейсе через always в класс с виртуальным интерфейсом + forever). Читающие эту книгу будте внимательные!!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 26 ноября, 2007 Опубликовано 26 ноября, 2007 · Жалоба ...от яника берегерона обнаружена серьезная баго. Сомневаться в таком авторе грешно, но все же факт : и естественно не работает в симуляторах типа к....а сим 6.2ф Т.к. автор ссылается на синопсис то вполне возможно что для конструктора класса они сделали исключение. да ничего не грешно. просто класс спроектирован откровенно неграмотно. а если подобный конструктор проглатывается и синопсисом, то это не фича, а серьёзная брешь в обороне. суть ограничения на вызов таска из функции в следующем: таски и функции в модели верилога различаются принципиально тем, что исполнение таска может быть размазано по модельному времени, а исполнение функции нет (её исполнение происходит атомарно за модельное время 0) то есть поток управления в таске может использовать событийные операторы (типа wait, @) внутри себя, а функция нет. больше они ничем не различаются(кому не хватает одного возвращаемого параметра по имени функции, может использовать void function и указывать направление параметра(input, output, inout)) хотя и единственного различия более чем достаточно, чтобы определить совершенно разную область использования данных типов подпрограмм. таким образом чтобы сохранить целостность модели вызовы тасков из функций запрещены (понятно почему). теперь перейдём к тому почему этого делать нельзя никогда даже в конструкторе класса (к стати и особенно в конструкторе): вообразите зачем кому-нибудь может потребоваться объект, который будет создаваться на протяжении некоторого модельного времени (для красноречия: на протяжении нескольких тактов? я пока не придумал такой пример). и более того к каким последствиям может привести создание объекта модели размазанное по модельному времени (ведь таск может быть и блокирующим)? так что передавайте привет янику, он вроде книжки бесплатно раздаёт тем кто баги обнаруживает. а это действительно баг, а не фича ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 27 ноября, 2007 Опубликовано 27 ноября, 2007 · Жалоба суть ограничения на вызов таска из функции в следующем: .... различие между таском и функций понятно, но не могу не подкорректировать :) вот эти ваши слова теперь перейдём к тому почему этого делать нельзя никогда даже в конструкторе класса (к стати и особенно в конструкторе): вообразите зачем кому-нибудь может потребоваться объект, который будет создаваться на протяжении некоторого модельного времени (для красноречия: на протяжении нескольких тактов? я пока не придумал такой пример). и более того к каким последствиям может привести создание объекта модели размазанное по модельному времени (ведь таск может быть и блокирующим)? в этом конкретном примере таск запускается как отдельный программный поток (тред) с помошью великолепно реализованной идеологии fork/join_none. Поэтому конструктор в примере будет исполняться атомарно относительно модельного времени. Пример задачи ну например вот такой. Почитав яника я решил попробывать переделать одну из работающих для тестирования моделей через классы (что бы было как у правильных пацанов :) ). Модель приемник и передатчик синхронного потока данных. Функционально модель выглядит как интерфейс с clocking секциями. Функциональность реализована через 2 always, в которых постоянно исполняется последовательный код. Модель стартует независимо в момент начала симуляции. Целью было заворачивание функциональности в класс с передачей управления портами через абстрактные интерфейсы с clocking секциями. Функциональность планировалось реализовать через 2 программных потока реализованных через fork/join_none + task с forever. Но вот реализация независимого старта в момент начала симуляции, похоже невозможна. Требуется явная, внешняя относительно класса, инициализация программных потоков. так что передавайте привет янику, он вроде книжки бесплатно раздаёт тем кто баги обнаруживает. а это действительно баг, а не фича ;) Жду его ответа на письмо, а вдруг действительно книгу пришлет :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться