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

nmurzin

Участник
  • Постов

    95
  • Зарегистрирован

  • Посещение

Весь контент nmurzin


  1. Здравствуйте. До сегодняшнего дня работал с ПЛИС Intel(Altera). Сейчас предполагается проект, в котором ПЛИС должна работать с DDR3 емкостью 8Gbit. Контроллеры памяти в семействе Cyclon-5 поддерживают DDR3 емкостью не более 4GBit. В семействе Cyclon-10 не нашел внятной информации. Обратил свой взор на Xilinx, а именно на семейство Spartan-7. С Xilinx ни когда дело не имел. Вопросы следующие: - Какой софт нужен для работы? - Софт нужно обязательно покупать или есть бесплатный вариант? - Есть ли в России проверенные грамотные поставщики, которые могут оказать и техническую поддержку? Да вообще с чего начать при переходе с Intel(Altera) на Xilinx ? Что и где в первую очередь лучше почитать для наиболее быстрого и безболезненного перехода?
  2. У каждого производителя ПЛИС есть свой САПР и свой формат файла, который зашивается в ПЛИС. А существует ли какой-то общий формат, который бы поддерживали ну хотя бы и Altera и Xilinx? Quartus при компиляции может создать файл Serial Vector Format (.svf) На сколько я понимаю он предназначен для программирования по JTAG. Может ли САПР для Xilinx создать .svf файл? Стоит задача написать программу, которая могла бы по JTAG зашивать любую ПЛИС. Хочется зацепиться за какой-нибудь формат файла зашивки, который был бы одинаков для всех. Существует ли такой?
  3. Спасибо Лентяй, жить стало веселей.
  4. Заказчик в ТЗ написал ни какого квартуса, должен быть bat файл который запускает некий плеер. Вот теперь сижу и думаю как это сделать.
  5. Здравствуйте. Стоит задача зашивать ПЛИС каким-нибудь jam плеером. У меня программатор USB-BlasterII На сайте Altera лежат какие-то плееры и конверторы https://www.altera.com/support/support-reso...amming/jam.html Вопрос, как этим пользоваться? Можно ли этим добром запрограммировать ПЛИС через USB-BlasterII ? Подскажите пожалуйста какой утилитой пользоваться? Какой файл ей пихать? какой командной строкой?
  6. Как, Preloder может выдавать информацию о своем ходе по UART? Что для этого нужно сделать? Нужно какие-то галочки поставить в bsp-editor? Или нужно в DS-5 как-то настроиться?
  7. Работаю с Quartus 17.0 + SoC EDS. Тренируюсь на KIT для Cyclon V. На SD карточке зашивка ПЛИС и baremetal программка. При включении Preloader грузит зашивку ПЛИС, я вижу что она работает. А вот baremetal программа не работает(светодиоды не мигают). Чувствую что ошибка где-то при переходе от файла axf к файлу img. Я получил файл img следующим образом. Преобразовал файл axf в bin командой arm-altera-eabi-objcopy\ -O binary altera_gcc_hps_led.axf\ altera_gcc_hps_led.bin Преобразовал файл bin в img командой mkimage\ -A arm\ -O u-boot\ -T standalone\ -C none\ -a 0x100040\ -e 0x100040\ -n "baremetal image"\ -d altera_gcc_hps_led.bin\ altera_gcc_hps_led.img Я не понимаю какой смысл несут параметры -a адрес загрузки и -е точка входа, чувствую что ошибка где-то здесь, а в чем не могу понять. В свойствах проекта DS-5 линкеру указывается файл cycloneV-dk-ram.ld На просторах интернета видел вот такой совет. Будто бы файл для линкера cycloneV-dk-ram.ld надо поправить руками, а конкретно на строке 24 должно быть так MEMORY { boot_rom (rx) : ORIGIN = 0xfffd0000, LENGTH = 64K oc_ram (rwx) : ORIGIN = 0xffff0000, LENGTH = 64K /* Need to have 64bytes available before start of program, to store the mkimage header */ ram (rwx) : ORIGIN = 0x100000 + 0x40, LENGTH = 1023M - 0x40 } Я это пока не пробовал и не понимаю зачем это. Кто нибудь пролейте свет по этому вопросу? Зачем руками править файл cycloneV-dk-ram.ld И какой смысл несут параметры -a адрес загрузки и -е точка входа команды mkimage. И как это вообще все друг с другом связано?
  8. Месяц назад я начал разбираться с SoC на Cyclon V. Во всех обучающих примерах описано как в среде DS-5 создать приложение с помощью набора компиляторов "Altera Bare-Metal" и как отлаживать программу по JTAG с помощью USB-Blaster. А в моей среде не было такого компилятора, другие были, а "Altera Bare-Metal" не было. И отладчик по USB-Blaster отказывался находить подключенный USB-Blaster. И я месяц ползал по форумам и переустанавливал Quartus + SoC EDS в разных вариациях. А оказалось, что дело вот в чем. В директории C:\users\ (C:\пользователи\ в русской ОС) для каждой учетной записи(каждого пользователя Windows) существует своя папка. Например для пользователя с учетной записью "Marina" должна существовать директория C:\users\Marina. Так вот имя директории для локального пользователя обязательно должно быть на латинице, и ни в коем случае НЕ на кириллице. У меня была учетная запись "Admin", а локальная папка пользователя называлась C:\пользователи\ПК2 Из за того что ПК2 на кирилице, некоторые компоненты среды не установились, а некоторые не могли запуститься. Я бы ни когда не догадался. Ведь во время установки нет ни каких сообщений об ошибках, да и среда типа работает. Меня это уже не спасет, но надеюсь что если кто-то столкнется с такой же проблемой, то мое сообщение на этом форуме ему поможет.
  9. Изначально запускаю через консоль командой eclipse. Саму консоль запускаю путем запуска bat файла в директории embedded. Это какой-то кошмарный сон. Завтра попробую все переустановить и задать вопросы в icgamma где покупал KIT.
  10. Не получается загрузить. То ли я что-то не понимаю, то ли у меня среда не рабочая. Скачивал я SoC EDS где положено с официального сайта. Лицензия тоже имеется. Импортирую проект Altera-SoCFPGA-HelloWorld-Baremetal из архива в свое рабочее пространство. Компилирую Project->Build Project Дальше хочу залить и выполнить. Выбираю Project->Debug as Выбираю пункт DS-5 Debugger, выбираю мою ПЛИС, включаю KIT. Далее в одном из выпадающих списков выбираю USB-Blaster и жму кнопку "Browse" Должно появится окошко, в котором я должен выбрать свой USB Blaster. Окошко-то появляется, но оно пустое, и не просто пустое а с сообщением о том что не удалось запустить обозреватель и советует смотреть некий Error log. Я не понимаю, это поведение связано с тем что у меня со средой что-то не так? Или все дело в настройках проекта, которые тоже надо как-то настраивать? А как? Ну должен же быть простой алгоритм действий, чтобы с чистого листа создать и запустить программу "Hello World". Пожалуйста помогите преодолеть этот тупик.
  11. Спасибо <Sonycman> только что увидел твой ответ, буду пробовать. А пока наткнулся вот на что. Смотрю данное видео в котором ведущий создает Bare Metal приложение. https://www.youtube.com/watch?v=GHuM2mBlLxc В среде eclipse он кликнул пункт меню File->New->C_Project А в диалоговом окне "C Project" сделал следующий выбор. Project Type: Bare Metal Executable ;;НО у меня нет такого варианта!!! ToolChains: DS-5 GCC У меня есть только такой вариант. Project Type: Executable А в ToolChains доступны следующие варианты: ARM Compiler 5 (DS-5 built-in) ARM Compiler 6 (DS-5 built-in) Cygwin GCC GCC 4.x [arm-linux-gnueabihf](DS-5 built-in) MinGW GCC Какой из них выбрать? Чем они отличаются?
  12. Наконец-то до редактировал до того, чтобы пример заработал. И так в дирекории Altera-SoCFPGA-HardwareLib-MPL есть файлы: mpl_C5_q-mkpimage.bin это Preloader с заголовком. mpl_test_C5_whdr.bin это приложение которое мигает светодиодами. Заметил, что при выполнении команды make обновляется только файл прелодера mpl_C5_q-mkpimage.bin, а файл приложения mpl_test_C5_whdr.bin остается неизменным. Теперь у меня следующий вопрос. Как и с помощью чего мне увидеть код приложения mpl_test_C5_whdr где его поменять и как перекомпилировать, чтобы получить свой mpl_test_C5_whdr ? Подозреваю, что с помощью DS-5, но какой последовательностью действий? Мне нужно как-то открыть проект из директории Altera-SoCFPGA-HardwareLib-MPL найти код приложения mpl_test_C5_whdr и как-то его перекомпилировать.
  13. И еще, зачем они вызывают BSP Editor и генерируют BSP? В результате создается поддиректория <Директория проекта>\software\spl_bsp Но они дальше не пользуются содержимым поддиректории \software\spl_bsp Они работают только с Altera-SoCFPGA-HardwareLib-MPL.
  14. Видео сделано для среды версии 14.1 В видео ведущий редактирует файл config.mk При этом он меняет запись HANDOFF_BASE := $(SOCEDS_DEST_ROOT)\examples\hardware\cv_soc_devkit_ghrd на вот такую HANDOFF_BASE := С:\demo\cv_soc_devkit_ghrd Остальные записи ссылаются на $(HANDOFF_BASE)\. У меня среда версии 16.1 И в моем файле config.mk нет такой записи. Есть только такая SOCEDS_DEST_ROOT ?= $(SOCEDS_ROOT) Что мне сделать, чтобы пример из видео заработал?
  15. У меня KIT: DK-DEV-5CSXC6N https://www.altera.com/products/boards_and_...lone-v-soc.html Заказчик хочет тестировать AriaV на входном контроле. KIT на AriaV приедет только через 12 недель. Разбираюсь пока на ките CyclonV. В итоге мне нужно будет прийти к тому, что у вас. Чтобы процессор заливал зашивки в FPGA.
  16. Имею KIT для CyclonV. С процессором ARM раньше не работал ни когда. Работаю с Quartus 16.1 Со стороны HPS на вывод GPIO41 припаян светодиод. Я хочу чтобы программа исполняемая процессором мигала светодиодом. Для этого сделал следующее. В Qsys создал компонент Hard Processor System. В настройках HPS отключил всё кроме DDR3(её нельзя отключить). На закладке "Peripherals_Pins" кликнул на вывод GPIO41. GPIO41 стал отображаться жирным шрифтом. Сгенерировал Qsys систему, прикрутил ее в свой модуль верхнего уровня. Откомпилировал проект. На этапе компиляции Assemblies создалась директория hps_isw_handoff. На сколько я понимаю эта директория содержит описание процессорной системы. Я знаю, что с помощью BSP Editor на основе директории hps_isw_handoff можно сгенерировать файлы загрузчика, затем откомпилировать их и получить Preloader в виде bin файла. А дальше не знаю что делать. На сколько я понимаю Preloader всего лишь настроит процессорную систему, загрузит содержимое флэш памяти в DDR и передаст управление. У меня сейчас следующие вопросы: 1. Откуда процессор узнает, из какого носителя надо брать Preloader? 2. Как записать Preloader bin файл на носитель, с которой его заберет процессор? 3. Как создать загрузчик следующего уровня, тот самый, который в DDR ляжет? 4. Откуда Preloader узнает из какого места надо тянуть следующий загрузчик? Если кто-то может помочь советом или указявкой где все это искать буду очень благодарен.
  17. Спасибо sonycman. Я не мог понять зачем мне ноги памяти, если я не могу раскидать их в PinPlaner. А если он умный и сам знает где они весят и сам их разводит, то зачем он мне их выписывает. Сейчас стало понятно как дальше двигаться. :a14:
  18. Но ведь модуль сгенерированный Qsys содержит например пины интерфейса DDR3, которые имеют имена типа mem_* Куда мне девать эти ноги? Зачем он мне их выкатил?
  19. Здравствуйте. Зашел в тупик из которого пока не знаю где смотреть. Работаю с CyclonV SoC. Есть у меня проект для FPGA части сделанный на Quartus 16.1 без использования Qsys. Хочу добавить HPS часть, чтобы хотя бы светодиодом помигать. Открыл свой проект в квартусе. Запустил Qsys. Сохранил Qsys систему в поддиректории с именем <ПАПКА ПРОЕКТА>\HPS\HardProcSys.qsys Добавил мегафункцию Hard Processor Sysytem. Нажал кнопку "Generate HDL", и вышел из Qsys. В результате на диске появились следующие файлы <ПАПКА ПРОЕКТА>\HPS\HardProcSys\synthesis\HardProcSys.qip <ПАПКА ПРОЕКТА>\HPS\HardProcSys\synthesis\HardProcSys.vhd Вопрос - как мне теперь вставить HPS часть в свой проект FPGA на квартусе??? Я добавил в проект файл HardProcSys.qip И хочу вставить в свой файл верхнего уровня компонент HardProcSys.vhd Но дальше надо будет назначать пины. А я помню, что когда я в PinPlaner пытался в FPGA проекте назначить пин из HPS части, то PinPlaner не позволял это сделать. Как же прикрутить HPS часть??? Может для нее надо создавать отдельный проект и выбирать отдельную микросхему? FPGA часть и HPS часть это части одного проекта в квартусе, или это должны быть два разных проекта?
  20. Здравствуйте. Начинаю разбираться с SoC. Среда SoC EDS 16.1 установилась в директорию C:\intelFPGA\16.1\embedded Пробую открывать демонстрационные проекты. Запускаю "Command_Shell", ввожу команду "eclipse", запускается студия DS5. Импортирую проект: C:\intelFPGA\16.1\embedded\examples\software\Altera-SoCFPGA-HardwareLib-FPGA-CV-GNU.tar.gz И тут же вижу кучу вот таких warnings: Invalid project path: Include path not found (\usr\include) Invalid project path: Include path not found (\usr\include\w32api) Invalid project path: Include path not found (\usr\lib\gcc\x86_64-pc-cygwin\4.9.2\include-fixed) Invalid project path: Include path not found (\usr\lib\gcc\x86_64-pc-cygwin\4.9.2\include) Invalid project path: Include path not found (C:\Program Files\host_tools\mentor\gnu\arm\baremetal\arm-altera-eabi\include) Invalid project path: Include path not found (C:\Program Files\host_tools\mentor\gnu\arm\baremetal\lib\gcc\arm-altera-eabi\5.2.0\include) Invalid project path: Include path not found (C:\Program Files\ip\altera\hps\altera_hps\hwlib\include) Invalid project path: Include path not found (C:\Program Files\ip\altera\hps\altera_hps\hwlib\include\soc_cv_av) Такое впечатление, что вместо директории C:\intelFPGA\16.1\embedded, поиск идет в C:\Program Files Хотя в проекте есть несколько директив Include c правильными путями. Проект не компилируется. Подскажите пожалуйста, как это лечить?
  21. Здравствуйте. До нынешнего момента жил на VHDL. Решил переехать на Verilog. Для хорошего точка вперед мне нужен следующий пример. Модуль RModule.v, который описывает обычный триггер. Тест бенч TB.v, который использует модуль RModule.v для моделирования. Прошу вас поделиться примерами тест бенчей. Из опыта работы c VHDL могу сказать, что в реальных проекта используется 20% синтаксиса. Остальное видимо для академиков придумано. Подозреваю, что c Verilog такая же история. Описание стандарта и книжек по Verilog я конечно накачал, но буду рад вашим советам и ссылкам, которые помогут быстрее прийти к тем самым нужным 20%.
  22. Здравствуйте. Использую в проекте на Quartus Prime аппаратный контроллер DDR2. У этого компонента есть выход afi_clk Я затактировал этим клоком свой регистр Temp_ddr_rg Во время компиляции Quartus пишет вот такие сообщения Warning (176047): Ignored Global Signal option from source node UDDR2|myddr2_inst|pll0|pll_afi_clk to destination node WTemp_ddr_rg[10] -- source does not feed directly to destination Подскажите пожалуйста что это значит? Можно ли с этим жить? Как это вылечить?
  23. В одной из поддиректорий, которые нагенерил Quartus я нашел файл с расширением vho. В моделсиме я указал вместо своего файла PLL_A.vhd который используется в проекте, файл PLL_A.vho и все заработало.
  24. Прикрепил ZIP архив с файлами, которые создал Quartus Prime при генерации PLL PLL_A.vhd - файл верхнего уровня, его я и заказывал. PLL_A.ZIP А вот как его теперь в ModelSim Altera отмоделировать ?
  25. Здравствуйте. Долгое время работал с Quartus 11.0 и моделировал проекты с PLL в ModelSim без вопросов. Сейчас перешел на Quartus Prime Lite Edition. В Quartus Prime создал PLL, а ModelSim отказывается ее моделировать. Стал разбираться, что поменялось. Я работаю на VHDL. Quarus 11.0 генерировал VHDL файл, который содержал компонент altpll ModelSim знает этот компонет, его описание лежит в QUARTUS_ROOTDIR/eda/sim_lib/altera_mf.vhd Quartus Prime генерит уеву тыщу файлов. Среди них есть VHDL файл который я заказывал, но он ссылается на verilog файл, который содержит внутри компонент altera_pll. ModelSim не знает кто такой altera_pll, о чем он честно пишет. Встречался ли кто нибудь с этой проблемой ? Как отмоделировать в ModelSim проект с PLL, который рожден Quartus Prime ?
×
×
  • Создать...