Jump to content

    

maggot

Участник
  • Content Count

    11
  • Joined

  • Last visited

Community Reputation

0 Обычный
  1. Да, все рекомендации по подмене libPortability.dll на libPortabilityNOSH.dll и замене .bat файла я выполнил. И это решило большую часть проблем, с которыми я сталкивался. Но вот именно на проблему с Chipscope это не решило, увы. У меня вообще сложилось впечатление, что именно такая проблема - достаточно редкая, и зависит от какого-то неудачного сочетания оборудования. Так что как появится время - поставлю виртуалку с win 7. А эту спец версию где-то взять можно? В данном проекте у меня как раз спартан 6, но вот про то, что для win10 есть специальная версия chipscope, я не знал. Update: да, по ссылке выше увидел упоминание про версию для спартан 6, посмотрю
  2. Да, спасибо, я пришел к такому же выводу - ошибку jre побеждать можно долго. Так что пока отложил до лучших времен.
  3. Да, в краш-отчетах показано, что ломается JRE. В Xilinx используется 6 версия (сейчас, как я понял актуальная 8) - но вот средства "проапгрейдить" этот jre в либах Xilinx'a я не нашел, а накатанная поверх более старшая 6 версия ожидаемо не работает. Видимо, проще поставить виртуалку с 7 чем это все победить :-)
  4. Всем добрый вечер. Собственно проблема - есть проект в ISE 14.7. В него добавлено ядро Chipscope. После запуска Chipscope Analyzer я пытаюсь импортировать описание .cdc, но при попытке просто выбрать файл Analyzer просто молча закрывается. Система Windows 10 x64, ISE 14.7. Может кто сталкивался с таким и сможет подсказать... Те рекомендации, что были- для сращивания ISE и Platform Cable c Windows 10 я сделал. ISE работает, программатор плисы видит, а вот с этим открытием файлов - беда прямо.
  5. Добрый день, уважаемые форумчане. У меня имеется следующая связка - в FPGA (Kintex7) IP core 'Tri-Mode Ethernet MAC' связана по внутреннему GMII c IP core '1000BASE-X PCS/PMA or SGMII' в режиме SGMII bridge, c AN. Вывод из FPGA через GTX трансиверы. Выводится SGMII. Далее стоит PHY в режиме pass-throw, т.е. его можно не учитывать, и далее SFP. SFP на медь 1000/100/10. Соответственно в SFP стоит еще один PHY - Marvel 88E1111, который наружу, в сторону MAC отдает SGMII. Канал на 1Gb работает, пакеты проходят. Среда разработки - Xilinx ISE. Вопрос состоит в настройке всего этого хозяйства для работы на 100Mb. Дело в том, что по документации IP core '1000BASE-X PCS/PMA or SGMII' позволяет производить настройку двумя способами - по MDIO и через конфигурационные регистры(вектора). И судя по описанию регистров MDIO, эта ip core работает только на 1000, не поддерживая 10/100. При этом в описании настройки через конфигурационный вектор есть возможность выбрать скорость 1000/100/10. Но положительного эффекта такая настройка не дает. При переводе 'Tri-Mode Ethernet MAC' в режим 100 или 10Mb на целевом ПК каждый байт отправленного пакета повторяется 10 или 100 раз соответственно. Хотелось бы узнать, может кто сталкивался с такой задачей - передача с помощью этих IP core eth 10/100 по SGMII и подскажет, как запустить его в таком режиме, ну или что можно почитать по поводу... С уважением.
  6. krux спасибо за развернутый ответ. Про CAM и TCAM я знаю, но хотел начать с САМ, как более простого варианта. Рассчитывать хеш мне предложили сразу, но возможность коллизий я примерно оценил как высокую, и решил хеш не использовать. В итоге посмотрев теорию построения САМ, я его реализовал на BRAM. Архитектура мне позволяла выдавать данные не такт-в-такт, так что путем разбиения входного вектора на байты, с независимыми таблицами для каждого из них, я добился значительного снижения занимаемого объема RAM. В моем случае, например, если бы реализовывалась полная таблица САМ с вектором в 32 бита и таблицей на 256 правил, то необходимый объем был бы 256*2^32 - это под Тбит, видимо :-) Разбив входной вектор на 4 байта расход памяти уменьшился до 4*256*2^8 - это всего 262144 бита, даже по меркам среднего кристалла капля в море. Но понятно, что такой подход не реализуется при требовании выдавать результат на-гора за один такт. Ну и в качестве бонуса, при специальной предварительной подготовке таблиц САМ появляется возможность реализовать поиск с маской - тот самый TCAM, не увеличивая расход памяти. Так что свою задачу я решил, всем еще раз спасибо за участие :cheers:
  7. День добрый. Подскажите, пожалуйста, как сейчас в Altera Quartus Prime создать ассоциативную память - CAM. В документах, что я нашел указывается Megafunction altcam, но все это относится к просто Quartus'у. В текущем Quartus Prime я не могу найти такой функции - подскажите, пожалуйста, где искать. Ну или где можно поискать примерный алгоритм реализации...
  8. AndreiUS, спасибо. Со своей проблемой я разобрался примерно по вашему сценарию. Предварительно выяснил, что попытка использовать TBI, как и LVDS - не самый удачный ход. В итоге создал два ядра для SGMII bridge и в одном из них закомментировал относящуюся к GTXE_COMMON, Ну и сигналы тактирования соответственно пробросил с оставшегося варианта ядра. Сложность в основном заключалась в том, что ISE 14,7 не дает запускать внутреннее ip core настройки трансиверов, которое создается вместе с ядром SGMII-bridge. И в том случае, если потребуется для квада трансиверов задействовать не QUAD PLL, а использовать PLL поканальные, придется эти ядра модернизировать врукопашную куда значительней. Но в моем случае задача решена, AndreiUS, RobFPGA спасибо за участие
  9. RobFPGA спасибо. Попробую, я пытаюсь подменять сгенерированные трансиверы своими, но у них несколько разные интерфейсы и набор модулей. А вот по поводу TBI я не задумывался...
  10. Добрый день. Возникли у меня затруднения, буду рад любым подсказкам. Имеется некое устройство с кристаллом Xilinx Kintex7. В ПЛИС используется стандартное ядро ip core Ethernet 1000BASE-X PCS/PMA or SGMII в режиме моста GMII <-> SGMII. В состав этого ip core включена еще одна ip core для настройки трансиверов GTX. Проблема заключается в том, что когда в проекте используется одно такое ядро - все работает, проект собирается и т.д. Но мне нужно использовать 4 копии такого ядра для работы через четыре пары трансиверов, расположенных в одном кваде. И при генерации проекта с раскопированными возникает ошибка. Выглядит все так, будто каждый канал пытается синтезировать общую QUAD PLL для генерации рабочей частоты, что естественно не выходит, т.к. все каналы расположены в одном кваде. И понятно, что для перенастройки генерации рабочей частоты с общего quad pll на раздельный channel pll нужно использовать то самое внутреннее сгенерированное ip core. И вот тут самое сложное. Для разработки используется ISE 14.7. При попытке запустить регенерацию ядра ISE выдает ошибку : "ERROR: could not find existing IP in project SGMII_gtwizard.cgc. Core Generator regen command failed." И соответственно перенастроить трансиверы не получается. Буду благодарен за любую подсказку, куда копать -то :-)