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

hdl_student

Свой
  • Постов

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

  • Посещение

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


  1. wolfman: Спасибо за ответ. А какой у Вас JTAG-адаптер? Моя проблема оказалась проще - JTAG-адаптер на PIC18 не работает с Nios II Eclipse под Linux. Родной (FT245 + CPLD) работает только в одном из моих портов USB 2.0 на новой материнке.
  2. Добрый день! Пробую запустить простой дизайн с Nios II на Quartus Lite/Standard 17.1-19.1 под Linux (Ubuntu 18.04 LTS). FPGA через сам Quartus прошивается и работает без проблем. При запуске 'Debug As..." в Eclipse начинается обмен по JTAG (видимо, среда пытается пообщаться с отладочным модулем Nios-а, прочесть System ID и т.д.), который приводит к выходу FPGA из usermode (наблюдаю по светодиодам и упавшему CONF_DONE). Пробовал на Quartus 17.1/18.0/19.1 Lite/Standard. Пробовал на 4 разных платах (Cyclone IV, V, 10LP, Arria II GX) и разных программаторах (копеечный с Али и родной). На том же железе и той же машине (dualboot) все прекрасно работает под Windows 7. Может ли кто-то подтвердить, что у него есть рабочий комплект Quartus с Nios II EDA (17.1 и старше) под Linux, а то начинаю терять веру в человечество. Если не трудно, напишите версию Quartus-а и дистрибутива. Заранее признателен.
  3. Тема стара, как мир, тем не менее, однозначного решения найти не удалось. Прототипируем фрагмент дизайна ASIC на самой большой UltraScale. Около 5000 ног интерконнекта висит в воздухе внутри FPGA, поэтому Vivada выбрасывает все, что не завязано на физические выводы, после чего часть дизайна перестает отзываться на запросы по интерфейсу, торчащему из FPGA. В Quartus есть замечательный неинвазивный инструмент как раз для такого случая - Virtual Pin, который позволяет сохранить возможность эффективного синтеза/раскладки и сохранить нужную логику от выбрасывания. Полный дизайн ASIC-а (включая подсистему, которую мучаю я) собирается и работает без проблем (т.к. в нем все ноги моей подсистемы подключены). Стоит задача собрать автономный дизайн с подсистемой, чтобы не ждать 1,5 дня на пересборку общего дизайна. Что испробовано на данный момент: 1. (* keep = "true" *) на сигналы, висящие в воздухе Как оказалось, это не уберегает логику, привязанную к этому сигналу от оптимизации. Через интерфейс видится только часть дизайна. 2. (* dont_touch = "true" *) на сигналы, висящие в воздухе Эта директива работает "рекурсивно" ко всей подключенной логике, запрещая какую-либо оптимизацию вообще, из-за чего на пустом месте растет resource optimization и появляются большие слаки. Через интерфейс все равно видится только часть дизайна. 3. (* mark_debug = "true" *) на сигналы, висящие в воздухе Какого-либо эффекта (в т.ч. автоматического создания ILA) не замечено. Через интерфейс видится только часть дизайна. 4. Выделение всей подсистемы в обертку в режиме Out-of-context. OOC, как я понял, работает только для синтеза, если входы подсистемы болтаются в воздухе, то на этапе implementation Vivado выдает ошибку - входы LUT должны быть подключены. Если на входы подсистемы повесить константу, implementation видит "constant propagation" и выбрасывает еще больше логики. На сайте Xilinx и нашем форуме поискал, в основном предлагаются перечисленные способы. Есть ли еще какие-либо человеческие способы, которые можно попробовать до того, как возиться с сдвиговыми регистрами на входах и выходах?
  4. Добрый день. Ищу работу в качестве разработчика проектов ПЛИС (в идеале) для радилокационных, SDR- или телеком-приложений. Имею 8-летний опыт работы в сфере радиолокации (2-, 3-х координатные РЛС/РЛСУ корабельного базирования в диапазонах S-, X-, Ка; самолетные РЛСУ). Разрабатывал модули (ЦОС, управления, сопряжения) на МК и ПЛИС; приборы; работал на системном уровне. В части ПЛИС, в основном, занимался задачами ЦОС, управления ВЧ-блоками, сопряжением. FPGA: Работал реимущественно с Intel/Altera: Cyclone IV E, Arria II GX, Startix IV GX. Имею ограниченный опыт работы с Xilinx в ISE 14.1 (Spartan 6), ActiveHDL + PlanAhead (Virtex 6 LX). HDL: Verilog/SystemVerilog (пишу); VHDL (читаю). Симулятор: ModelSim. Интерфейсы IP: Avalon-MM/ST, Avalon Verification Suite (BFM). Soft-CPU: Nios II (без MMU и внешней памяти). Опыт работы с синтезом RTL из Matlab (DSPBuilder) для трактов ЦОС РЛС в режиме Super-sample. Имеется начальный опыт работы с трансиверами до 6,25 Gbps и PCIe HIP Gen 1 на Arria II GX. Опыт разработки интерфейсов управления модулями в Quartus SystemConsole (с помощью Dashboard). MATLAB: Разработка BSP для обеспечения доступа разработчиков алгоритмов к аппаратной части модулей ЦОС (захват сигнала, управление режимами) с помощью Instrument Control Toolbox (через TCP/UDP), FPGA Verification Toolbox (FPGA Data Capture, aximaster). Управление измерительными приборами (генераторы СВЧ-сигналов, источники питания, электронные нагрузки) через SCPI/LAN для автоматизации измерений ОС: Опытный пользователь Linux (основной дистрибутив с 2006 г. – Gentoo). Опыт работы в QNX. Опыт программирования в среде Linux на C (file I/O, сокеты, pthread, GTK+, libftdi, примитивные драйверы PCI). Опыт работы в Cygwin. Контроль версий, планирование: SVN, Redmine, Microsoft Project Микроконтроллеры: AVR, ARM M0-M4 (STM32F4, Миландр). GNU Toolchain (AVR, ARM), OpenOCD. САПР ПП: PCAD-2006, Altium Designer Измерительное оборудование: широкополосные осциллографы (до 2,5 ГГц), в т.ч. с активными дифпробниками, логические анализаторы, активные нагрузки, СВЧ КИП Rohde&Schwarz, Agilent/Keysight, Anritsu (анализаторы спектра, генераторы, мощемеры, VNA). Резюме: https://hh.ru/resume/3594972dff062310550039ed1f726839505865 Предпочтительный способ связи: andrey.v.novikov гав ya.ru.
  5. Добрый день. А можете .qsys выложить? Никогда с таким поведением не сталкивался. Ради интереса собрал count_binary из туториала на 17.1 с PLL внутри Qsys (я обычно ставлю его в toplevel) - все работает нормально.
  6. Синтезатор имитирует tristate buf с помощью обычного мультиплексора с условием. Коллега имел в виду, что конкретный мультиплексор на tristate buf описать проще и нагляднее.
  7. А Вы хотите реализовать какую-то логику или исследовать поведение симулятора? Если первое, то не очень понятно, какого результата Вы хотите добиться. Похоже на попытку описать асинхронный мультивибратор. ( :
  8. Потратил несколько часов в попытках установить Modelsim 10.2c SE в современном 64-битном Linux (multilib). Прилагаю решение на случай, если кто-то захочет поставить относительно старую версию Modelsim SE. При запуске install.linux, установщик, написанный на Java падает с такой ошибкой: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xf7eee475, pid=13257, tid=4144433984 # # JRE version: 6.0_21-b06 # Java VM: Java HotSpot(TM) Server VM (17.0-b16 mixed mode linux-x86 ) # Problematic frame: # C [libpthread.so.0+0xd475] pthread_cond_wait+0x95 # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # Установщик идет со своей JRE, причем сами jar-ы на 7.x/8.x-версиях JRE уже не запускаются. Пляски с бубном (исследование пожеланий JRE с помощью ldd и strace, подсовывание старых версий библиотек через LD_PRELOAD) быстрого результата не принесли, в интернетах сведений о такой ошибки также не нашлось. В итоге было найдено следующее решение: заменяем 32-битную JRE, идущую в комплекте установщика, на 64-битную версию. 1. Ищем и скачиваем jre-6u45-linux-x64.bin. 2. Распаковываем: chmod +x jre-6u45-linux-x64.bin ./jre-6u45-linux-x64.bin 3. Копируем содержимое только что распакованной папки jre1.6.0_45 в папку ~/mgc/install.ixl/JRE (ее нам создал install.linux). 4. Запускаем установщик вручную: ~/mgc/install.ixl/mgc_install 5. Подсказываем установщику путь к modelsim-base.mis и другим .mis-файлам. Остальные телодвижения со старыми версиями 32-битных библиотек для запуска самого vsim остаются в силе.
  9. Можно проверить: 1. Power sequencing / ramp-up между двумя платами. 2. Номинал VCCPGM - у всех ли микросхем в JTAG-цепочке и на разъеме для программатора он одинаковый? 3. Сравнить шум/наводки на TDI/TDO между рабочей и нерабочей платой. Какая схема конфигурации у Arria 10?
  10. Тогда м.б. у Вас ModelSim-Intel FPGA Edition, которая поставилась вместе с Quartus? Тогда все библиотеки уже в него добавлены (см. вкладку Libraries в главном окне Modelsim). Чтобы запустить симуляцию проекта с LPM-функциями, подключите библиотеку altera_mf_ver: Simulate > Start Simulation > Вкладка Libraries > Add.
  11. 1. В Quartus II Handbook Volume 1: Design and Synthesis есть раздел Inferring Memory Functions from HDL Code, где подробно описывается, как нужно описать память желаемого типа, чтобы Quartus ее обнаружил, в т.ч. случаи, когда он не может расположить ее на BRAM. 2. У "почему не получается" факторов много. Приведите код или проект, чтобы кто-то мог посмотреть и подсказать. Может, у Вас Stratix V, где нет M9K. ( : 3. Добавить библиотеки мегафункций и моделей аппаратных блоков в Modelsim очень просто: В Quartus заходим Tools > Launch Simulation Library Compiler Выбираем Modelsim и папку с vsim.exe (...\modeltech64_10.2c\win64) Выбираем семейства (они нужны, если соберетесь симулировать gate-level или работать с трансиверами и др. аппаратными блоками; для ALTPLL они не нужны) Выбираем Verilog Выбираем Output directory Жмем Start Compilation После окончания компиляции в выбранной Output directory будет лежать modelsim.ini. Нужно скопировать строчки с библиотеками (altera_ver и другие) в секцию [Library] файлов ...\modeltech64_10.2c\modeltech.ini и в файл проекта (.mpf). В последующем, библиотеки Альтеры будут присутствовать в каждом новом проекте, т.к. каждый раз при создании проекта они копируются из ...\modeltech64_10.2c\modeltech.ini. 4. Синтез Quartus поддерживает инициализацию памяти с помощью $readmemb и $readmemh.
  12. Последняя версия Quartus II, где поддерживается FLEX/ACEX - 9.0 SP2. https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/rn/rn_qts_90sp2_dev_support.pdf:
  13. Опять я пришел только к концу обсуждения. ( : Вставлю пару вещей: 1. Используем AD9739 с выходом как на Figure 65 с TC1-33-75G+. Полет нормальный. 2. Коли есть (относительно) широкополосный осциллограф, лучше смотреть сигнал не через щуп, а напрямую - кабелем SMA-BNC, переключив осциллограф на 50-омный вход. 2.1. Нужен делитель ("тройник") или аттенюатор? 3. Функция FFT в осциллографах в случае ВЧ-измерений работает больше как "показометр" из-за низкого разрешения (см. https://electronics.stackexchange.com/questions/50581/oscilloscope-with-fft-or-a-spectrum-analyzer/284801#284801) - можно пропустить важные частотные составляющие, да и шум не оценить. Если есть доступ к анализатору спектра, лучше пользоваться им. А почему эта тема в ветке SoC?
  14. Насколько я помню, для серии ХС была фирменная утилита, которая в битстриме меняла местами выводы, т.к. была разница между разваркой IOB (блоков ввода-вывода) на ноги штатного QFP и металлокерамике в отечественной версии.
  15. Если речь именно про доступ к внутренним wire/reg модулей дизайна из тестбенча, то, как заметил misyachniy, нет ничего лучше обращения к ним прямо из тестбенча вглубь иерархии, как указано выше. Таким образом к сигналам можно обращаться из блоков always, initial, тасков и системных функций в тестбенче.
  16. StewartLittle уже ответил по существу вопроса, поэтому осталось уточнить - что хотите симулировать? Если простой RTL плюс минимальные IP-ядра (PLL, LPM), то поддержка конкретного семейства в Modelsim и вовсе не нужна, т.к. модели поведенческие. Если это воронежские ПЛИС, то симулировать, насколько я понимаю, будете простой RTL. Синтез, кстати, должен быть под какой-то старый Stratix (если я правильно помню тамошний workflow). Домой не придут (случаев пока не наблюдалось), а в контору могут как минимум написать письмо из серии "не купите лицензию - передадим куда следует" (было такое с AWR Microwave Office). Если инициатива лично Ваша - могут быть последствия. От большинства проблем спасает доступ в интернет через прокси с паролем.
  17. Судя по объему, видимо, собираете на серверном железе. Если оставить за скобками партиции, то большинство алгоритмов Fitter-а однопоточные, поэтому тут важна производительность на одно ядро, а не число ядер. Поэтому для работы в Quartus более подходит "игровой" ПК с быстрым процессором на высокой частоте, нежели сервер с большим числом более медленных ядер. Это актуально для сред Xilinx, Altera, а также для симуляции в Modelsim. Quartus Handbook: Reducing Compilation Time (https://www.intel.cn/content/dam/altera-www/global/zh_CN/pdfs/literature/hb/qts/qts_qii52022.pdf): https://forums.xilinx.com/t5/Simulation-and-Verification/Benchmark-gt-which-CPU-i7-or-Xeon/td-p/359461 Для сравнения можно взять бенчмарки процессоров по одному потоку: https://www.cpubenchmark.net/singleThread.html При сравнении можно оценивать Clock Speed в режиме "Turbo".
  18. Stratix V, кстати, поддерживает Configure via Protocol через PCIe. USB-Blaster, скорее всего, чисто для отладки.
  19. Ув. RobFPGA уже ответил на основной вопрос топикстартера, я уточню пару моментов. Как уточняет new123, в качестве варианта 2 может выступать любое устройство, способное изобразить простой параллельный протокол программирования, в т.ч. микросхемы USB>Parallel Bus/Bitbang типа Cypress FX2, FT2232H и другие. Сам бы предпочел иметь на плате небольшой ARM, который бы обслуживал загрузку/обновление прошивки FPGA, контроль работоспособности, восстановление после сбоев, контроль питания (особенно, если FPGA дорогие и решили поставить умные VRM с PMBus или даже SBC), обеспечения температурного режима и т.д. В идеале иметь отдельный узкий канал связи, чтобы контроллер в случае сбоя мог сообщить о причинах. Если брать стандартные решения, можно рассмотреть IPMB/IPMI-over-LAN. В этом случае появляется возможность решить типичные вопросы удаленно - перепрошить, поднять пороги срабатывания токовой защиты и т.д. Если уточните, с каким именно семейством FPGA и интерфейсами предстоит работа, можно обсудить варианты более предметно. Для варианта 1 в случае FPGA от Altera в связке с EPCS/EPCQ, думаю, проще работать через контроллер удаленного обновления (IP-ядро altera_remote_update) через Nios/SoC, либо напрямую: Remote Update Intel FPGA IP User Guide: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_altremote.pdf AN 603: Active Serial Remote System Upgrade Reference Design:https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an603.pdf
  20. После многочисленных переустановок удалось выяснить, что Quartus Prime Standard 17.0 отлично работает с Matlab R2017b, если при установке DSP Builder не устанавливать его в Matlab, т.к. Simulink начинает падать в Examples, также почему-то библиотеки Standard и Advanced Blockset не дают установить параметры для блоков. DSP Builder можно запускать с помощью: %QUARTUS_ROOT%\dspba\dsp_builder.bat -m <matlab_path>\bin\win64\matlab.exe После выполнения будет запущен Matlab. Далее запускаем Simulink и добавляем в свой проект блоки из DSP Builder или смотрим примеры.
  21. Наконец-то откопал (подальше положешь - поближе возьмешь) пример, где показана работа напрямую через JTAG API Quartus-а: называется jtag_atlantic. Примеры: https://fpgawiki.intel.com/wiki/High_Speed_Image_Download_Demo jtag_atlantic_terminal.zip jtag_atlantic_test.zip
  22. Думаю, Вам куда-то вот сюда копать нужно: http://idle-logic.com/2012/04/15/talking-to-the-de0-nano-using-the-virtual-jtag-interface/ Был еще вариант с использованием родного API через экспорт квартусовских .dll-ок для доступа напрямую к JTAG-у, лежало на почившем в бозе nios-wiki. Наименее затратный способ - это System Console. Можно накидать в Qsys простую систему с Avalon-MM JTAG Master, работать с шиной через Tcl и навернуть графический интерфейс (dashboard). Он простой, но все нужные виджеты есть. На нем, кстати, написан External Memory Interface Toolkit и Transceiver Toolkit. https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/wp/wp-01170-system-console.pdf Мы такую штуку сделали для регулировщиков, чтобы могли подергать ногами, проверить интерфейсы, посмотреть реакцию платы на внешние раздражители.
  23. Добрый день. Решили поиграться с DSP Builder для модуля на Stratix IV GX. Есть путаница с версиями: Quartus Prime Pro 18.0/18.1 поддерживает только 10-е семейство и Matlab 2017b (http://fpgasoftware.intel.com/requirements/18.1/). Quartus Prime Standard 18.0/18.1 поддерживает в т.ч. Stratix IV GX и Matlab 2013a. Требование версии Standard странно, т.к. последний Quartus до разделения на Pro/Standard (16.1) и поддерживал 2015а. Какая на данный момент самая "свежая" работоспособная связка версий Matlab - Quartus Prime Standard для работы с DSP Builder? Заранее спасибо.
  24. Добрый день. Больше половины модулей для военной техники у нас выполнены в конструктиве БНК ПРОСЭМ (печатная плата в литой алюминиевой рамке) и выглядят примерно так: Наименования для модулей у нас выбираются по рассыпающемуся в руках РДВ 5.8548-79 "Модули первого и второго уровней. Классификация и условные обозначения", который был давным-давно отменен, но за неимением лучшего наши продолжают им пользоваться. Итоговое название модуля выглядит, например, так: М-2К.ХЛ.90, где М-2К - второй уровень БНК типа "К" с одинарной шириной передней панели, ХЛ - "формирователь логических сигналов" по классификации из вышеуказанного РДВ, 90 - обозначение конкретного вида модуля. В указанном РДВ есть упоминание БНК конструктивов "А" и "К". К ним наш НК каким-то образом добавил еще и "Е" (Евромеханика), таким образом аналогичный модуль 6U для ISA/VME/CompactPCI у нас зовется М-2Е6U.ХЛ.90. Имеются следующие вопросы к коллективному разуму. 1. Наименование стандарта верхнего уровня для РДВ 5.8548-79, где описаны БНК типов "А" и "К". В самом РДВ есть ссылка только на механико-климатические ГОСТы. 2. Есть ли какие-то современные документы (желательно ГОСТ РВ), посвященные наименованию электронных модулей и приборов для ВВТ? 3. Как у вас (на предприятиях ВПК) организован этот вопрос? Заранее спасибо. P.S. Поверхностный поиск по форуму и в интернете результатов не дал. В НК старая гвардия либо уволилась, либо вовсе покинула наш бренный мир, а от новых толку нет.
  25. Добрый день. Ищем ручной или полуавтоматический установщик разъемов пресс-фит по IEC 61076-4-101 (CompactPCI, VME), PICMG 2.11 Compact Power Connector и другие. Обратились в Осатек, там сказали, что пресс-фитом не занимаются. Установщики - товар редкий, поэтому пока в голову приходит только запросить через авторизированных дистрибьюторов того же Harting, TE и других. Коллеги, поделитесь, кто что пользует и где было куплено. :)
×
×
  • Создать...