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

evsh

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник

Информация

  • Город
    Ленинград
  1. Цитата(silantis @ Feb 25 2015, 20:25) Вполне может оказаться что Вы так и не решите эту проблему. Знакомые ребята заложились на Kintex7 и не смогли надежно запустить SATA, даже в усеченном виде, с поддержкой только перекачки данных. Когда стали разбираться и задавать вопросы Xilinx, те тупо открестились что они нигде не сказали, что можно реализовать SATA на Xilinx. И даже на сайте Xilinx нет родных корок SATA, можно найти корку от третьестороннего разработчика, в спецификации есть пунктик "SATA spec validated NO". Я бы постарался не связываться с Kintex и вообще с Xilinx, у них там где то глубоко, не помню в чем, есть засада с трансиверами, которая не позволяет реализовать SATA. Переходите на Altera, там вроде ситуация намного лучше. Не проверял, но навскидку они явно рекламируют свои IPCore SATA. "Переходи на тёмную сторону, у нас есть печеньки!" (с) У нас SATA отлично работает в Kintex7. Большая часть проблем - собственные ляпы и особенности работы отдельных моделей винчестеров. Но это уже уровень транспортника, к кристаллу не имеет отношения. С физикой вопросов не было.
  2. Кодsignal led_counter    : std_logic_vector(24 downto 0); begin LED_CNTR : process (RESET, CLK) begin if RESET = '1' then     led_counter <= (others => '0'); elsif rising_edge(CLK) then     led_counter <= led_counter + '1'; end if; end process; LED_OREG : process (RESET, CLK) begin if RESET = '1' then     USER_LED <= '0'; elsif rising_edge(CLK) then     USER_LED <= led_counter(24); end if; end process;
  3. Не вижу решительно никакого смысла в Evaluation на начальном этапе без, даже минимальной, цели. Нужно изучить схемотехнику ПЛИС, понять какие возможности ПЛИСы предоставляют. Изучить HDL, понять связь между конструкциями языка и реализацией в ПЛИС. Разобраться с пакетами ПО: построением проекта, моделированием, синтезом, созданием constrain'ов, связь с Матлабом. Вот когда будут идеи, что захочется реализовать, хотя бы из какой области: DSP, видео, звук, интерфейсы и т.д. - вот тогда и стоит обратить внимание на платы. Уже будет понятно, сколько хотя бы примерно ресурсов требуется, какие аппаратные ядра нужны, какая периферия: LCD экран, DVI, SATA, PCIe, сколько и какой внешней памяти, ЦАП, АЦП (или возможность поставить модуль в формате FMC), гигабитные трансиверы (и какого типа порты), USB, многое другое. Иначе, с большой вероятностью, выкинутые деньги. Я бы их отложил на оригинальный JTAG кабель - пользы в будущем больше.
  4. http://www.xilinx.com/support/documentatio...uides/ug380.pdf Вроде всё понятно расписано.
  5. Цитата(Boris_TS @ Jul 2 2012, 08:46) а в Virtex-6 PreSet вообще пропал. Не совсем так. Если раньше было доступно два асинхронных входа одновременно: Preset и Clear, то в V6 остался только один на выбор. Поэтому, если в старом коде используются два асинхронных сигнала (и сброс и установка), это порождает комбинаторную петлю, с не всегда предсказуемым результатом. Как в плане корректности ковременных констрэйнов, так и в логике работы реальной схемы. Маппер и синтезатор об этом предупреждают. От себя могу сказать, как действовал бы сам: 0. Внимательно прочитал все сообщения синтеза, трансляции и рутера для старого проекта. Вспомнил где были проблемы, если подставляли костыли, то где и какие. 1. Прочитал свежие: Constraints Guide, XST User Guide for Virtex-6, Spartan-6, and 7 Series Devices, Synthesis and Simulation Design Guide, Virtex-6 Libraries Guide for HDL Designs. 2. Внимательно прочитал все сообщения синтеза, трансляции и рутера для нового проекта. 3. Если для синтеза используется Synplify, проверил, не остались ли включены по умолчанию опции "Autoconstraint" и "Write Vendor Constraint File". 4. Обратил внимание на IP и примитивы, используемые в схеме, особенно: память, тактовые буферы и генераторы (DCM, PLL), регистры (на предмет вышеуказанных особенностей), IODELAY, заменил на подходящие именно для V6. 5. Просмотрел временные констрэйны: всё ли задано, включая multipass, не перегружены ли sdc/ucf дублирующими констрэйнами и всякими натяжками (старыми костылями) - это может здорово замедлять и ухудшать трассировку. Для рутеров современных кристаллов сейчас достаточно указывать лишь входную частоту с пина, все последующие частоты на буферах и выходах PLL они определяют и вычисляют сами. 6. Открыл имеющуюся ucf через "Create Timing Constraints", удивился куче сообщений о некорректных назначениях, исправил их. 7. Как уже отметил Boris_TS, очень внимательно посмотрел на RLOC'и, если они есть - действительно ли они необходимы, грохнул всё необязательное. 8. Снова внимательно просмотрел репортажи, особенно рутера: все ли констрэйны прошли, всё ли правильно задано, ничего не забыто. 9. Дальше уже можно открывать Timing Analyzer и разбираться с временными ошибками. Как-то так.
  6. RTL Vewer есть практически во всех современных средствах синтеза. Самый же удобный просмотр схемы, RTL и технологической для FPGA, что видел, реализован в Synplify.
  7. В Q11 SP1 при генерации контроллеров памяти QDR/DDR для Stratix 4/5 происходит ошибка и не генерируется example design. Это я у квартуса не все приступы жадности вылечил или проблема общая?
  8. Цитата(Костян @ Aug 1 2011, 10:18) Вы хотите сказать, что макс пакет данных 16DW ? А как же стандарт со своими 1024DW , как это реализовать ? Это вопрос реализации обмена процессора с системными устройствами. Тут уж Intel/Microsoft как хотят, так и поступают. Можно лишь оценивать эффективность решения. Вот ограничения чипсета на длину пакета (128/256 байт), когда устройсто в режиме DMA при всём желании не может передавать больши блоки данных - это, действительно, не полная поддержка стандарта PCI-E.
  9. Обычно используем DMA и скорость записи/чтения в режиме completer не замеряли. Но недавно полез с чипскопом в pci-ный модуль и заметил следующее. Раньше, на старых материнских платах, начиная с P4 до Core2Duo под Win2k/2003Server, обмен процессора с девайсом производился всегда строго по одному слову (4 байта). Правда, программную часть толком не копали. На современных же системах: Core i7/Win7 обмен идёт уже блоками по 16 слов (64 байта). Встречаются транзакции и меньшей длины, но основной поток всё же 16DW. И ещё один момент. Есть такое мнение, существенный вклад тут и чипсета. В системе на i7 ещё под Win2003 наблюдались пересылки по 2-3-4DW. Вероятно, хост-контроллер сам уже умеет склеивать последовательные транзакции.
  10. Для sys_cpt 11.0 SP1 x64 адрес: 0xA30C0. Для x32 адрес остался прежний: 0xE3370.
  11. Цитата(D-Luxe @ May 9 2011, 17:02) Меня интересует какие блоки куда выведены. Сколько блоков нужно, чтобы работать по PCI Express x4? И куда выведены остальные? Spartan-6 поддерживает только PCI-E x1.
  12. Цитата(disel @ May 10 2011, 10:21) XP64 полет нормальный. Если кристаллы более-менее большие то 32 разрядных систем не хватит. Ну да. Разводка простенькой системы на PCI-E под 5-й Stratix отжирает в пике до 4.7Гб.
  13. Цитата(Sergey'F @ May 8 2011, 22:23) Повторюсь, может быть, это проблемы версии 12.2. Если скажете, что в какой-то 13 версии они поправили эти проблемы - попробую. Но в рамках текущего проекта - это еще вопрос, так как мне их нужно сделать для ядра, которое я потом использую в EDK. Я с Microblaze не работаю. Но коллеги уже месяца два отлаживают проект с ним, о проблемах с CS не говорили ни разу. Используют его постоянно. Были какие-то другие глюки с EDK, после установки апдейта для 13.1 они все ушли.
  14. Цитата(wolfman @ May 9 2011, 23:46) А что под обычной ХП Ваш рабочий софт не живет? У меня на работе Линукс 64-х разрядный, дома обычная ХП-ха, рабочий софт и на работе и дома одинаков по версиям, но разный по платформам, и проблем пока не было. Для современных проектов нужно много памяти. 3Гб уже мало для нормальной работы. То есть, 64бит однозначно. Цитата(Kuzmi4 @ May 9 2011, 21:40) 2 Eugenius XР64 не советую - 10й квартус точно глючит под 64 битами. Коллеги месяца 2 назад жаловались на глюки когда ниос-систему собирали (версия то ли 10.0 то ли 10.1), проверяли на 2х разных машинах 2 разных человека Под W7-64 то, что нужно, работает нормально. Nios, DSP Builder пока что не используются, ими можно пожертвовать.
  15. Цитата(Sergey'F @ May 8 2011, 18:32) Я же не начинающий, на ISE я работаю больше 3 лет в рамках одного проекта. Работаю не постоянно, но достаточно часто, чтобы не забывать уже выученные ходы. Но материться при работе не перестаю. Что ни начинаешь делать новое - примерно такие впечатления. А учитывая, что проект компилируется раза в 3 дольше, теряешь намного больше времени даже на пробы в процессе освоения. С тем же ChipScope - почти весь день сегодня убил. Помню, когда в Quartus стал осваивать SignalTap для Nios II - создал проект, нашел все узлы и все заработало. Конечно, если целиком пересесть на одну платформу, постепенно выработаешь методику решения каждой проблемы. А вот при параллельной работе все становится видно очень отчетливо. Честно сказать, не понимаю, какие проблемы могут быть с Чипскопом. Когда он только появился, почитал доки, попробовал всякие варианты, за полдня разобрался полностью. Были у него свои глюки и тромоза анализатора при отображении больших массивов данных. Но в целом всё просто и понятно. Такие сложности бывают как раз когда приноровился работать с другим софтом и с наскоку пытаюсь делать в новом софте ровно также как привык в старом. Ну или тупь нападает. Эт нормально.) Я вот тоже в Чиппланёре искал, как залочить GXB на нужное место. Или долго думал, почему он не показывает номера пинов трансиверов - это ведь так естественно: смотришь, и сразу видишь внутреннюю структуру кристалла, как расположены трансиверы, на какие ноги подключены, где PCI-E - то, что PCB дизайнеры первым делом спрашивают. В ISE это видно в любом редакторе. Цитата(Grumbler_2002 @ May 8 2011, 21:29) Вы Coregen ручками что-ли запускали? Вряд ли. В Квартусе он через Tools запускается. А в ISE, чтобы корген в текущем проекте открылся запускать нужно было через New Source. Недоработка эргономическая вообще-то, в 13.1 исправили.