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

Beby

Свой
  • Постов

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

  • Посещение

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

    1

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


  1. Мы используем Marvell 88E1111, старая, но очень универсальная, поэтому всё еще обильно производится. Правда, есть некоторые проблемы с datasheet'ом - если его получать легально, то надо подписать NDA с Marvell. В то же время, можно его добыть и нелегально... + есть много разных kit'ов (Xilinx, Alter’а и пр.), в которых используется оная микросхема, соответственно, с них можно заимствовать различные технические решения.
  2. Прочитав Answer Record #12737 (AR#12737), любезно рекомендованный Schulz_K, настоятельно рекомендую обратиться в Xilinx (открыть Web Сase). Т.к. в AR#12737 между строчек написано, что старые ревизии XC9500 выпускалась по 0.6 мкм технологии, а ПЛИС с маркировкой PCG44AMM0229 - должна быть изготовлена по 0.5 мкм (судя по маркировке), что не совпадает с IDCODE'ами, описанными в AR#12737. Возможно, имеет место перемаркирование микросхемы. Если поставка перемаркированной микросхемы подтвердиться, то хотелось бы знать, кто эту микросхему поставил - страна должна знать своих героев !
  3. Я бы искал новую (точнее, напряг бы отдел снабжения и нашего официального поставщика ПЛИС). Ибо меня жестоко бы терзали сомнения, где же это она была всё это время ?? И как всё это отразилось на её свойствах (может она где поработала в крайне неблагоприятных условиях, а предприимчивые китайцы её выпаяли и перепродали) ? С другой стороны, в маркировках PCG44AMM1033 и PCG44AMM0229 совпадает всё, кроме даты: A - Circuit Design Revision (Mask Revision), M - UMC Taiwan (12-inch/300 mm wafer), M - 0.50 мкм. Т.е. по своим свойствам они должны быть одинаковы, если не вмешались факторы неправильного хранения или предварительного использования, которые могли накопиться за 10 лет.
  4. Проверьте, пожалуйста, еще раз: Вы точно ничего не попутали ?!! PCG44AMM0229 0229 - дата производства: 02 - год (2002), 29 - неделя.
  5. Может оно и вкусное, но именно в 13.4 исправлены 2 ошибки, которые мы обнаружили. Одна из них – серьезная (на мой взгляд) ошибка оптимизатора XST: разрушается логика работы схемы, если: 1) необходимо сквозь триггер протащить инвертор, 2) у триггера используется вход сброса/предустановки, 3) перед триггером используется LUT (2 и больше). Ловить эту ошибку в огромном проекте (Virtex-6) было полной жопой - переехал проект с V-5 на V-6 и отказал простой, отлаженный и проверенный кусок - а при поведенческой симуляции порядок и красота ! Но вот при помощи Chip Scope удалось локализовать бяку. Затем был создан микроскопический проект, в котором удалось стабило повторять ошибку в «чистом виде». А потом был еще тот номер: втолковать Xilinx, что у них ошибка в XST - не понимали они, как это так: в их могучем XST - и ошибка !.. Но таки замучил я их, а найденная в 13.1 ошибка плавно укочевала в 13.2, а потом и в 13.3 (не смотря на то, что сначала они планировали её исправить именно в 13.3). Вот обещали, что исправили в 13.4 - но я пока еще не проверил – а вдруг брешут !
  6. Если у Вас есть Ethernet Phy, то, наверное (хотя и не обязательно), у Вас есть и MAC адрес для этого Ethernet Phy. Теоретически MAC адрес должн быть уникальными (в масштабах земного шара).
  7. Подведём промежуточный итог: имеется Ethernet контроллер от Миландра для 10 Мб/с (с умеренно открытой документацией), и вроде как имеются PCI <-> Ethernet контроллеры на 100 Мб/с и 1000 Мб/с от НИИСИ РАН (1890ВГ3Т и 1890ВГ15Т с закрытой документацией). Т.к. эти микросхемы не имеют (или всё-таки имеют ??) возможности использования только Eth Phy (которая внитри них присутствует) по MII/GMII(RGMII), то, с точки зрения прикручивания к ПЛИС, они не подходят. Так, положим, что приходится использовать зарубежную физику (например Marvell 88E1111). Что можете посоветовать из отечественных разъёмов и трансформаторов к Ethernet Phy, а еще лучше - совмещённые отечественные варианты. Интересует и для 100Мб/с, и для 1000Мб/с.
  8. Еще разок обращу Ваше внимание на Virtex-6 CXT - это удешевлённая серия: Virtex-6 CXT заметно дешевле, чем Virtex-6 LXT. Собственно, Xilinx и позиционирует Virtex-6 CXT как ПЛИС для тех, кого выперло за Spartan-6, а Virtex-6 LXT - слишком дорого. Прекрасно понимаю, что цены на любые Virtex-6, по сравнению с тем же Spartan-6, - негуманные. Именно так. Source Synchronous Interface позволяет развить большую скорость передачи данных, но требует синхронизирующих элементов в приёмных трактах. У Xilinx есть неплохая, хоть и старенькая, книжка High-Speed Serial I/O Made Simple. Если Вы еще её не видели, то проглядите хотя бы начало – оно может натолкнуть Вас на некоторые мысли по улучшению канала связи между ПЛИС. Ну мы "гоняем" на 500МГц: полный банк Virtex-6 <-> полный банк Virtex-6, LVDS 2.5V DDR, итого по каждой паре 1000МБит/с (Source Synchronous Interface)... Но опорные clock’и, на которых работает почти вся внутренняя логика, всё-таки через разветвители передаются - так clock чище.
  9. Если у Вас изделие производится ограниченным тиражом, то, возможно, дешевле (с учётом затрат на создание и отладку стыка между двумя Spartan-6) поставить один Virtex-6 CXT. Я думаю лучше всё-таки не разветвлять clock. Т.к. с передаваемыми данными всё равно необходимо будет передавать clock - иначе, из-за разбросов в Global clock distribution network, высокоскоростные данные не получится надёжно передавать. Так зачем же еще один clock передавать ? А еще лучше вообще ничего не передавать, а, как и говорил des00, взять ПЛИС большего объёма, если таковые имеются в семействе Spartan-6.
  10. Всем доброго дня. Кто что может подсказать о наличии отечественных Ethernet Physical Layer Device для Fast Ethernet и Gigabit Ethernet ?
  11. Конечно, всё задать надо. Но коли соотношения известны и заданы, то и метастабильности нет... а следовательно, и особых проблем тоже нет. Хотя иногда приходится и помучаться. Вот как раз подобные узлы я и имел ввиду. А с ними, как всегда, есть сложности, которые многократно обсуждались, в том числе и на этом форуме (надо лишь поискать слово «метастабильность»).
  12. Если проект синхронный, то как писалось ранее: А если есть узлы схемы с потенциальной метастабильностью, то их практически невозможно промоделировать, и, как правило, именно эти узлы доставляют максимум неприятностей. Я бы рекомендовал отладить подобные узлы отдельно - при необходимости перекомпилируя столько раз, сколько будет необходимым для обеспечения стабильной работы (подбора правильных constraint’ов для Synthesis/Implementation). А потом интегрировать такие узлы в большой проект.
  13. Что-то я торможу ( ), подскажите (ткните мордой): где добыть Data sheet'ы на оный device ?
  14. Внесу маленькую поправочку: для современных Xilinx FPGA не "скорее всего", а точно. Современных не радиационно-стойкие Xilinx FPGA имеют 6-транзисторные ячейки статического ОЗУ, а радиационно-стойки используют хитрую технологию дублирования транзисторов для повышения стойкости к ионизирующим излучениям (при этом, суть построения ячейки - не меняется).
  15. Как писал уважаемый des00: на стандартных регистрах вместе со стандартными мультиплексорами. И таким образом практически вся FPGA: кроме этих 2 макроэлементов там практически больше ничего нет, за исключением глубоко оптимизированных (на транзисторном уровне) аппаратных блоков (систем тактирования (ФАПЧ), гигабитных приёмопередатчиков, системы контроля состояния ПЛИС и им подобных). Если копнуть глубже, то эти основные макроэлементы оптимизируются при активном участии инженеров того завода, на котором будет производиться конкретный кристалл. И используются те схемотехнические приёмы, которые лучше получаются на этом заводе - поэтому разные семейства (подсемейства) производятся на разных заводах. Если копнуть еще глубже, то это всё строится на тех КМОП транзисторах, которые удобнее выращивать конкретному заводу. Из тех материалов, которые минимизируют затраты этого завода. А это что-либо меняет ?
  16. LUT (Look Up Table) в FPGA обычно реализуется на базе статического ОЗУ. Например, LUT4 - это статическая память с 4 битами адреса и одним битом данных. Обычно LUT заполняется значениями во время конфигурации ПЛИС, но в ряде случаев производители ПЛИС позволяют полноценно использовать LUT - как ОЗУ; у Xilinx это зовётся «Distributed Memory».
  17. Похоже, что такое в ISE 13.x сделать невозможно... Для того, чтобы отпали последние сомнения заглядываем в Virtex-6 Libraries Guide for HDL Designs Design Entry Method (%Xilinx%\ISE\doc\usenglish\isehelp\virtex6_hdl.pdf), ищем OBUFDS и внимательно читаем: Instantiation Recommended Inference No CORE GeneratorT and wizards No Macro support No P.S. А еще можно было поискать на супостатских форумах Differential buffer insertion in XST, тогда бы вопрос решился гораздо быстрее.
  18. Почитайте Errata на Spartan-6, обычно самые подлые подвохи там кучкуются, и, кстати, гадостей там не мало написано. Если прочтённое Вас не отпугнёт, то мой выпуклый военно-морской глаз больше существенных гадостей на горизонте не просматривает. IMHO, проект надо делать на Spartan-6, если хватит его быстродействия.
  19. Ну для Virtex-E и Spartan-2E только так и можно было сделать - ибо для этих семейств IBUFDS и OBUFDS отсутствовали.
  20. Супостат применяет BGA микросхемы на -55С - +125С (для Virtex-6Q выпускаются даже RF1759), но только со свинцовыми шарами (никаких Pb free и в помине нет, что особо подчёркнуто в документации). Если вы не собираетесь приобретать ПЛИС Military speed grade, то из-за возрастающих затруднений с приобретением микросхем Industrial speed grade (-40C - +100C) со свинцовыми шарами, необходимо морально и технологически готовиться к reballing’у безсвинцовых шаров на нормальные свинцовые. Вопрос о прочности шарикового соединения при предельных вибрациях (знать бы еще что это такое ?) и предельных температурах для меня остаётся открытым. Может быть имеет смысл в подфоруме у PCB’шников/механиков поспрашивать ? – может кто из них уже решил подобные проблемы, но для какого-нибудь DSP. P.S. Касательно прочности "ногатого" соединения - слышал несколько раз от разных людей с разных заводов, что при демонтаже старых плат с планарными компонентами, периодически попадали такие случаи: припой полностью рассыпался и стал порошком, а микросхема держалась (и успешно функционировала !) на лаке, который и не давал высыпаться порошку "припоя", правда шаг у тех микрух был 1.25/1.27 и лак благополучно заливал каждый вывод со всех сторон. С другой стороны, BGA даёт значительно лучшие показатели по массе/габаритам/предельной частоте IO на одно и тоже количество ног - поэтому переход на BGA, в конечном итоге - неизбежен. Как вариант, можно было бы поработать с PGA (Pin Grid Array – как на CPU’шках) корпусами, но что-то я их давно не встречаю у ПЛИС. Ну а если задача очень серьёзная, и партия будет тоже немалая, то после сдачи экспериментального образца, можно задуматься и над корпусированием (в т.ч. и на территории РФ) – тогда любой корпус (необходимя воякам приёмка), но и большая куча сопутствующих проблем.
  21. Проблема распространяется на все FPGA Xilinx поддерживающие работу LUT в виде SRL16 (т.е. от Virtex-1/Spartan-2 и до Artix-7/Kintex-7/Virtex-7 включительно): Design Advisory for techniques that should be used to ensure SRLs and flip-flops are initialized properly after configuration Возникает логичный вопрос: а распространяется ли эта проблема на режим работы LUT в виде Distributed Memory ? - по моим прикидкам: да, распространяется. Наверное, всё это легко обходится, если мы на первом такте не подаём CE (для SRL) и WE (для Distributed Memory). У кого какие соображения на этот счёт ?
  22. Ну вот например: SN74LVCH16T245. Можно и чего более подходящего тамже поискать. Да я о том, что проблем с охлаждением / источниками питания не будет - для ядра (1.2В) можно вообще использовать линейный стабилизатор (3.3 -> 1.2), и даже его не прийдётся особо охлаждать.
  23. Я бы заменял на Spartan-3AN, если это позволяют условия эксплуатации устройства. Например, самый маленький: Spartan-3AN 50 TQ144 (1408 LUT4+FF, 3 x 18kbit BlockRAM, 3 x Dedicated Multiplier, до 108 I/O pin, поддерживает огромное количество I/O стандартов, имеет управляемую задержку по входу каждого I/O pin). Ключёвые особенности: 1. Spartan-3AN имеет встроенный Flash ROM. Прошивка занимает не более половины этой памяти - остальную можно использовать для хранения каких-либо параметров устройства. 2. Spartan-3AN не 5В толерантен -> понадобятся внешние преобразователи уровней (который можно прикупить у Texas Instrument). 3. Имеет очень низкое энергопотребление. Несмотря на то, что Spartan-3AN – далеко не новая ПЛИС, снятие её с производства пока не планируется. Даже наоборот, недавно (в пределах полугода назад) была расширена номенклатура корпусов, в которых выпускаются эти ПЛИС.
  24. Боюсь, вы не уловили ситу... тогда, попробую донести мыль, поэтапно. Нет, Вы помните совсем не правильно, сейчас (т.е. в V-4, V-5 и тем более V-6) всё по другому... Clock Capable ноги имеют короткий dedicated routing resource, позволяющий доставить тактовый сигнал в разные полезные места с малой предопределённой задержкой и микроскопическим разбросом этой задержки. Например, для V-5 этими "полезными местами" являются BUFIO и BUFR, предназначенные для тактирования IOB и близлежащих Clock Region соответственно. Более того, задержки в этих трассах практически такие же, как и в соседних трассах у обычных IOB, что позволяет более точно компенсировать эти задержки. Скажу больше, в больших V-6 при тактировании IOB от BUFG уже практически невозможно принять 300 МГц DDR сигнал. В тоже время, при использовании BUFIO + BUFG можно принять 500 МГц DDR сигнал. А так делать вообще неправильно, для ПЛИС такой способ тактирования - противоестественный. При таком подходе вылезают следующие проблемы: 1. И главная: любой разводочный ресурс имеет технологический разброс параметров, зависящий от разных факторов: кривизна изготовления самого кристалла; температура выходного каскада, питающего текущий участок соединительной линии; питание ядра, от которого питается эта же пара транзисторов и пр. Следовательно, эти параметры - имеют заведомо неизвестное текущее значение. Среда проектирования может только прикинуть предельные значения этих параметров, и указать, выполнятся ли наложенные ограничения - или нет. 2. Соответственно получаем, статическую составляющую задержки и динамическую. Статическую и медленно изменяющуюся динамическую задержки возможно худо-бедно компенсировать при помощи DLL/PLL. А вот быстро меняющуюся динамическую составляющую - невозможно компенсировать. Следовательно, чем длиннее трасса - тем больше некомпенсируемый разброс, собственно он и определяет предельную частоту стабильной передачи данных. 3. А теперь посмотрим, что же Вы делаете в свете этих соображений: 1) У Вас тактовый сигнал от обычной IO ножки проходит через кучу обычных линий (может быть и длинных линий, но сути дела это не меняет), соответственно, сигнал, пришедший на вход BUFG имеет некоторые заметно большие и задержку и разброс задержки, чем тот, который пришел бы от специальной ноги, через специальные связи. Да, эти связи имеют низкие ёмкость/индуктивность/сопротивление и мощный driver. 2) Т.к. все Virtex - относительно большие ПЛИС, то и задержка распространения clock по глобальному дереву тактирования - тоже большая. Поэтому, чем больше кристалл, тем больше разбежка фронтов между различными элементами ПЛИС. При использовании компенсации, компенсируется время задержки только в одной точке прихода сигнала... в остальных - как повезёт: статическая составляющая почти полностью подавлена, динамическая приобретает первостепенную роль. 3) задержки и, в особенности, разбросы описанные в предыдущих пунктах складываются... и может стать очень даже тоскливо ! С другой стороны, если Вам необходимо ввести всего лишь 100 МГц сигнал, то даже в жирных V-6, еще есть шанс с этим справиться при таком противоестественном подходе. Для этого необходимо: 1) правильно задать constraint OFFSET IN, что позволит среде проанализировать работоспособность проекта и сообщить об этом после разводки. 2) подобрать задержку в IDELAY элементах, что даст возможность скомпенсировать смещение окна setup/hold. Также, для любителей острых ощущений, есть возможность локального тактирования, без использования BUFR и BUFG. Т.к. Вы говорили о последовательном сигнале - если не получится через BUFG, то так может случиться, что локальное тактирование будет наилучшим выходом. Однако, закладывать оба этих решения в серийное устройство я бы не рискнул. Да, ISE учитывает и эту задержку, и, что гораздо более важно, предельный разброс этой задержки. Хотя, за древние версии, вроде 9.2 и 10.1 – не поручусь. Использовать 11.5 для V-6 крайне чревато... поэтому, в настоящее время, для V-5/V-6 остаются только 12.2 - 13.3 (а вот эти среды анализируют эти параметры). Из-за различного рода зависимостей этой задержки от кучи параметров, Вам прийдётся проводить большую серию измерений, на большом количестве кристаллов из разных партий... А зачем всё это проделывать, если всю эту нудную кропотливую работу сделал Xilinx и результаты измерений внёс в среду разработки ?
  25. U/I кривые показывают только зависимость тока от напряжения, и абсолютно ничего не говорят о предельном времени протекания этих токов. Простой пример: берём припаеваем ногу на VCC, заставляем её выдавать логический '0'; в соответствии с U/I кривыми потечёт около 70мА... а затем настанет локальный перегрев и часть CPLD сгорит. Если Вы про эти application notes XAPP805 - Driving LEDs with Xilinx CPLDs, то тут чётко дают понять, что больше 8мА для XC9500XL как-то неправильно тянуть с одной ноги. Интересно, конечно, что ответят... но, возможно, продуктивнее будет открыть WebCase - там располагают более точной информацией,.. но не всегда ею делятся (из-за политических соображений).
×
×
  • Создать...