[an error occurred while processing this directive]
|
Действительно, Verilog проще чем VHDL, но из рук вон плохо документирован.
В свое время пытался разобраться и с тем, и с другим, и выбрал то, что было понятнее.
В Verilog'е я напрочь не понял, как работает модел задержки. В VHDL каждая последующая транзакция отменяет предыдущую. Например, создается модель буфера с Z-состоянием, причем задержка распространения данных, скажем, 10 ns, а задержка переключения управления, скажем, 5 ns.
В момент времени 'x' изменяется состояние входа (которое через 10 нан должно появиться на выходе) - первая транзакция.
Через 2 ns после 'x' изменяется состояние управляющего входа (которое через 5 нан должно перевести выход в Z- состояние) - вторая транзакция.
Результат (в VHDL) - через 7 нан с момента 'x' выход буфера перейдет в Z-состояние, изменение входа на выход не пройдет.
В Verilog'е у меня получалось по-другому : через 10 нан измененные данные появляются на выходе, и еще через 7 нан выход переключается в высокоимпедансное состояние. Побороть такое поведение мне никак не удалось.
Возможно, я чего-то не знаю, или не понимаю - но посмотреть негде и спросить не у кого. Это одна из причин, по которой выбрал VHDL - по крайней мере есть у кого спросить.
E-mail: info@telesys.ru