?

Log in

No account? Create an account
Некоторые из ключевых людей в истории Verilog-а и SystemVerilog-а - Юрий Панчул [entries|archive|friends|userinfo]
Money can buy bandwidth. Latency requires bribing God.

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Некоторые из ключевых людей в истории Verilog-а и SystemVerilog-а [Jun. 17th, 2015|10:22 pm]
Yuri Panchul
Я проинтервьировал человека, который является для языка Verilog примерно тем же, кем являются для языка Си Керниган и Ричи. Джон Сангвинетти - ранний гуру верилога со времен 1980-х, основатель компании Chronologic Simulation, которая подарила миру быстрый симулятор верилога VCS (Verilog Compiled code Simulator), который сейчас использует большинство разработчиков крупных чипов. Джон поприветствовал российских молодых людей, которые изучают Verilog и высказал пару мыслей о высокоуровневом синтезе и его применимости к разработке out-of-order процессоров:



Применим ли высокоуровневый синтез к разработке out-of-order процессоров?



Для тех читателей, кто не в курсе, как выглядит Verilog, привожу один из примерчиков, которые я написал для студентов, вместе со схемой, в которую он транслируется ("синтезируется"):

module pow_5_implementation_3
(
    input clock,
    input reset_n,
    input run,
    input [17:0] n,
    output ready,
    output [17:0] n_pow_5
);

    reg [4:0] shift;

    always @(posedge clock or negedge reset_n)
        if (! reset_n)
            shift <= 0;
        else if (run)
            shift <= 5'b10000;
        else
            shift <= shift >> 1;

    assign ready = shift [0];

    reg [17:0] r_n, mul;

    always @(posedge clock)
        if (run)
        begin
            r_n <= n;
            mul <= n;
        end
        else
        begin
            mul <= mul * r_n;
        end

    assign n_pow_5 = mul;

endmodule




Из моего старого разъяснения:

В последние 25 лет дизайн микросхемы чаще всего пишется на языке описания аппаратуры Verilog (в Европе и у военных - VHDL), после чего специальная программа (logic synthesis) превращает дизайн в граф из проводов и логических примитивов, другая программа (static timing analysis) сообщает дизайнеру, вписывается ли он в бюджет скорости, а третья программа (place-and-route) раскладывает этот дизайн по площадке микросхемы.

Когда дизайн проходит все этапы: кодирование на верилоге, отладка, верификация, синтез, static timing analysis, floorplanning, place-n-route, parasitics extraction и т.д. - получается файл под названием GDSII, который отправляют на фабрику, и фабрика выпекает микросхемы. Самые известные фабрики этого типа принадлежат компании Taiwan Semiconductor Manufacturing Company или TSMC.


На конференции DAC'15 в Сан-Франциско, где я словил Сангвинетти, также продавали книжки по верилогу:



А вот стенд компании Doulos Training которая за деньги учит инженеров разных компаний языкам Verilog и VHDL, верификации и связанным технологиям. У этой компании есть несколько конкурентов, в частности Willamette HDL и Sutherland HDL:



Также я встретил начальников отделения верификации в Synopsys, эта группа сейчас поддерживает симулятор верилога VCS.
Глава отделения - Manoj Gandhi (слева), Executive Vice President and General Manager, Verification Group, а справа - Jayant Nagda, он был менеджером реализации SystemVerilog в VCS в начале 2000-х:



А вот на стенде Cadence, конкурирующей с Synopsys компании, демонстрировали новый тул для синтеза Verilog-а под названием Cadence Genus - по-видимому конкурент Synopsys Design Compiler - основного тула для логического синтеза, используемого разработчиками ASIC-ов:



Когда вы впервые осознанно увидели код на Verilog или SystemVerilog?

1984-1989
0(0.0%)
1990-1994
0(0.0%)
1995-1999
4(19.0%)
2000-2004
6(28.6%)
2005-2009
7(33.3%)
2010-2015
4(19.0%)

Когда вы впервые осознанно увидели код на VHDL

1984-1989
2(9.5%)
1990-1994
1(4.8%)
1995-1999
4(19.0%)
2000-2004
4(19.0%)
2005-2009
6(28.6%)
2010-2015
4(19.0%)

Видели ли вы другие HDL?

PALASM
2(7.7%)
ABEL
2(7.7%)
CUPL
1(3.8%)
IHDL
0(0.0%)
LOLA
2(7.7%)
Handel-C
2(7.7%)
Cynlib
1(3.8%)
Cycle-C
1(3.8%)
SystemC
11(42.3%)
SpecC
0(0.0%)
BlueSpec
0(0.0%)
Другие (пояснить в комментариях)
4(15.4%)



Мой полный отчет о DAC'15 - http://habrahabr.ru/post/260069
LinkReply

Comments:
[User Picture]From: andrey_yurin
2015-06-18 06:00 am (UTC)
За что мне Verilog нравится по сравнению с VHDL так это за его компактность. Достоинством и одновременно недостатком VHDL является строгое соблюдение типов данных и декларирование всех используемых сигналов. С одной стороны это плюс - труднее получить ошибку, когда один тип данных неявно преобразуется в другой. С другой стороны это порождает тонны кода. Когда описываешь архитектуру нижнего уровня (без вложенных entity) и небольших компонентов - всё ок. Да и TestBench на VHDL мне таки нравятся больше (ещё бы - VHDL изначально и создавался под эти цели. Хотя работа с файлами в VHDL весьма куцая, посему приходится пользовать средства симулятора - спасибо парням из ALDEC за их Active-HDL). Но вот когда потом весь проект собираешь вместе в top-файле - охота застрелиться. Вообщем хорошо знать и то и то и использовать всё в связке.

По поводу других HDL. Как-то не семинаре слышал про SystemC, что ли. Или что-то подобное. Смысл в том, что по Си-шному коду получается HDL код. Честно говоря у меня есть определённый скепсис по поводу подобных трансляторов (хотя сам я их не использовал).

P.S. Всё сказанное - ни в коем случае не претендует на истину и является лишь моим субъективным мнением.
(Reply) (Thread)
[User Picture]From: panchul
2015-06-18 04:11 pm (UTC)
Я тоже не люблю SystemC, вот мое развернутое мнение с историей его развития - http://panchul.livejournal.com/473865.html
(Reply) (Parent) (Thread)
[User Picture]From: qvintus
2015-06-18 06:31 am (UTC)
Приходилось работать с Altera HDL, правда, довольно быстро перешел на Verilog.
(Reply) (Thread)
[User Picture]From: panchul
2015-06-18 04:36 pm (UTC)
О! А вот этот AHDL я совсем забыл, хотя когда-то должен был видеть. Спасибо, что напомнили!
(Reply) (Parent) (Thread)
[User Picture]From: fabless
2015-06-18 07:01 am (UTC)
А какой linter в MIPS используют?
(Reply) (Thread)
[User Picture]From: panchul
2015-06-18 03:16 pm (UTC)
SpyGlass
(Reply) (Parent) (Thread)
[User Picture]From: nemirovd
2015-06-18 09:25 am (UTC)
>>Видели ли вы другие HDL?
Знаю только DHL
(Reply) (Thread)
[User Picture]From: mister_47
2015-06-18 02:11 pm (UTC)
Deutsch Hardware Language :)
(Reply) (Parent) (Thread)
[User Picture]From: oppad1
2015-06-18 02:02 pm (UTC)
> VCS (Verilog Compiled code Simulator), который сейчас использует большинство разработчиков крупных чипов

хотелось бы комментарии Cadence-а c их ncsim-ом услышать :)
(Reply) (Thread)
[User Picture]From: panchul
2015-06-18 03:18 pm (UTC)
Кстати мне лично Cadence IUS / NCSim / SimVision нравится больше чем VCS
(Reply) (Parent) (Thread)
[User Picture]From: oppad1
2015-06-18 03:28 pm (UTC)
да мы тоже ncsim используем, несмотря на демпинг синопсиса по цене.
но надо отметить, что на нетлисте VCS показал гораздо лучше - там снапшот получается в разы меньше (данные года 3-4тому) на 10ках GB это дает существенный выигрыш в рантайме - вроде как процентов 50, может еще и переупорядочено более удобно для кэширования и т.п...
для RTL - без разницы, а картинки в IUS красивше :)

Edited at 2015-06-18 03:28 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2015-06-18 04:37 pm (UTC)
*** для RTL - без разницы, а картинки в IUS красивше :) ***

Именно! :-)
(Reply) (Parent) (Thread)
[User Picture]From: vasionok
2015-06-24 04:48 am (UTC)
только Chisel!
(Reply) (Thread)
[User Picture]From: 1500py470
2015-06-25 02:33 pm (UTC)
Когда учился видел советские САПР Пульс, КОМПАС 82 и слышал о других советских, немецких, французских
(Reply) (Thread)