Здравствуйте.
Работаю с ПЛИС XILINX Virtex-6 XC6VLX240T-1FFG1156 FPGA. Не знаю как задать исходные состояния запоминающего устройства в проекте. В общем, есть два файла на ассемблере (текстовые с 16-ричными кодами) их нужно загрузить в память ПЛИС, т.е. инициализировать исходные состояния памяти. Есть информация, что это должно быть где-то в Chipscope, но я не могу найти это там. И как обратиться к сгенерированной памяти в VHDL?
Кто-нибудь сталкивался с подобной проблемой и как решить?
Как задать исходные состояния ЗУ в проекте
- Реклама
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Как задать исходные состояния ЗУ в проекте
Если правильно понял, то от вас требуется прочитать файл(ы) в ПК, передать их каким-то образом в ПЛИС и уже в ней, поместить по определенному адресу оперативной памяти. Время на передачу ничем не ограничено. Пока остается за кадром вопрос об отображении записанной в ПЛИС информации.
Данная задача решается в несколько шагов, главным из которых будет выбор физического интерфейса - rs232, Ethernet, USB.
Допустим, для новичка, выбран самый легкий - RS232.
Тогда следующим шагом станет разработка логического интерфейса - надо как-то решить вопрос с однозначным отождествлением посылаемой информации с принимаемой.
Тут можно пойти путем "нехай так будет" или заморочиться и создать свои правила кодирования и декодирования данных: например передавать адрес ячейки, а затем непосредственно ее содержимое.
Остается неопределенность в том как узнать что это именно адрес, а не данные и наоборот?
Для этого можно посмотреть на сам файл и почти с уверенностью сказать что полезная информация представлена символами от 0 до 9 и от A до F. Следовательно в нашем распоряжении остаются всякие тире, точки, запятые и т.д. Можно выбрать из этого набора какой-нибудь символ, например процент % и передавать его в самом начале, до адреса. Тогда в любой последовательности можно выделить знак % и сказать "вот начало!". Можно и дальше шагнуть - сделать контрольную сумму, признак конца передачи.
По окончании разработки логического протокола можно начинать кодить программы для ПК и для ПЛИС.
Что касается Chipscopa, насколько знаю, это своего рода сборщик данных а-ля логический анализатор и работать он будет как средство отображения состояния. А вот можно ли им зашить инфу? Не знаю. Вполне возможно что сам программатор в паре с каким-нибудь микроблэйзом позволяет из консоли слать данные в ПЛИС.
Данная задача решается в несколько шагов, главным из которых будет выбор физического интерфейса - rs232, Ethernet, USB.
Допустим, для новичка, выбран самый легкий - RS232.
Тогда следующим шагом станет разработка логического интерфейса - надо как-то решить вопрос с однозначным отождествлением посылаемой информации с принимаемой.
Тут можно пойти путем "нехай так будет" или заморочиться и создать свои правила кодирования и декодирования данных: например передавать адрес ячейки, а затем непосредственно ее содержимое.
Остается неопределенность в том как узнать что это именно адрес, а не данные и наоборот?
Для этого можно посмотреть на сам файл и почти с уверенностью сказать что полезная информация представлена символами от 0 до 9 и от A до F. Следовательно в нашем распоряжении остаются всякие тире, точки, запятые и т.д. Можно выбрать из этого набора какой-нибудь символ, например процент % и передавать его в самом начале, до адреса. Тогда в любой последовательности можно выделить знак % и сказать "вот начало!". Можно и дальше шагнуть - сделать контрольную сумму, признак конца передачи.
По окончании разработки логического протокола можно начинать кодить программы для ПК и для ПЛИС.
Что касается Chipscopa, насколько знаю, это своего рода сборщик данных а-ля логический анализатор и работать он будет как средство отображения состояния. А вот можно ли им зашить инфу? Не знаю. Вполне возможно что сам программатор в паре с каким-нибудь микроблэйзом позволяет из консоли слать данные в ПЛИС.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
