[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
продвинутые языки типа VHDL,Verilog,всяческих С/С++ расширений имеют два назначения 1-Моделирование 2-описание
просто влом писать ОТДЕЛЬНО для моделирования и для синтеза - поэтому популярны средства синтеза
но они (синтез) берут не любую конструкцию языка - а так называемое RTL описание (регистры и логика между ними)
обычно к средству идет описание (мануал) разрешенных конструкций (более менее стандартное)
пример нормальной Verilog конструкции (но не RTL и несинтезируемой)
always@(posedge C1 or posedge C2)
a=b;
так как не бывает триггера с двумя тактовыми входами
средство синтеза работает в два этапа: 1 - превратить описание в список цепей абстрактной библиотеки (у каждого производителя своя - но набор элементов похож), 2 - "смэпировать" на библиотеку которая соответствует железу
при этом "умность" синтеза определяется шагом 2
то есть зависимость от железа есть, но если на языке высокого уровня правильно описать RTL модель, то как правило можно получить удовлетворительное железо
в то же время применив activ hdl (сам не знаю что это), можно получить для xilinx-a отличную прошивку, но при переходе на другое железо это описание можно будет засунуть в ж%:у
то есть как С и ассемблер из соседней конфы :)
желаю успехов и надеюсь что чего-нибудь полезное написал :)
E-mail: info@telesys.ru