Перейти к содержанию
    

ModelSim работа с $display и $write

1)Скачал с сайта Micron модель SDRAM и тестбенч к ней.

 

http://www.micron.com/get-document/?docume...48lc16m16a2.zip

 

Создал проект в ISE и промоделировал в ModelSim XE III 6.3c .

И сделал открытие ;-)

 

В тексте модели есть строки такого вида

        // Auto Refresh
        if (Aref_enable === 1'b1) begin
            if (Debug) begin
                $display ("%m : at time %t AREF : Auto Refresh", $time);
            end

Debug - обычный wire.

 

Которые в моделсиме выводят сообщения.

# test.sdram0 : at time     116.0 ns AREF : Auto Refresh
# test.sdram0 : at time     186.0 ns AREF : Auto Refresh
# test.sdram0 : at time     256.0 ns LMR  : Load Mode Register
# test.sdram0 :                             CAS Latency      = 3
# test.sdram0 :                             Burst Length     = 4
# test.sdram0 :                             Burst Type       = Sequential
# test.sdram0 :                             Write Burst Mode = Programmed Burst Length
# test.sdram0 : at time     270.0 ns ACT  : Bank = 0 Row =    0
# test.sdram0 : at time     291.0 ns WRITE: Bank = 0 Row =    0, Col =   0, Data =   100
# test.sdram0 : at time     298.0 ns WRITE: Bank = 0 Row =    0, Col =   1, Data =   101
# test.sdram0 : at time     305.0 ns WRITE: Bank = 0 Row =    0, Col =   2, Data =   102
# test.sdram0 : at time     312.0 ns WRITE: Bank = 0 Row =    0, Col =   3, Data =   103
# test.sdram0 : at time     319.0 ns NOTE : Start Internal Auto Precharge for Bank 0

Если кликнуть на эти сообщения - в окне сигналов курсор перемещается в точку где произошло событие.

 

Я по аналогии в свой проект вставил вызов $display - но перемещения курсора в окне сигналов отсутствует :-(

 

Тогда я просто скопировал строчку "$display ("%m : at time %t AREF : Auto Refresh", $time);" - результат аналогичен.

 

Получается в тестбенч нельзя вставить "$display с тем чтобы ходить по сигналам?

 

2) Понадобилось сохранить 16 битные данные в двоичном виде в файл.

С помощью $write удается сохранить только в виде 32-битных чисел.

Как то странно. Считывать из файла у меня получилось а вто запись нет.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как то странно. Считывать из файла у меня получилось а вто запись нет.

Добрый день!

Личный ящик у Вас отключен, потому пишу сюда...

У меня на сайте уже выложены все статьи по "Краткому Курсу HDL", так вот там как раз даны примеры того, как писать в файл, читать из файла и мониторить при отладке...

Удачи!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2) Понадобилось сохранить 16 битные данные в двоичном виде в файл.

С помощью $write удается сохранить только в виде 32-битных чисел.

Как то странно. Считывать из файла у меня получилось а вто запись нет.

Похожая тема поднималась, поищите по форуму.

встроенные функции ModelSim/Questa ($write и т.п.) не позволяют писать бинарные файлы.

 

Воспользуйтесь DPI(сам так делаю).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

встроенные функции ModelSim/Questa ($write и т.п.) не позволяют писать бинарные файлы.

Можно писать, но только 32-разрядные значения. Используйте $fwrite

Сразу уж приведу пример

 

wire [31:0] data;
wire ready;
wire clk;
integer filea;

initial
begin
filea=$fopen("D:/myfile.bin", "wb");
.....
.....
end

always @(posedge clk)
begin
  if (ready)
    $fwrite(filea,"%u",data);
end

...............
$fclose (filea);
$stop;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...