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

Beby

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    1

Весь контент Beby


  1. Именно про EDK не скажу (работаю с голым ISE), но методика, в общем, одна и та же. Есть *.ucf файл, он содержит User Constraint'ы (различные ограничения, наложенные на проект, в т.ч. и на частоту для clock'ов). Данные в этом файле можно править как руками, так и рядом программ: Constarint Editor (преимущественно для временных ограничений), PACE/Plan Ahead (для ограничений на размещение, например расположение ножек) и пр. Описание User Constraint’ов находятся в файле cgd.pdf. Вам необходимо задать частоту всех входных clock'ов ПЛИС. Если Вы получаете при помощи DLL/PLL дочерние clock'и, то ISE сама рассчитает их параметры из заданных входных частот через параметры DLL/PLL. При Place&Route ISE старается выполнить все ограничения, если что-то не может быть выполнено возникают соответствующие предупреждения. Временной отчёт (*.twx) обычно просматривается при помощи Timing Analiser. Также, в файле xst.pdf можно найти описание synthesis constarint'ов, используемых при синтезе языкового описания.
  2. Совет - банальный: запустите FPGA Editor и сами увидите, на что именно оно ругается, чего же ей в этом IOB не хватает, и следовательно - почему ISE не смогла всё сделать "правильно".
  3. Я с DSP пока еще не работал, но попробую угадать, по аналогии с BRAM (с которым я много и плотно работаю). Если я правильно истолковал (за десяток минут) документацию, то у Вас отключены MREG и PREG, и поэтому ISE анализирует задержку от A/B REG сквозь умножитель и внешнюю линию до Slice триггера. Попробуйте включить (добавить - как правильней ?) MREG или PREG.
  4. Выделяете все элементы, вырезаете их в буфер обмена, меняете размер (теперь пустого) листа и вставляете ранее вырезанное на место.
  5. Господа-товарищи, посоветуйте микросхему - стандартную сетевуху Gigabit Ethernet (1000Base-T), чтобы и документация была (просто доступной, ну или доступной в закромах родины), и чтобы драйвера под Win/Linux/Unix были (желательно под всё и сразу, но можно и фрагментарно), ну и конечно, чтобы её купить можно было (в крайнем случае, в "готовом" виде - как сетевуху).
  6. Ну вот например, если обратиться к документу Spartan-6 FPGA SelectIO Resources и залезть в раздел Internal Termination, то можно найти, что супостат рисует 2 линии с собственным волновым сопротивлением 50Ом, а не 62.3 - как у Вас. Думаю отсюда и все заморочки. В принципе у Вас несколько переменных, толщина проводника, зазор между ними и толщина между слоями - и всего 2 ограничения: 50 Ом у каждого проводника персонально и 100 Ом - дифференциально. Вроде можно подобрать такую конфигурацию проводников, чтобы это всё выполнялось (ну, в крайнем случае: выполнялось с приемлемыми допусками). Попробуйте с этой стороны подойти к вопросу.
  7. Благодарю за ответ. Вот я как раз мельком читал про XAUI IP от ISE 12.3 и мне не очень понравились некоторые их ссылки на то, чему удовлетворяет их корка; вот и захотелось проконсультироваться у знающих людей, что надо почитать, чтобы самому создать полнофункциональный конвертор XGMII <-> XAUI. Я правильно Вас понял, что кроме 8/10b преобразования и Serialization (Deserialization) больше ничего делать не надо ? Что-нибудь еще порекомендуете прочитать, кроме IEEE802.3ae ?
  8. В продолжении темы: подскажите, где взять и какую именно необходимо прочитать документацию, которой бы хватило для создания XAUI ядра для Spartan6 ? (есть опыт создания GMII MAC ядра, и интересует дополнительная документация, позволяющая собрать XAUI MAC ядро).
  9. А вот и не соглашусь: если вскрыть Platform Cable USB I - то можно увидеть, что он сделан на Cool Runner II (XC2C256), а Platform Cable USB II сделан на Spartan-3A (XC3S200A - фото можно найти тут: Xilinx® Platform Cable USB II)
  10. Ну, есть в них маленькое отличие: Platform Cable USB II contains a 64-bit electronic serial number used by applications to uniquely identify and access a specific USB cable when multiple USB cables (up to 127) are connected to the same host. А вот в "чёрненьком" такого ID нет, и порой возникают проблемы, если необходимо воткнуть 2 кабеля в одну машину. Кстати, единственный "чёрненький" нормально работает с некоторым количеством "красненьких".
  11. Вот с этого и надо было начинать, тогда: получается - обязательно, в свете вышеописанного. Вот и договоритесь с ними, что специально для Вас спаяли облегчённую плату без "лишних" (с Вашей точки зрения) элементов.
  12. Тогда детально опишите требования к формфактору - ибо мне непонятно, что же именно Вам надо. С одной стороны, заявлена потребность в суммарной "ёмкости" 20 тысяч Virtex-2 Slices - это требование легко перекрывается единственным Virtex-6 240LXT (даже XC6VLX130T имеет 20000 Virtex-6 slices). С другой стороны Вы просите какой-то "форм-фактор 6U" - и это-то (как получается) для единственной ПЛИС. Кстати, у тех ребят есть и ящик 6U с 4 вертикально установленными платами - вычислительный блок РВС-0.2. P.S. Что-то мне подсказывает, что если не только ёмкость ПЛИС, но и быстродействие ПЛИС привязать к требованию 20000 Virtex-2 Slices, то Вас вполне должен удовлетворить заметно более дешёвый Spartan-6. Если смотреть глубже, то Virtex-2 Slice имел 2x(LUT4+FF). Spartan-6 (Virtex-6) Slice имеет 4x(2*LUT5+2*FF) - т.е. 4 LUT6 + 4 FF (или, если сильно повезёт, то удастся использовать все ресурсы - 8 LUT5 + 8 FF). Из этого можно грубо посчитать, что в один Xilinx-6 Slice может поместиться от 2 до 4 Virtex-2 Slice. Путь, в среднем влезает только 2 Virtex-2 Slice, тогда Ваше требование 20 тысяч Virtex-2 Slices, можно транслировать в 10 тысяч Xilinx-6 Slices - а это уже любой (даже самый мелкий) Virtex-6, или Spartan-6 начиная с XC6SLX75. Что же Вам всё-таки надо ??
  13. Ну вот еще ребята (Научно-исследовательский центр супер-ЭВМ и нейрокомпьютеров) делают разные штуки на V-5, а теперь и на V-6... Если захочется ну оооочень высокую плотность ПЛИС, то есть вариант 1U с 4 платами по 16 XC5V110LX (или с 8 XC6V240LXT). См Плата вычислительного модуля "Орион", на краях платы груда разъёмов для объединения 4 плат к кучу (в пределах одного 1U корпуса) - итого 64 XC5V110LX (Вычислительный модуль "Орион") или 32 XC6V240LXT. В одном XC5V110LX - 17280 Virtex-5 slices, а в XC6V240LXT - 37680 Virtex-6 slices,.. наверное, хватит... Да и с разъёмами проблем быть не должно. А может быть Вам больше понравится вот такое изделие Кентавр. Точно не помню, но вроде тут для вычислительного поля две XC5V110LX используются...
  14. Это покапать надо некоторое время - чем крупнее, тем тяжелей выкапывается. При загрузке этого (и в 1.5i, и в 3.3i): На Splash screen писалось чё-та про xAct. Это оно самое и есть ?
  15. Ну вот, порадуйтесь: переформатированный фрагмент из Post P&R Timing Report от ISE 11.5 при работе с V6LXT240: TS_pll_clkout2 = PERIOD TIMEGRP "pll_clkout2" TS_CLK / 0.5 HIGH 50% Worse case slack SETUP/ HOLD: -0.002ns/ 0.000ns Timing Error SETUP/ HOLD: 0/0 Timing Score SETUP/ HOLD: 0/0 Период TS_CLK = 2.778ps (аля 180МГц), итоговый период для TS_pll_clkout2 в Timing Report получился 5.558ns, а должен бы 5.556ns. Вот на эти 2 ps и ошибка... С одной стороны - отрицательный slack, с другой - отсутствие Timing Error и Timing Score. Чему верить, slack < 0, или Timing Error = 0 ?? Ошибка мелочная, но как заноза в заднице. Если чего, еще можно накопать похожих... P.S. Сам работаю только с Xilinx (начиная с 1.5i), может и зря, конечно, но что-то в своё время Quartus + Cyclone 1 не вдохновили (после ISE 3.x/5.x), а до других ПЛИС руки так и не дошли.
  16. Э-хе-хе, да когда же Вы внимательно документы читать будете, на которую Вам давали ссылку: Virtex (вместе с обычным Startan снят). Сразу подскажу, чтобы не появлялось глупых вопросов: Spartan-2/Spartan-2E/Virtex-E/Virtex-EM уже более 3 лет не рекомендуется применять в новых проектах... что отражено в их не поддержке в новых ISE. Поэтому, так может случиться, что через пол года, что-нибудь еще снимут с производства.
  17. Ну, тогда слушайте, и не говорите, что не слышали: глючит и их MAP/P&R. В 10.1SP3, например, на V-5 далеко не всегда работает LUT Combining. Есть и еще мелкие ошибки. Да, они обычно умеренно оперативно устраняются, но взамен периодически появляются новые. Например, в ISE 11.5 кое чего запили по V-5 HardCore (когда улучшали аналогичный S-6 HardCore), чего работало в 11.4; через некоторое время появился patch (за который Xilinx ничем отвечать не хочет), но вроде как эту ошибку он прикрывает. Сам я от ISE пользую только XST, Implementation и Hardware Debugging; а Design Entry/Simulation – сторонние (из-за крайней ублюдочности ISE'шных). Особо мне нравится FPGA Editor, которым можно поглядеть, что и как можно (нужно) использовать внутри ПЛИС.
  18. Если ничего не путаю, то 'та библиотека содержит Xilinx Hardware IPCores simulation model, соответственно Xilinx аж весь дрожит, чтоб никто не узнал, как оно на cаом деле коряво внутри работает. Mentor предлагает сторонним разработчикам (Aletra, Xilinx и пр.) определённый програмный интерфейс, при помощи которого можно подключать внешние симуляционные модули (DLL). Это всё интегрируется/компилируется вызовом из ISE фрагментов ModelSim.
  19. Оно звалось просто Spartan. Но вот вышел такой документ: Product Discontinuation Notice, в котором сказано, что оно (Spartan обычый) снят с производства. P.S. с этим зверем работал Xilinx Foundation Series до версии 4.x, потом пошли Xilinx ISE, которые уже не работают с обычным Spartan'ом. Простите за нескромный вопрос: А на кой ляд Вам такой антиквариат ??
  20. Ну, это я и имел в виду, только т.к. я пишу на VHDL, то синтаксис чуточку отличается. Нет тут никакой магии - тут мат. часть учить надо. Т.к. это же - synthesis constraint, то его описание находится не в cdg.pdf, а в соседнем xst.pdf. Соответственно, если использовать не синтезатор XST, то прийдётся читать другой документ, описывающий работу с тем другим синтезатором. Кстати, xst.pdf содержит массу полезной информации, поэтому обязательно с ним ознакомьтесь, для более правильного понимания: как и почему именно так происходит синтез у XST.
  21. Для локализации проблемы необходимы следующие уточнения: 1. Вы используете один источник частоты, или несколько ? 2. Если один - то constaint period задан на входную ножку/линию ? И правильно ли он проходит все PLL/DCM (см. timing report - Derived Clocks) ? 3. А заданы ли constaint'ы offset out для сигналов, поступающих на внешние микросхемы ? Используются ли output flip-flop для этих сигналов ? Как следствие: укладываются ли времянки этих сигналов в то, что требуется внешним микросхемам ? Но даже не зная ответы на эти вопросы, могу посоветовать в Process->Implementation->Place & Route->Post Place & Route Static Timing Report Properties задать Report Unconstraint Paths ну хотя бы с 200. Соответственно появится определённая секция Post Place & Route Static Timing Report. Тут можно поглядеть, что Вы не указали, и что ISE разводит как попало.
  22. Наверняка, я чего-то не знаю, но выхожу из ситуации так: делаю для N выходов N-битный регистр для сигнала OE. На N-битный выходной сигнал регистра накладываю synthersis constaint'ы equivalent register removal = no и iob = true.
×
×
  • Создать...