Pavel Proskura 1 10 октября, 2011 Опубликовано 10 октября, 2011 · Жалоба Здарствуйте уважаемые коллеги. Есть следующая небольшая проблемка. Необходимо в ROM-память в Quartus-е записать 1024 слова. Очень уж нехочется делать это руками. Не подскажет ли кто нибудь, можно ли каким нибудь другим способом импортировать значения 1024 слов в mif файл. Например из Matlab или Exel. Заранее благодарен! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 10 октября, 2011 Опубликовано 10 октября, 2011 · Жалоба на любом скриптовом языке делается за 5 минут. WIDTH=18; DEPTH=512; ADDRESS_RADIX=UNS; DATA_RADIX=UNS; CONTENT BEGIN 0 : 198137; 1 : 198223; 2 : 197871; 3 : 197957; .......... 509 : 64273; 510 : 63921; 511 : 64007; END; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pavel Proskura 1 10 октября, 2011 Опубликовано 10 октября, 2011 · Жалоба на любом скриптовом языке делается за 5 минут. WIDTH=18; DEPTH=512; ADDRESS_RADIX=UNS; DATA_RADIX=UNS; CONTENT BEGIN 0 : 198137; 1 : 198223; 2 : 197871; 3 : 197957; .......... 509 : 64273; 510 : 63921; 511 : 64007; END; Большое спасибо за ответ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eugen_pcad_ru 0 10 октября, 2011 Опубликовано 10 октября, 2011 · Жалоба Можно и из ехеl-a: сохряняете файл в формате текста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndrewS6 0 10 октября, 2011 Опубликовано 10 октября, 2011 · Жалоба Писал для матлаба такую фиговину: function write_mif(filename,datain,depth,width) if (length(datain) > depth) error('Too much data!'); end fd = fopen(filename,'w'); fprintf(fd,'-- Matlab generated Memory Initialization File (.mif)\n'); fprintf(fd,'-- Created on: %s\n\n',date); fprintf(fd,'WIDTH=%i;\n',width); fprintf(fd,'DEPTH=%i;\n\n',depth); fprintf(fd,'ADDRESS_RADIX=UNS;\n'); fprintf(fd,'DATA_RADIX=UNS;\n\n'); fprintf(fd,'CONTENT BEGIN\n'); for i=1:length(datain) fprintf(fd,'%i : %i;\n',i-1,datain(i,:)); end if ((depth - length(datain)) > 0) fprintf(fd,'[%i..%i] : 0;\n',length(datain),depth-1); end fprintf(fd,'END;'); fclose(fd); end Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slawikg 0 10 октября, 2011 Опубликовано 10 октября, 2011 · Жалоба Здарствуйте уважаемые коллеги. Есть следующая небольшая проблемка. Необходимо в ROM-память в Quartus-е записать 1024 слова. Очень уж нехочется делать это руками. Не подскажет ли кто нибудь, можно ли каким нибудь другим способом импортировать значения 1024 слов в mif файл. Например из Matlab или Exel. Заранее благодарен! Скопируйте 1024 ячейки из Exel в открый в Quartus-е файл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chipovod 0 13 октября, 2011 Опубликовано 13 октября, 2011 · Жалоба Здарствуйте уважаемые коллеги. Есть следующая небольшая проблемка. Необходимо в ROM-память в Quartus-е записать 1024 слова. Очень уж нехочется делать это руками. Не подскажет ли кто нибудь, можно ли каким нибудь другим способом импортировать значения 1024 слов в mif файл. Например из Matlab или Exel. Заранее благодарен! А чем Вас не устраивает код Матлаба предыдущего поста? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pavel Proskura 1 14 октября, 2011 Опубликовано 14 октября, 2011 · Жалоба А чем Вас не устраивает код Матлаба предыдущего поста? Да нет, впринципе всем устраивает. Но я сделал по другому. Вычисленные данные из Матлаба скопировал в блокнот, а в блокноте удалил информацию касающуюся номеров ячеек данных. Затем просто тупо скопировал в mif файл. Но все равно, всем большое спасибо за ваши ответы. Кстати не давно, вроде в вашем блоге, нашел информацию по реализации DDS-синтезатора на ПЛИС. Кое что подчерпнул для себя в реализации данного вопроса. Так что спасибо вдвойне. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться