April 25th, 2013

Yuri Panchul 1994

О самом крутом блоггере электронной индустрии Джоне Кули и его троллическом посте, подкосившем VHDL

На днях Сергей Вакуленко сделал пост в котором он выражал удовлетворение, что проштудировал полностью толстую книжку по VHDL.

Чувства Сергея мне знакомы - я помню, что когда я изучил VHDL в 1999 году, у меня было ощущение, что я постиг что-то важное, солидное. Вот только когда я соскочил с VHDL обратно на Verilog, у меня было немедленное ощущение, что все это "важное, солидное" никому и нафиг не нужно, и что VHDL изобретает проблемы на пустом месте.

Действительно, если нам нужно сложить 3-битные числа b и c и получить 4-х битное число a, то в Verilog достаточно написать "a = b + c", вот в VHDL нужно писать "a <= std_logic_vector (resize (unsigned (b), 4) + resize (unsigned (c), 4))".

Фанат VHDL в этом месте закричит "Но зато! Жесткое типизирование!" Увы, он конечно жесткое, но недоделанное и неочевидное, поэтому чтобы написать "a = 12" люди долго думают нужно ли писать "a <= 12" или "a <= "1100"" или еще какую-нибудь херню типа "a <= std_logic_vector (to_unsigned (12, 4)).

К чему это я все. Сергей написал не совсем исторически верное утверждение "До недавнего времени эти два языка считались более-менее равными, как Си и Паскаль в 80-е годы. С появлением SystemVerilog и технологии верификации UVM равновесие нарушилось, и похоже окончательно".

Действительно, SystemVerilog сыграл особую роль как могильщик VHDL, потому что он перенес в Verilog все полезное из VHDL, C++, Java, Vera, Specman и других языков, и тем самым вырвал из рук пропонентов VHDL из аргументы про generic, packages, records и т.д. и т.п. (строго говоря generic возник еще в Verilog-2001, но реально стал использоваться с приходом SystemVerilog). Интересно, что SystemVerilog развился в 2002 году из Superlog прямо на моих глазах, посколько я лично встречал создателей Superlog в комитете Accelera и работал в Synopsys в 2001-2003 годах, когда это все происходило.

Почему же Сергей неправ? Дело в том, что закат VHDL произошел еще до появления SystemVerilog и уж заведомо до историй с RVM/VMM/OVM/UVM. Поворотной точкой в изменении мнения дизайнеров о VHDL сыграл один конкретный пост одного блоггера - Джона Кули, который он написал в 1997 году (кстати, а было ли в то время слово "блоггер"?)

Пост Кули - это не сухой отчет. Джон Кули - это Радулова электронной индустрии, он знает, как провоцировать публику троллическими интонациями и изложением эксперимента в формате драматической истории. Обратите внимание на "What The Contestants Thought":

http://www.ee.ed.ac.uk/~gerard/Teach/Verilog/manual/Example/lrgeEx2/cooley.html
http://www.bawankule.com/verilogcenter/contest.html

Collapse )

Блог Джона Кули - http://deepchip.com . Конечно он выглядит не как блог, но он существует с 1991 года и у него подписчиков примерно столько же (25,000), сколько у radulova в ЖЖ.

С какими мнениями вы согласны?

Verilog лучше чем VHDL
6(20.0%)
VHDL лучше чем Verilog
1(3.3%)
VHDL лучше чем Verilog-1995, но хуже, чем Verilog-2001
1(3.3%)
VHDL лучше чем Verilog-2001, но хуже, чем SystemVerilog
0(0.0%)
VHDL лучше для RTL, но хуже для Verification
2(6.7%)
Для RTL один хрен, для Verification лучше SystemVerilog
2(6.7%)
VHDL + Specman e - лучше чем SystemVerilog
0(0.0%)
Вот подождите, Пентагон закажет System VHDL с верификацией, и он всех разнесет!
4(13.3%)
Я готов многое простить VHDL, что в нем меньше возможностей для race conditions
2(6.7%)
Почему Панчул уже встретил в реале Джона Кули, но еще не подстерег у редакции Радулову?
9(30.0%)
Из-за бугра плюете?
3(10.0%)

Как вы думаете, микросхемы внутри креативного айфона были разработаны с помощью Verilog или VHDL?

Verilog
7(28.0%)
VHDL
1(4.0%)
Частично Verilog, частично VHDL
3(12.0%)
Хм, я почему-то думал, что эти микросхемы напаяли китайцы на фабрике
4(16.0%)
Хм, я почему-то думал, что дизайн микросхем рисуют мышкой на экране
2(8.0%)
Это какой-то гиковский вопрос, Айфон - это прежде всего креативность Стива Джобса!
6(24.0%)
Из-за бугра плюете?
2(8.0%)

К чему ближе российская ментальность?

К VHDL, потому что он детище ВПК
6(26.1%)
К VHDL, потому что в нем много бессмысленных строгостей
6(26.1%)
К Verilog, потому что он долго сопротивлялся стандартизации
4(17.4%)
К SystemVerilog, потому что в него много налепили из разных языков
2(8.7%)
Из-за бугра плюете?
5(21.7%)



UPD: Я неожиданно подумал что VHDL может вызвать у некоторых товарищей навязчивую ассоциацию с HTML, как в анекдоте про брайтонскую бабушку:


[Анекдот про брайтонскую бабушку]
-Ну как там твой грейпфрут? - Бабушка, не грейпфрут, а бойфренд!



Так вот для гуманитарных журналистов: HTML - это язык описания веб-страниц, а VHDL - это язык описания железа - проводов и регистров. HTML заканчивает эфемерными картинками на экране, а VHDL - силиконовыми чипами на Тайване (кто затянет базар про "силикон-кремний" - обижу и заморожу ветку ответов).