Jump to content

    

С чего лучше начать VHDL или Verilog?

Прочитал тут на форуме, что VHDL - могучий старичек, а Verilog - перспективный но слабже.

Так с чего лучше начинать изучение HDL.

Или придестся таки учить оба?

На AHDL как я понял время лучше не тратить. <_<

Share this post


Link to post
Share on other sites

Если упрощенно, то Pascal -> VHDL, а C++ -> Verilog. А в остальном - это одни и те же яйца, но вид с разных сторон.

Share this post


Link to post
Share on other sites

Встречный вопрос - а для чего ?

Меня этот вопрос также занимал - какой язык лучше ?

Пришел к выводу, что на RTL уровне они совершенно одинаковы.

Опытные люди сообщили, что VHDL больше любят ученые и Европа, а Verilog - схемотехники ASIC и Штаты.

А учить лучше сначала VHDL, затем Verilog. Именно в такой последовательности. VHDL тяжелее в изучении, но зато потом перейти на Verilog значительно проще. Тем более, VHDL приучает сначала описывать типы данных, константы, что затем значительно упрощает использование Verilog.

Все вышесказанное - это личное мнение.

Share this post


Link to post
Share on other sites

И VHDL и Verilog являются СТАНДАРТИЗИРОВАННЫМИ языками описания схем, т.е. существует возможность портабельности кода между различными приложениями/платформами, в противоположность AHDL и графическому вводу.

Кроме того, вследствие широкой распространенности по ним имеется бОльшее количество литературы/примеров, что очень важно для начинающего.

В стандартах по VHDL есть расширения прикладного характера: AMS для аналоговых/смешанных схем, Mathematical для оперирования вещественными/комплексными числами; хотя вопрос о существовании библиотек синтеза под эти расширения остается открытым.

Share this post


Link to post
Share on other sites
Если упрощенно, то Pascal -> VHDL, а C++ -> Verilog. А в остальном - это одни и те же яйца, но вид с разных сторон.

- Позволю себе не согласиться.

// Verilog:
always @ (posedge clk or negedge res) begin
  if(!res) begin
     q <= 0;
     end
  else
  begin
     if ((e == 0))
        q = q;
     else if ((e == 1))
        q = d;
     else
        q = q;
  end
end

-- VHDL:
truth_process: PROCESS(clk, res)
  BEGIN
     IF (res = '0') THEN
        q <= 0;
     ELSIF (clk'EVENT AND clk = '1') THEN
        IF (e = 0) THEN
           q <= q;
        ELSIF (e = 1) THEN
           q <= d;
        ELSE
           q <= q;
        END IF;
     END IF;
  END PROCESS truth_process;

Как раз, Verilog ближе к Паскалю (См. пример), а VHDL - почти чистый синтаксис Modula. Что касается C++, в языках проектирования логики ничего близкого не встречал.

Share this post


Link to post
Share on other sites

А поддерживают ли их компиляторы от Синопсис, Синплисити или, может быть, ЛеонардоСпектрум ?

И какие компиляторы их вообще поддерживают? Как их передать, скажем, в МАХ плюс, или в Либеро?

Share this post


Link to post
Share on other sites

HandelC - это Cel*ox*ica DK1 или 2. Существуют халявно. Поддерживаются Acti*veH*DL 6.x. Лично примерчик пробовал переложить для Virtex2.

SystemC - я знаю только Vis*ualE*lite и For*te DS, наверняка еще кто-то с ним работает. Народ подскажет. Халявных не встречал. Vis*ualE*lite можно скачать только демо 118Мег + демо библиотеки. For*te DS дает только ознакомительную документацию.

На выходе дают VHDL - далее стандарно.

Share this post


Link to post
Share on other sites

AHDL более эффективен для PLD с малой емкостью:

семейства 7000, 3000.

Share this post


Link to post
Share on other sites
HandelC  - это Cel*ox*ica DK1 или 2. Существуют халявно. Поддерживаются Acti*veH*DL 6.x. Лично примерчик пробовал переложить для Virtex2.

SystemC - я знаю только Vis*ualE*lite и For*te DS, наверняка еще кто-то с ним работает. Народ подскажет. Халявных не встречал. Vis*ualE*lite можно скачать только демо 118Мег + демо библиотеки. For*te DS дает только ознакомительную документацию. 

На выходе дают VHDL - далее стандарно.

Спасибо за информацию.

 

Из перечисленных только Cel*ox*ica содержит компилятор.

 

Vis*ualE*lite - инструмент моделирования на системном уровне, такой же, скажем, как Мат Лаб или Syst*emVi*ew. Продавала его Inn*ove*da. Кому отошел этот продукт после того, как инноведы не стало, неизвестно.

 

For*te DS, судя по описанию, - красиво рекламируемый транслятор С/Verilog.

 

По моему, лучше всё-таки хорошо освоить Verilog или VHDL: и поддержаны они больше, да и коллегам библиотеки понятнее будут, в случае совместных работ над одним проектом.

Share this post


Link to post
Share on other sites

По моим сведениям в Vis*ualE*lite есть прямой транслятор из SystemC 2.0 в VHDL. Вообще Vis*ualE*lite - это серьезная система ввода и верификации систем на кристалле, а у товарища почти такой случай. Два лимона вентилей - это не CPLD залить.

 

Да, пока под рукой. Вот книжечку рекомендую: А.К.Поляков "Языки VHDL и Verilog в проектировании цифровой аппаратуры", Москва, СОЛОН-Пресс, 2003. Практик излагает свой взгляд с параллельными примерами на обоих языках. Учи - не хочу!

 

И еще к сведению:http://www.chipinfo.ru/literature/chipnews/200304/1.html. Статейка: Методы проектирования систем на кристалле.

Share this post


Link to post
Share on other sites

Да, еще хочу сказать Олегу. Важно, чтобы Вы поняли, что в конечном итоге все равно получается схема электрическая. Только рисуещь ее не ты, а синтезатор. А синтезатору ты говоришь как рисовать. Как объяснишь - так и нарисует. Мой первый опыт с VHDL: 16-ти разрядный счетчик разметало на четверть миллионного кристалла.

Share this post


Link to post
Share on other sites

Спасибо всем огромное за советы!

Но честно говоря так и не определился.

Но все-таки чувствую придется монетку бросать.

 

Verilog - решка, VHDL - орел. :lol:

Share this post


Link to post
Share on other sites

Учить надо оба языка: и Verilog HDL, и VHDL, и, желательно, также AHDL.

Тут даже думать нечего. Иначе начинают проявляться глупые трудности (типа "Вот бы мне этот модуль, но на *HDL, а на *HDL он мне не нужен") и поиски трансляторов, от которых больше вреда, чем пользы.

В качестве учебного пособия посоветовал бы еще несколько книг:

1. Проектирование систем на микросхемах программируемой логики.-СПб.: БХВ-Петербург, 2002. (Грушвицкий Р.И. и соавторы).

2. VHDL для проектирования вычислительных узлов. - K.: ЧП "Корнейчук", ООО "ТИД "ДС", 2003. (Сергиенко А.М.)

Share this post


Link to post
Share on other sites

Вот что не надо учить это AHDL. По моему это тотже графический редактор только буквами. Работать надо на VHDL, это удобнее, а Verilog необходимо знать но только на детском уровне.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this