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

    

hdl_student

Свой
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о hdl_student

  • Звание
    Частый гость
  • День рождения 13.09.1987

Контакты

  • Сайт
    http://rombik.su
  • ICQ
    0

Информация

  • Город
    Москва

Посетители профиля

2 742 просмотра профиля
  1. Добрый день. А можете .qsys выложить? Никогда с таким поведением не сталкивался. Ради интереса собрал count_binary из туториала на 17.1 с PLL внутри Qsys (я обычно ставлю его в toplevel) - все работает нормально.
  2. Синтезатор имитирует tristate buf с помощью обычного мультиплексора с условием. Коллега имел в виду, что конкретный мультиплексор на tristate buf описать проще и нагляднее.
  3. А Вы хотите реализовать какую-то логику или исследовать поведение симулятора? Если первое, то не очень понятно, какого результата Вы хотите добиться. Похоже на попытку описать асинхронный мультивибратор. ( :
  4. Потратил несколько часов в попытках установить 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 остаются в силе.
  5. Можно проверить: 1. Power sequencing / ramp-up между двумя платами. 2. Номинал VCCPGM - у всех ли микросхем в JTAG-цепочке и на разъеме для программатора он одинаковый? 3. Сравнить шум/наводки на TDI/TDO между рабочей и нерабочей платой. Какая схема конфигурации у Arria 10?
  6. Тогда м.б. у Вас ModelSim-Intel FPGA Edition, которая поставилась вместе с Quartus? Тогда все библиотеки уже в него добавлены (см. вкладку Libraries в главном окне Modelsim). Чтобы запустить симуляцию проекта с LPM-функциями, подключите библиотеку altera_mf_ver: Simulate > Start Simulation > Вкладка Libraries > Add.
  7. 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.
  8. Последняя версия 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:
  9. Опять я пришел только к концу обсуждения. ( : Вставлю пару вещей: 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?
  10. Насколько я помню, для серии ХС была фирменная утилита, которая в битстриме меняла местами выводы, т.к. была разница между разваркой IOB (блоков ввода-вывода) на ноги штатного QFP и металлокерамике в отечественной версии.
  11. Если речь именно про доступ к внутренним wire/reg модулей дизайна из тестбенча, то, как заметил misyachniy, нет ничего лучше обращения к ним прямо из тестбенча вглубь иерархии, как указано выше. Таким образом к сигналам можно обращаться из блоков always, initial, тасков и системных функций в тестбенче.
  12. StewartLittle уже ответил по существу вопроса, поэтому осталось уточнить - что хотите симулировать? Если простой RTL плюс минимальные IP-ядра (PLL, LPM), то поддержка конкретного семейства в Modelsim и вовсе не нужна, т.к. модели поведенческие. Если это воронежские ПЛИС, то симулировать, насколько я понимаю, будете простой RTL. Синтез, кстати, должен быть под какой-то старый Stratix (если я правильно помню тамошний workflow). Домой не придут (случаев пока не наблюдалось), а в контору могут как минимум написать письмо из серии "не купите лицензию - передадим куда следует" (было такое с AWR Microwave Office). Если инициатива лично Ваша - могут быть последствия. От большинства проблем спасает доступ в интернет через прокси с паролем.
  13. Судя по объему, видимо, собираете на серверном железе. Если оставить за скобками партиции, то большинство алгоритмов 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".
  14. Stratix V, кстати, поддерживает Configure via Protocol через PCIe. USB-Blaster, скорее всего, чисто для отладки.
  15. Ув. 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