[an error occurred while processing this directive]
Verilog vs VHDL
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено Doka 26 ноября 2004 г. 14:08

занимаюсь расширением собственной сферы познания красоты мироздания..
то бишь в дополнении/замещении к VHDL осваиваю Верилог.
Язык нравится.. многое схоже с ВХДЛ, но нравится то что нет этих дурацких пакетов, которые при использовании различных синтезаторов надо подключать разные, а порой на ВХДЛ приходится менять операторы, переписывать лишь для того чтобы подсунуть другому синтезатору и посмотреть результат синтеза..
в верилоге же все в стандарте... и никаких пакетов. .человеческий оператир сдвина << и >> , не приходится смотреть в пакете конкретного синтезатора как реализовать тот или иной оператор.
.
привык писать на ВХДЛ высокопараметризованные модули.
но пока непонятно как на Верилоге описать эквивалент ВХДЛьного
(others=>'0'):
generic (w_hilb_trans: positive := 12);
signal pc00: SIGNED(w_hilb_trans downto 0);
pc00 <= (others=>'0');

потому как в верилоге жестко указывается разрядность присваемого числа... , конечно понятно что можно не заморачитвать и присвоить число в десятичной системе, т.е.
pc00 = 0; (верилог)
но как быть когда требуется работа с тристабильными сигналами, т.е. не совсем очевидно как/чем заменить
pc00 <= (others=>'Z'); (vhdl)
потом.. не могу разобраться с передачей параметров в экземпляр компонента :(
в руководстве от актель указан такой вариант:
my_first u_my_first_1 #(8,16) (clk,rst,ce,din,cin,dout,valid);(верилог)
но у меня синтезатор ругаецца..:(
и еще вопрос: в чем разница 'define и parameter - только ли в том, что 'define действует глобально, а parameter в пределах модуля? в каких случаях лучше использовать какой из них ??
.
и еще до кучи:
для того чтобы получать эквивалент сигнального присвоения на ВХДЛ ВНЕ_процесса (непрерывного):
pc00 <= pe00; --(хотя по сути это краткая запись на вхдл процесса, имеющего в списке чувствительности сигнал pe00)
на верилоге всегда надо использовать ключ. слово assign (когда это делается ВНЕ_тела_процесса):
assign pc00 = pe00;

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru