alexadmin 0 7 ноября, 2016 Опубликовано 7 ноября, 2016 · Жалоба Коллеги, я тут давеча посмотрел вебинар на тему Common mistakes in SystemVerilog и был удивлен настолько, что сразу побежал проверять в симулятор, вдруг я чего не понял. А как проверил - сразу сюда. Так вот, удивление вызвал факт, что выходы задач обновляются в момент завершения всей задачи. В VHDL я частенько использую процедуры чтобы из них генерировать длительные транзакции на шинах. Дальше подключал процедуру к нужным портам. А тут мне поведали что так нельзя, а нужно (если хочется из задачи) рулить сигналами верхнего уровня, т.е. глобально в обход портов задачи. Собственно вопрос - а как в реальной жизни-то делается, если, скажем, хочется организовать подпрограмму, которая бы могла работать с разными наборами сигналов (3 шины, скажем)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Des333 0 7 ноября, 2016 Опубликовано 7 ноября, 2016 · Жалоба Используйте ref вместо output. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 7 ноября, 2016 Опубликовано 7 ноября, 2016 · Жалоба Используйте ref вместо output. О! Я знал что не может быть все так грустно. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
backend 0 7 ноября, 2016 Опубликовано 7 ноября, 2016 · Жалоба а нужно (если хочется из задачи) рулить сигналами верхнего уровня, т.е. глобально в обход портов задачи. Подтверждаю. Сам много и с удовольствием пользуюсь задачами/процедурами на Verilog/VHDL именно таким способом, в обход портов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться