DSIoffe 5 5 декабря, 2014 Опубликовано 5 декабря, 2014 · Жалоба Т.е. и память программ и ОЗУ создать внутренними ресурсами без использования внешних компонентов. Прикладываю код ПЗУ, которое у меня работало с 8051s. Для генерации кодов ПЗУ из HEX файла у меня была маленькая программка. ОЗУ, наверное, можно сделать по образу и подобию. Вот тут http://electronix.ru/forum/index.php?showtopic=111717 тема про 8051s. MyROM.vhd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serge_DVD 0 8 декабря, 2014 Опубликовано 8 декабря, 2014 · Жалоба Прикладываю код ПЗУ, которое у меня работало с 8051s. Для генерации кодов ПЗУ из HEX файла у меня была маленькая программка. ОЗУ, наверное, можно сделать по образу и подобию. Вот тут http://electronix.ru/forum/index.php?showtopic=111717 тема про 8051s. Дмитрий, расскажите, пожалуйста, что делает функция SLVtoNatural? Таким способом удается создать ПЗУ на 4-5кБ, при попытке сделать больше вылетает ошибка размещения. И отличается-ли результат трассировки Вашего кода от простого использования $readmemh ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DSIoffe 5 9 декабря, 2014 Опубликовано 9 декабря, 2014 · Жалоба SLVtoNatural преобразует данные типа std_logic_vector в натуральное число, чтобы можно было использовать его в арифметических операциях. Чем разбираться в разных чужих библиотеках, проще такое написать, имхо. У меня было ПЗУ на 2 кБ максимум. Способ ресурсоёмкий, конечно, можно использовать только при полном отсутствии других вариантов (опять же, имхо). Я не знаю, что такое $readmemh :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serge_DVD 0 11 декабря, 2014 Опубликовано 11 декабря, 2014 · Жалоба SLVtoNatural преобразует данные типа std_logic_vector в натуральное число, чтобы можно было использовать его в арифметических операциях. Чем разбираться в разных чужих библиотеках, проще такое написать, имхо. У меня было ПЗУ на 2 кБ максимум. Способ ресурсоёмкий, конечно, можно использовать только при полном отсутствии других вариантов (опять же, имхо). Я не знаю, что такое $readmemh :( Под $readmemh я подразумевал объявление массива регистров и заполнение его значениями из файла на этапе трассировки. Что-то типа reg [7:0] mem [0:2047] ; $readmemh("d:\\f_hex.txt", mem); Для моей задачи ресурсоемкость отходит на второй план. 3000-ку брали именно для того, чтобы иметь возможность разместить в ней массив данных около 10кб. А получилось, что сделать это не так просто как казалось. Не понятно, сколько вентилей нужно для образования одной ячейки. В Вашем примере количество используемых вентилей получается меньше, чем при объявлении массива регистров. Исходя из этого и появился мой вопрос, я думал, что с помощью этой функции организуется компрессия данных. Может я не правильно что-то понимаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DSIoffe 5 11 декабря, 2014 Опубликовано 11 декабря, 2014 · Жалоба Под $readmemh я подразумевал объявление массива регистров и заполнение его значениями из файла на этапе трассировки. Что-то типа reg [7:0] mem [0:2047] ; $readmemh("d:\\f_hex.txt", mem); Ага, это мы разговариваем на разных языках? Эта функция сугубо VHDL-ная, преобразование типов. (Лишь бы не набежали тут критики VHDL :) Компрессии тут нет никакой, просто выбор слов по адресу. Я фактически тоже объявляю массив регистров. Почему получается меньше - не знаю, это какие-то козни синтезатора. Почему ошибка размещения - тоже не понимаю :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serge_DVD 0 11 декабря, 2014 Опубликовано 11 декабря, 2014 · Жалоба Ага, это мы разговариваем на разных языках? Эта функция сугубо VHDL-ная, преобразование типов. (Лишь бы не набежали тут критики VHDL :) Компрессии тут нет никакой, просто выбор слов по адресу. Я фактически тоже объявляю массив регистров. Почему получается меньше - не знаю, это какие-то козни синтезатора. Почему ошибка размещения - тоже не понимаю :( Ладно. Бум дальше копать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться