Невозможно скомпилировать модель памяти DDR3 Micron в Modelsim - PullRequest
1 голос
/ 25 мая 2020

Я загрузил модель памяти для банка DDR3, которую я буду тестировать в моделировании с помощью Modelsim (2019.2) с веб-сайта Micron ( ссылка ).

Я выполнил инструкции из README, чтобы скомпилировать его, но я столкнулся с синтаксическими ошибками! Я не думаю, что Micron сделает публикацию кода ошибок c и доступным для разработчиков.

Команда Modelsim:

vlog +define+sg25 C:/Micro_projects/FPGA/hdl/micron/ddr3/ddr3.v

ОШИБКИ

# ** Error: (vlog-13069) C:/Micro_projects/FPGA/hdl/micron/ddr3/ddr3.v(421): near ";": syntax error, unexpected ';', expecting '('.
# ** Error: C:/Micro_projects/FPGA/hdl/micron/ddr3/ddr3.v(424): Illegal declaration after the statement near line '421'.  Declarations must precede statements.  Look for stray semicolons.
# ** Error: (vlog-13069) C:/Micro_projects/FPGA/hdl/micron/ddr3/ddr3.v(433): near "integer": syntax error, unexpected integer, expecting IDENTIFIER or genvar.
# ** Error: C:/Micro_projects/FPGA/hdl/micron/ddr3/ddr3.v(433): (vlog-13205) Syntax error found in the scope following 'i'. Is there a missing '::'?
initial
begin : file_io_open
    reg [BA_BITS - 1 : 0] bank;
    reg [ROW_BITS - 1 : 0] row;
    reg [COL_BITS - 1 : 0] col;
    reg [BA_BITS + ROW_BITS + COL_BITS - 1 : 0] addr;
    reg [BL_MAX * DQ_BITS - 1 : 0] data;
    string _char;                                          //LINE 421
    integer in, fio_status;

    if (!$value$plusargs("model_data+%s", tmp_model_dir))
    begin
        tmp_model_dir = "/tmp";
        $display(
            "%m: at time %t WARNING: no +model_data option specified, using /tmp.",
            $time
        );
    end

    for (integer i = 0; i < `BANKS; i = i + 1)
        memfd[i] = open_bank_file(i);

Надеюсь, кто-нибудь подскажет, как с этим поступить. Я связался с Micron, но еще не получил от них известий (прошло несколько дней). Я застрял, и любые комментарии приветствуются!

Спасибо, Сурабхи

1 Ответ

0 голосов
/ 26 мая 2020

Ошибка из строки, которая включает string, которое является ключевым словом SystemVerilog.

Вам необходимо включить синтаксис SystemVerilog с помощью опции modelsim -sv.

...