June 17th, 2015

Некоторые из ключевых людей в истории Verilog-а и SystemVerilog-а

Я проинтервьировал человека, который является для языка 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