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

    

Kopart

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

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Знающий

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Spb
  1. Цитата(Realking @ Nov 1 2017, 10:12) но вот EMAC не запускается, запускает если только при включении платы я удерживаю сброс в течении 1-3 сек на nRST FPGA (нажатием кнопки сброс) Предположение: у многих PHY есть требование на длительность сигнала ресет. Такая задержка есть во всех примерах с использованием ядра TSE. Ваш nRST FPGA напрямую подключен к пину PHY reset?
  2. Цитата(Doka @ Nov 3 2017, 13:10) идея использования нескольких частот выглядит не очень нельзя ли отказаться от clk, а считать всё на clk_x2 ? А где надо получать сигнал разрешения счёта enable/valid локально из clk_x2? Этот вариант с одной стороны выглядит проще, но 1. приведет к лишней дополнительной логике для enable-сигналов. (При работе на основной частоте можно много где обойтись без них, что не увеличит тайминг пути) 2. нужно будет на все такие пути прописывать кратный multicycle, тк (скорей всего) основная логика и так упирается в основную частоту. Цитата(Shivers @ Nov 3 2017, 14:22) 1. Необязательно. Есть три варианта: А) первый клок входной, второй берется с PLL В) Оба клока берутся с PLL С) Первый клок с PLL, а второй получен делением из первого клока. А я бы поставил на вариант В. По сравнению с С, в нем задержки двух выходов pll смогут автоматически подстроится оптимальным образом для двух клоков деревьев. А в варианте С нет возможности так гибко двигать задержкой клока после делителя (особенно с учетом требования синхронной передачи данных в обе стороны между клоковыми доменами).
  3. Напишите в этой теме, если кто столкнется с подобным или у кого с DDR3 HiLO платой все работает правильно. Пока нашел такое решение: Заменил плату HiLO на DDR4, перенастроил IP Arria10 EMI и пины не меняя остальную логику проекта. В итоге сразу заработал правильно на 1066МГЦ с DDR4. Мне не принципиален тип внешней памяти и достаточно объема DDR4 на плате HiLO.
  4. Arria 10 GX FPGA Development Kit (DevKit Terasic/Intel) Quartus 17.0.2 Проблемное IP в Qsys - Arria 10 EMI (External memory interfaces) при подключении DDR3 HILO Наблюдаю по факту и в SignalTap (по клоку emif_usr_clk), что если повторять вычитывание 32-битных данных из DDR3-памяти, то может вычитаться неправильное значение из памяти. Те просто несколько раз вычитываем данные по одним и тем же адресам и видим в SignalTap на выходе контроллера emi|amm_readdata_0[511..0], что некоторые биты а 512-битном слове могут менятся при чтении. (При этом в памяти данные не меняются, наличие/отсутствие ECC никак не сказывается). Это наблюдается и при Memory clock 1066.66МГц и при 533.33 МГц (ref clock 133.33МГц). Нарушений по таймингам при сборке всего проекта нет. Для настройки конфигурации контроллера EMI используется preset для DevKit Уже перепроверил много вариантов, но так и не смог понять по какой причине Hard-контроллер памяти Arria10 может выдавать частично неправильные данные. Кто сталкивался?
  5. Цитата(Mad_max @ Sep 16 2017, 11:26) Позанудствую немного. В ряде стандартов и рекомендаций говориться, что для описания комбинаторики не стоит использовать if else конструкцию, либо case, либо через ?. Аргумент такой, что можно получить различный результат моделирования RTL описания и netlist. Тут все становится понятно и логично, когда с таким столкнешься и поищешь способы исправления "таких различий". Это из-за специфики нетлиста ASIC и Х-состояния. Здесь описано почему такая рекомендация не позволяет "выстрелить себе в ногу" лишний раз http://www.verilogpro.com/systemverilog-ve...mism-pessimism/ ЦитатаA different way to address if…else X optimism is with the conditional operator: condition ? expression_if_true : expression_if_false Но никто не будет всё переписывать только через "condition ?", поэтому в VCS добавлена отдельная опция xprop=tmerge/xmerge. Она позволяет избавится от различий при симуляции описании содержащих if else. Но есть глюки и заметно снижает скорость симуляции. Здесь подробнее про нее написано: http://www.verilogpro.com/x-propagation-with-vcs-xprop/
  6. Цитата(alexadmin @ May 15 2017, 16:32) Открыть Implemented design и запустить timing report - он его выполнит на базе новых констрэйнов, насколько я помню. В этом случае он спрашивает открыть устаревший дизайн. И, по все видимости, открывает со старым файлом, либо предлагает перекомпилировать.
  7. В TimeQuest Квартуса есть возможность обновить sdc и применить новые настройки для анализа таймингов. Не очень знаком с Vivado, но не нашел такой возможности в GUI, кроме как при пересинтезе. Или какой tcl-командой это делается?
  8. Цитата(identity @ May 1 2017, 02:47) Я установил себе quartus 13.1 web edition, не подскажете как сделать прошивку для пзу что бы проект работал без подключения к компу, проект был сделан в nios, я так понимаю для этого нужен кряк, что бы сделать sof файл не time limited, плата на кристале cyclone v gx, может есть ещё какие то пути решения проблемы. Либо не использовать версию nios (и возможно другие IP с лицензией), либо "найти" лицензию. Тут есть темы и кто может помочь с этим. А когда будет не time limited sof - можно будет сконвертировать его в jic в квартусе.
  9. Цитата(warrior-2001 @ Apr 24 2017, 09:07) Приведите полное наименование микросхем, участвовавших в тесте. В примере указана ES микросхема 10AX115N3F40E2SG Дабы исключить тайминги ES проверил пример с индастриал микросхемой, установленной на поставляемом DevKit'e (10AX115S2F45I1SG). Кардинально ситуация не изменилась - улучшение тайминга сопоставимо с более быстрым speedgrade внутри семейства. Код6.134;   1.761; FF; uTco; 2 ; EC_X70_Y88_N1;; g_ram_test_engine[0].ram_test_engine|mem|altsyncram_component|auto_generated|ram_block1a1|portbd ataout[0] Блок памяти можно сделать двух типов: когда задержка на выборку данных входит во входной путь адреса или когда в выходной путь данных. Те триггер может защелкивать либо выходные данные, либо входной адрес. Такая маленькая задержка в этом в пути в StratixV IMHO говорит только об одном, что на выходе стоит триггер, который и разрывает путь чтения данных. *Для ASIC можно сгенерировать такие блоки памяти в которых будет разные тайминги для разных портов. Один будет ориентирован на записи (уменьшен setup по входам), а другой на чтение (меньше setup по выходу данных)
  10. Цитата(Flip-fl0p @ Feb 17 2017, 11:39) Вот сейчас и тыкаюсь. Пытаюсь понять с чего начать. Пытаюсь понять как работает инструмент Qusys . Поскольку, как я понял, это основной инструмент для разработки FPGA <==> HPS Почитайте статьи des333 на Хабре про SoC Altera (в частности конфигурирование шин между fpga и HPS). По шине fpga2hps можно залезть по Avalon в любой IP блок HPS (UART, EMAC, ...) и управлять им напрямую. Единственное, что может понадобится "разблокировать внешний доступ к IP-блоку HPS", тк он может после ресета быть залочен "только для HPS" или отключен.
  11. Цитата(RobFPGA @ Jan 11 2017, 21:22) Сейчас же суть глюка в том что в версии QuestaSim с 10.4c при симуляции я вижу на входе d_in модуля i_modB Z!!! состояние на всех битах за исключением бита 0. А на шине d_w при этом все как надо. 8-(). Соответственно симуляция не проходит. При этом ни ошибок компиляции ни ошибок elaboration при запуске нет!. А вы при компиляции используете один Multiple File Compilation Unit (-mfcu)?
  12. Цитата(Flip-fl0p @ Jan 13 2017, 10:33) Вроде разобрался. Чтобы изменения вошли в силу, необходим полный перезапуск Modelsim. Правда я так и не понял почему изменения в файле Modelsim.ini, созданного в папке проекта, никак не влияли... После удаления этого файла, и правки "главного" файла Modelsim.ini, расположенного в папке с установленным Modelsim, всё заработало как надо. Во-первых он с маленькой буквы (modelsim.ini), хотя в винде это и не важно. Не использовал .mpf, но при запуске vsim - используется modelsim.ini из папки запуска, если он там есть. (а иначе копируется туда основной) Думаю, что имеет значение из какой папки запускается, а не где лежит .mpf
  13. Цитата(Vacik @ Jan 10 2017, 16:19) Подскажите, что делать. Код .BASE_ADDR(16'h2000+i[15:0]*16'd16)
  14. Цитата(Doka @ Oct 26 2016, 14:53) можно скрин где это включается? не могу найти такой птички в настройках(( PS: Vbox 5.0.8 Это не в настройках. Это отдельной командой: КодVBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1
  15. Цитата(_Ivan_33 @ Oct 10 2016, 11:11) Phase jump. Не думаю, что не проверяли. Это значит заход и выход в пределах дельта-цикла симуляции? (Например через х для полного case) Я предположил вариант, который укажет, что этот default невозможен.