another_one 0 17 июля, 2020 Опубликовано 17 июля, 2020 · Жалоба Здравствуйте ! Подскажите пожалуйста литературу по system verilog. Пишу на verilog, знаю основы ООП , но не могу увязать принципы system verilog, смотря на чужой код. Например не понятно как запускать задачи где описывать их приоритет?. Мне по сути необходимо немного подкорректировать чужой код. Поэтому прошу подсказать подходящую литературу. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 17 июля, 2020 Опубликовано 17 июля, 2020 · Жалоба Приветствую! Вам это для симуляции нужно или для синтеза? И что вы имеете ввиду под "запускать задачи"? Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexx 0 18 июля, 2020 Опубликовано 18 июля, 2020 · Жалоба 7 hours ago, another_one said: не понятно как запускать задачи где описывать их приоритет? Присоединюсь, что значит описывать приоритет? Код на HDL исполняется параллельно. Код "исполняется" событийно, т.е. после выражения always или же assign (присвоение). То что находится внутри блока имеет очерёдность, то фактически это комбинация if-else которая имеет единственное значение в данный момент времени. Все блоки работают одновременно, независимо от их расположения в коде. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 18 июля, 2020 Опубликовано 18 июля, 2020 · Жалоба 9 hours ago, another_one said: Мне по сути необходимо немного подкорректировать чужой код. Если код чисто для синтеза, то запаса знаний о чистом Verilog'е вполне достаточно, чтобы корректировать и править чужое описание аппаратуры. Максимум загуглить непонятные конструкции. Если же симуляция, то нужно понимать это базовая симуляция или специфическое UVM, OVM, UMM и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 1 18 июля, 2020 Опубликовано 18 июля, 2020 · Жалоба 13 hours ago, another_one said: Здравствуйте ! Подскажите пожалуйста литературу по system verilog. Пишу на verilog, знаю основы ООП , но не могу увязать принципы system verilog, смотря на чужой код. Например не понятно как запускать задачи где описывать их приоритет?. Мне по сути необходимо немного подкорректировать чужой код. Поэтому прошу подсказать подходящую литературу. Спасибо! Попробую в вангу и порекомендую очень хорошую книжку по SV в области верификации: SystemVerilog for Verification: A Guide to Learning the Testbench Language Features, Chris Spear Все основные несинтезируемы конструкции описаны приятно, просто, с объяснениями. Плюс масса примеров: как надо делать и как не надо делать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
another_one 0 19 июля, 2020 Опубликовано 19 июля, 2020 · Жалоба On 7/17/2020 at 10:07 PM, RobFPGA said: Приветствую! Вам это для симуляции нужно или для синтеза? И что вы имеете ввиду под "запускать задачи"? Удачи! Rob. прошу прощения, забыл упомянуть, - для верификации On 7/17/2020 at 10:07 PM, RobFPGA said: Приветствую! Вам это для симуляции нужно или для синтеза? И что вы имеете ввиду под "запускать задачи"? Удачи! Rob. под под "запускать задачи" - fork join task Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 19 июля, 2020 Опубликовано 19 июля, 2020 · Жалоба Приветствую! 1 hour ago, another_one said: под под "запускать задачи" - fork join task Ну вот сами и ответили наполовину вопроса "как запускать задачи". Про вторую половину выше уже говорили - приоритетов выполнения задач нет. Задачи в evend-drive симуляции выполняются с "равным" приоритетом, виртуально параллельно. Вы можете лишь управлять последовательностью запуска/останова, а также приостанавливать выполнения при ожидании определенный событий. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexx 0 20 июля, 2020 Опубликовано 20 июля, 2020 · Жалоба Грубо говоря, вы можете в любом месте вставить свою функцию, и она начнёт работу с нулевого времени. Событием для выполнения может быть как время, так и любое изменение сигнала. В коде нет main, указан только верхний уровень иерархии, а все остальное исполняется в параллели, все вместе, одновременно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться