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

vavshchuk_D

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный
  1. После недели борьбы проект развелся. Для этого: 1) Сделал отдельные сигналы enable для каждой из 4-х DSP систем 2) Долго играл с разными констрейнами - AREA GROUP, LOC и partitions - иногда PAR выдавал ошибку, а иногда время компиляции затягивалось больше 8 часов. В итоге понял, что лучше PlanAhead'a для разбиения проекта на части ничего нет. Вложенные друг в друга partitions не поддерживаются ( a жаль!), но зато, оказывается, поддерживаются вложенные pblock'и. Правда, в UG632 про это написано: "Occasionally, map and placement errors result when creating nested Pblocks", т.е. иногда из-за вложенных pblock'ов все может сломаться. 3) В итоге каждую из DSP-систем определил как partition и задал для нее pblock и area_group констрейн (через интерфейс PlanAhead'a). Делал implement сначала для одной системы, потом сохранял результат в partition и добавлял следующую систему. 4) После PAR временной анализ говорил, что есть hold slacks, причем не в моей логике, а в блоках FFT и комплексных перемножителях. Тогда задал внутри pblock'а системы вложенные pblock'и для всей этой математики, и все заработало. 5) В итоге добился частоты 64МГц на -3 speedgrade и 32Мгц на -1L. Большая частота не нужна, поэтому над ее повышением уже не боролся. Ну, вроде все написал, может кому пригодится. Всем спасибо за советы.
  2. Именно в PlanAhead я и делаю весь проект. Но, насколько я понял, вложенные Pblock'и не допускаются. А хочется определить именно 2 Pblock'a - один для DSP системы (одной из четырех), а другой - для FFT внутри первого Pblock'a. Так что сейчас стараюсь найти подходящий инструмент для этого. P.S. Последняя идея была такая: констрейн LOC SLICE_XnYn:SLICE_XmYm задает границы системы, а Pblock вместе с Partition задают границы FFT внутри нее. Оставил компилировать на выходные, в понедельник утром увижу, получилось или нет. Может, кто нибудь знает другие способы?
  3. 1) Тогда зачем вообще нужен RLOC_RANGE, если он не работает без RLOC? 2) Почитал еще constraints guide. Кажется, мне нужен LOC констрейн, в котором надо задать диапазоны слайсов, брамов и dsp. Буду пробовать.
  4. А в BIOS разве нельзя отключить HyperThreading? Должны остаться только 2 настоящих ядра
  5. Здравствуйте, прошу совета. Отлаживаю DSP проект на Spartan6 SLX150, состоящую из 4-х идентичных, не взаимодействующих между собой DSP систем. Общая занятость кристала - 60% по slices и 90% по DSP блокам. Одну систему в отдельности симулировал в System Generator, а потом запустил на XC6SLX45, все работает. Но когда компилирую все 4 системы для большого кристалла, не сходятся времянки в hold. Если в большом кристалле добавлять по одной части, перекомпилировать и делать promote partitions, то сначала все ОК, но после добавления 3-й части опять появляются hold slacks. ( Замечу здесь, что partitions - это не одна DSP система целиком, а только блок FFT внутри нее. Пробовал объявить всю DSP систему как один partition, но тогда время компиляции возрастает до 10 часов) . В разведенном дизайне видно, что DSP системы располагаются в кристалле неоптимально, как бы переплетаются между собой. А оптимально было бы разделить кристалл на 4 равные части, и в каждой развести свою систему. Вопрос в том, как это сделать? Partitons применить не удастся, т.к. внутри каждой системы блок FFT - уже partition, а вложенные partitions не допускаются (Так же как и вложенные pblock' и). Почитал Constraints guide и нашел констрейн RLOC_RANGE. В ucf - файле написал: INST "Angle_0" RLOC_RANGE=X4Y128:X127Y189; Но в разведенном дизайне вижу, что констрейн не сработал, и блок Angle_0 вылезает за отведенные для него границы. При анализе ucf -файла PlanAhead никаких предупреждений не выдает. Что я делаю не так? Спасибо
  6. RobFPGA, можно я влезу в ваш разговор? Я сам недавно разбирался с разбиением дизайна на Partitions. Требовалось реализовать FFT на ПЛИС, и когда блок FFT был выделен в отдельный Pblock, время компиляции существенно сократилось. Но делал я это как проект полностью в PlanAhead. А можно ли сделать то же самое в ISE? Или в ISE Partitions не поддерживаются? А может можно вручную написать AREA_GROUP констрейны в UCF - файле? Спасибо
  7. В ds617 написано: " Platform Flash XL is supported for use with Virtex-5 or Virtex-6 FPGAs only. Use with older Virtex families, Spartan® families, or AES encrypted bitstreams is not supported. " Так что наверно ничего не выйдет. Надо брать обычную BPI - Flash, либо каскадировать XCF32P + XCF08P
  8. Всем спасибо за ответы. Я тут почитал еще документацию, и понял, что: 1) PCIe Root Complex есть в Virtex6 и 7 Series. В Virtex6 он доступен только из Coregen. В Kintex7 его можно будет создать из EDK. Но kit'a , который бы это демонстрировал, еще нет. Так что для PCIe Root сейчас требуется брать Virtex6 или Kintex7 , через AXI-DMA подключать к Microblaze, и писать свой драйвер для ОС. Все это видимо довольно сложно. 2) Поискал на форуме по SATA, и нашел, что на его реализацию требуется человеко-год. Многовато. 3) Нашел SSD с интерфейсом PATA и логич. уровнями 3.3V, так что даже преобразователя уровней между ПЛИС и SSD не надо. Похоже, самописная PATA - самый простой вариант.
  9. Здравствуйте. Требуется создать систему для записи экспериментальных данных на жесткий диск (SSD). Сейчас стараюсь понять, в каком направлении двигаться, покритикуйте пожалуйста. Что система делает: Работает в полевых условиях, принимает данные с множества датчиков.Пишет поток данных 50Мбайт в секунду на SSD (в виде файлов по 100 Мбайт каждый). Далее в лаборатории изображает из себя ftp - сервер и выдает эти данные в ПК через Ethernet. 1) У меня есть идея использовать для этого ПЛИС Spartan 6, или Virtex6 или Kintex 7 с Microblaz'ом. Связь с HDD - через SATA или PCIe. Может кто скажет, какой из них проще реализовать? На PCIe у Xilinx есть готовое ядро, а на SATA - вроде нет. 2) Правильно ли я понимаю, что чтобы писать с файловой системой на SSD, нужна ОС в Microblaze? Спасибо
  10. Отправьте, пожалуйста, на [email protected] В PM написать не получается
  11. В этом и состоит суть вопроса: как взломать DSP Builder или что набрать в license.dat? Пробовал так (по примеру с 1-й страницы ветки): FEATURE dsp_builder alterad 9999.12 22-mar-2037 uncounted HOSTID=000c6ed2f875 \ ISSUER="ICK&C 2007" SIGN="1234 5678 9ABC DEF0 1234 5678 \ 1234 5678 9ABC DEF0 1234 5678 1234 5678 9ABC DEF0 1234 5678 \ 1234 5678 9ABC DEF0 1234 5678 1234 5678 9ABC DEF0 1234 5678" FEATURE C4D5_512A alterad 9999.12 22-mar-2037 uncounted HOSTID=000c6ed2f875 \ ISSUER="ICK&C 2007" SIGN="1234 5678 9ABC DEF0 1234 5678 \ 1234 5678 9ABC DEF0 1234 5678 1234 5678 9ABC DEF0 1234 5678 \ 1234 5678 9ABC DEF0 1234 5678 1234 5678 9ABC DEF0 1234 5678" Не помогло
  12. Добрый день! Начал осваивать DSP Builder, столкнулся с следующей проблемой: при попытке компиляции примера из Simulink получаю: "Unable to obtain a DSP Builder license. Please check that your LM_LICENSE_FILE environment variable is set to a valid license file or license server. LM_LICENSE_FILE is currently "D:\Altera\10.0\quartus\bin\license.dat"." Что делал: - перечитал руководства по установке, создал системную переменную LM_LICENSE_FILE и ей присвоил путь к license.dat. -Как я понял, проблема в содержимом license - файла, там не хватает строки, которая позволяет запуститься DSP Builder'у. - поискал в сети, вяснил, что строка должна начинаться с "FEATURE C4D5_512A". Нашел пример строки, вставил в license.dat -не помогло. Можете ли что-то посоветовать? Заранее благодарен.
×
×
  • Создать...