Pull to refresh
102.92

CPU

Learning the brains of computing devices

Show first
Rating limit

Here is my take on Verilog-vs-VHDL

In the early 1990s many people thought that Verilog was a temporary language and was going away with VHDL standard adoption.

For example, Verilog was plagued by race conditions in the form:

always @ (posedge clock) a = b;
always @ (posedge clock) c = a;

You had to use non-blocking assignments or delays in simulation to counteract the fact that the order of always block evaluation is indeterminate. This led to a pre-synthesis-post-synthesis simulation mismatch. At the same time, many people complained that VHDL has different incompatible arithmetic packages (numeric_std and std_logic_arith) and writing something like

wire [3:0] a, b;
wire [4:0] c = a + b;

becomes something like

signal a, b : std_logic_vector (3 downto 0);
signal c : std_logic_vector (4 downto 0);
c <= std_logic_vector (resize (unsigned (a), 5) + resize (unsigned (b), 5))

Finally John Cooley, the first blogger of EDA industry (he started his blog http://deepchip.com even before the word "blogger" appeared in the press) decided to make a hackathon in 1997 (at that moment the word "hackathon" was also unknown) to find out who is more productive - Verilog or VHDL engineers.

John Cooley published the results in an article

"The Unexpected Results From A Hardware Design Contest:  Verilog Won & VHDL Lost? -- You Be The Judge!"

https://www.angelfire.com/in/rajesh52/contest.html

He found that the Verilog engineers were more productive in his challenge.

After that more and more companies started to switch to Verilog, especially when Verilog-2001 and SystemVerilog integrated all the features of VHDL (packages, generate, records/structs etc).

In the early 2000s Synopsys developers thought that VHDL was going to die soon. However they continued to maintain VHDL support for die-hard VHDL users like Texas Instruments, IBM and the military. But even the Pentagon eventually back in 2008 allowed contractors to mix VHDL RTL designs with SystemVerilog testbenches (before they used a mix of VHDL and Specman e language).

However, VHDL at some moment stopped declining and stabilized. For example PowerVR GPU used in Apple iPhone 1-4 was written in VHDL by the British company Imagination. VHDL is still used but EDA companies give SystemVerilog priority when implementing language support in their tools.

Tags:
+1
Comments2

На ютюбе вышло видео Сергея Сафонова Как Intel создал ARM, ARM похоронил MIPS, на очереди X86? Видео хорошее, в нем нет крупных косяков, но есть крупная дыра (или я просто смотрел невнимательно и пропустил?), отсутствующая информация о ключевом событии. В нем упадок RISC-процессоров в районе 2000 года рассматривается как некая загадочная энигма, а между тем все не просто, а очень просто. Вся индустрия в конце 1990-х ждала выхода процессора Intel Itanium, которому предсказывали взрывной рост и распостранение. Всем остальным процессорам предписывалось в организованном порядке идти на кладбище истории.

Из-за прогнозируемого триумфа Итаниума, HP отказались от своего RISC-процессора HP-PA, который в лучшие годы занимал 40% рынка рабочих станций для автоматизации проектирования электроники. DEC забила на свой RISC-процессор Alpha, на который еще в середине 1990-х спортировали Windows NT. Silicon Graphics перестали использовать MIPS для графики для Голливуда и отделили от себя MIPS Technologies которые стали специализироваться на лицензировании процессорных ядер для встроенных устройств. IBM и даже Sun собирались перейти на Itanium.

Однако когда Itanium вышел, его продажи были в десятки раз ниже чем прогнозировалось. Процессор строился на архитектуре VLIW, как современный российский Эльбрус, и имел те же проблемы. В частности, на такой архитектуре, с несколькими параллельными инструкциями в одном командном слове, трудно добиться хороших бенчмарк на программах общего назначения. Эти параллельные инструкции соединяет в одно слово компилятор, и ему трудно предсказать задержки при работе с памятью, которые при промахе кэша могут быть десятки и даже пару сотен тактов (при многоуровневом кэше, особенно с многоядерностью). Обычный суперскалярный процессор в таком случае просто запускает следующие независимые от доступа к памяти инструкции (см. алгоритм Томасуло), а вот VLIW процессору приходится простаивать.

VLIW процессоры хороши чтобы просчитывать какую-нибудь физику, с одновременной обработкой массивов данных, но запускать на нем браузеры или Микрософт Офис - это наблюдать посредственную производительность. Но в 1997 году, после анонса Itanium-а и до его выхода в 2001 - компании об этом не то что не знали, но думали что каток хайпа от Интела повторит каток хайпа от Микрософта по поводу Windows, и Итаниум будет везде.

Об этом есть известная статья Джона Дворака "Как Итаниум убил компьютерную индустрию".

Другое замечание: Сергея Сафонова в видео смешивает архитектуру (систему команд, видимую программисту сторону процессора) и микроархитектуру (аппаратную организацию, устройство конвейера и блоков процессорного ядра). RISC-архитектура способствует эффективной конвейерной микроархитектуре, но это не одно и то же. См. мою заметку "Что означает информация в заметке Коммерсанта «Британия морозит «Байкал»"

И где можно было бы дополнить:

  1. Мода на RISC возникла не просто так, а в результате анализа использования инструкций в пользовательских программах. Такое масштабное исследование провела группа профессора Джона Хеннесси в Стенфорде в 1978-1980 году.

  2. История RISC-процессоров в 1980-е тесно переплетается с историей кэшей. Они стали популярны именно в 1980-е потому что скорость арифметических операций росла в те годы гораздо быстрее, чем скорость доступа к основной памяти, DRAM.

    Если раньше, в 1960-е годы, арифметическая операция занимала больше, чем чтение или запись из памяти, то сейчас за одну транзакцию к памяти при промахе кэша можно выполнить десятки сложений. Поэтому стало рости и количество регистров (в x86 их изначально было меньше, а 6502 в ранних Apple - вообще аккумуляторные процессоры) и стал требоваться кэш, а иначе конвейер бы простаивал.

  3. На то, что индустрия отвернулась от MIPS и повернулась к ARM, повлияла и история о том, как MIPS стал судить стартап Lexra. Lexra типа нарушала патент на инструкции с невыравненным доступом к памяти. Процесс был высосан из пальца, но MIPS затянул разбирательство и у стартапа кончились деньги на юристов.

Tags:
Total votes 12: ↑12 and ↓0+18
Comments10

Как разводят венчурных капиталистов на бабки по поводу процессоров

Когда в СМИ публикуют статью про новый революционный процессор, но в статье нет бенчмарок, тут все понятно: статью можно игнорировать, это просто мусорный набор символов на экране. А если бенчмарки есть? Тут тоже не все так просто. Лет 10 назад был стартап, который показывал венчурным капиталистам слайды, что их революционно гибкий процессор (который динамически выделял потоки) по тактам в 3 раза быстрее чем старшее ядро ARM. Измерение было с помощью симуляции на уровне регистровых передач и в качестве бенчмарки была то ли Dhrystone, то ли CoreMark/MHz. Но они "забыли" указать на слайдах, что если синтезировать их процессорное ядро c библиотекой ASIC на том же техпроцессе, на котором и ядро ARM, против которого они конкурируют - то статический анализ тайминга покажет, что максимальная тактовая частота, которую они могут использовать - втрое меньше, чем у ARM. То есть втрое лучше по тактам умножаем на втрое хуже по частоте = никакого улучшения. Об этом факте я случайно услышал на парти - человек сказал цифру и я сложил два плюс два, то бишь умножил 3 на 1/3.

Также замечу что развод на бабки VC ничуть не менее аморален, чем развод на бабки пенсионеров по телефону, так как в фонды VC вкладывают в том числе и частные пенсионные фонды.

Tags:
Total votes 12: ↑11 and ↓1+13
Comments11

Authors' contribution