andrew_b 14 14 мая, 2016 Опубликовано 14 мая, 2016 · Жалоба чтение выходного порта - тоже ошибкаЭто, кстати, не ошибка. Вот в VHDL это ошибка, но начиная с VHDL-2008 тоже можно читать порт типа out. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Inanity 1 14 мая, 2016 Опубликовано 14 мая, 2016 · Жалоба Это, кстати, не ошибка. Вот в VHDL это ошибка, но начиная с VHDL-2008 тоже можно читать порт типа out. Тут я с вами, наверное, соглашусь. Но если output порт не имеет драйвера, то разрешать чтение нельзя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 14 мая, 2016 Опубликовано 14 мая, 2016 · Жалоба Тут я с вами, наверное, соглашусь. Но если output порт не имеет драйвера, то разрешать чтение нельзя. Почему же нельзя, достаточно давать предупреждение о попытке использования сигнала, не имеющего драйвера. Проблема предупреждений в том, что синтезатор часто генерирует много ложных предупреждений, за которыми не видно полезных. Особенно этим страдает Симплифай, в некоторых случаях я получал тысячи левых предупреждений. Причём Симплифай иногда делает предупреждения сам себе:): например, дублирует регистр, а потом решает, что дублировать не надо было, убирает дублированный и даёт ворнинг. В Квартусе можно написать чистый код, однако предупреждения бывают изнутри стандартных корок, причём по причине недоработки этих самых корок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yuravg 0 16 мая, 2016 Опубликовано 16 мая, 2016 · Жалоба Verilator... Lint надо аккуратно настроить под ваши внутренние стандарты Не укажите ссылку где можно посмотреть примеры его настойки? P.S. Подключил его к emacs, не задавая никаких дополнительных настроек, для rtl получилось удобно. А вот из командной строки ругается (хотя в редакторе нет) на: module some_name #( parameter AW) требует явно указать значение. хотелось бы детально его настроить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 8 16 мая, 2016 Опубликовано 16 мая, 2016 · Жалоба У меня тут небольшое сомнение возникло по поводу второго выстрела в ногу ("запись в output port"). К какому из вариантов относится описанное? Вариант 1: module test_module ( ... output reg tst_out, ... ); ... assign tst_out = (x & y) | (~z); ... assign tst_rcv = tst_out ^ foo; ... endmodule Вариант 2: module test_module ( ... output wire tst_out, ... ); ... assign tst_out = (x & y) | (~z); ... assign tst_rcv = tst_out ^ foo; ... endmodule Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ConstHw 0 17 мая, 2016 Опубликовано 17 мая, 2016 · Жалоба Raven в первом случае ошибка присвоения assign в reg. И в обоих проблема (проблема ли?) чтения выходного регистра. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться