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

Как работать со строками названий файлов

Здравствуйте, уважаемые гуру.

 

Есть 2 константы (или переменные), в одной из них путь к файлу, в другой - название.

Ну типа,

localparam Path = "D:\Path";

localparam Filename = "Filename.txt";

 

Надо из них слепить некую переменную, которую поймет Modelsim в функциях обращения к файлам.

$readmemh и т.д..

Пока чего ни пробую - моделсим не понимает и ругается, что файл "" не находит.

 

Подскажите, куда копать?

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


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

А как сделать, чтобы работало вот такое:

 

localparam Path = "D:/Sig0/test";
localparam Filename = "/ref.hex";

wire    [7:0]    Number;
assign Number = "1";

initial
begin
    $readmemh({Path, Number, Filename}, RefMem);
end

 

Результат такой: Failed to open readmem file "D:/Sig0/test/ref.hex" in read mode

 

Т.е. не видит цифру, которую я пытаюсь приделать к названию.

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


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

localparam Path = "D:/Sig0/test";
localparam Filename = "/ref.hex";

reg[7:0]    Number;

initial
begin
        Number = "1";
    $readmemh({Path, Number, Filename}, RefMem);
end

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


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

Спасибо!

 

А почему с reg работает, а с wire - нет?

Потому что assign и initial являются параллельными процессами, порядок выполнения которых не определен. В данном случае первым выполняется процесс initial, когда assign еще не выполнился и не присвоил значение wire. А inline-инициализация статических переменных ЕМНИП выполняется раньше выполнения процессов. Если в initial в начале добавить задержку, то вариант с wire также сработает.

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


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

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

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

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

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

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

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

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

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

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