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

v_mirgorodsky

Свой
  • Постов

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

  • Посещение

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


  1. Угу, обсуждалось, однако никаких дельных ответов сформулировано не было :( Единственное возражение там замеченное было о "вертолетности" платы, однако мы собираемся залить все неиспользуемые площади полигонами. Это должно убрать предпосылки к появлению "вертолетности". Есть ли еще какие-нибудь серьезные причины не делать такой падстек?
  2. Мы собираемся изготовить ПП со следующим расположением слоев: первый - сигнальный, второй - полигон земли, третий - сигнальный, четвертый - полигон питания. Толщина диэлектрика между первым и вторым слоем - 0.125 мм, между вторым и третьим слоем - 5 мм, между третьим и четвертым слоем - 1.25 мм. Таким образом получаем два сигнальных слоя для разводки высокоскоростных сигнальных дорожек, а блокировочные конденсаторы под BGA корпусами не мешают разводке. На плате очень ограниченных габаритов собираются быть размещены две FPGA в FG256 корпусах, два корпуса 32-разрядной SDR SDRAM, плюс еще десятка полтора вспомогательных чипов. Наш изготовитель говорит, что такая раскладка несколько не стандартна, однако изготовить плату с таким падстеком они могут. Какие могут быть проблемы с таким расположением слоев? Могут ли температурные деформации привести к разрушению проводников на плате? P.S. Прошу ответить на вопросы, по возможности, по существу с аргументацией точки зрения. Я осознаю, что данное решение может иметь недостатки и хочу понять насколько они существенны. P.P.S. При наборе оригинального сообщения вкралась досадная ошибка - между вторым и третьим слоем расстояние составляет 5 mil, что соответствует ~0.125 мм :cranky: Досадная неточность :blink:
  3. Класическая криптографическая теория подразумевает знание алгоритмов упаковки атакующей стороной. При использовании простой функции типа CRC32 перебор по исходному паролю, а не по полученному ключу будет самым эффективным методом атаки. В общем случае - человек может обгадить любой самый совершенный метод защиты просто неумело им воспользовавшись. Потому, если есть специфические требования к дуракоустойчивости и криптостойкости - проверяйте длинну пароля, количество совпавших символов, регистр букв, символы псевдографики и так далее. Не знаю о других хешах, но CRC32 есть остаток от деления введенной байтовой строки на простой образующий полином в поле Галуа. Если совсем на пальцах, то считайте, что исходная строка - это очень большое число. Если разделить его на простое число, то в остатке будет число, однозначно характеризующее входную последовательность. Дальше идет куча выкладок из дискретной алгебры, показывающих замечательные свойства этих остатков, их корректирующую способность и так далее. Возможно, все остальные хеши построены по подобным принципам.
  4. Да нам бы хотя бы документацию на них поиметь :( Сейчас даже не понятно подойдут ли они под нашу задачу полностью или нет.
  5. По поводу Marvel - не согласен. Работают они и при вполне вменяемых количествах. Естественно, 10 штук никто не поставит, однако о сотне уже можно говорить.
  6. Эти два даташита мы видели. Это скорее не даташиты, а некое обобщенное описание. Там нет типов корпусов, системы команд, описания регистров и всего остального, необходимого для проектирования устройства на основе вышеупомянутых микроконтроллеров. НДА с Атмелом подписать мы пытались, однако ничего не получилось. Атмел выслать документацию после НДА отказался :( 2 Stewart Little: Как раз с доставкой проблем не очень много. Деталей я не знаю, однако поставить их нам берутся. Проблема только с документацией, которая просто отсутствует.
  7. Ну, похоже я продвинулся все же дальше за свою практику программирования и проектирования электроники :) потому как по выше начертанному плану нахожусь где-то в средине пункта 2 и то потому, что не в курсе как настраивать Eclipse :) За то, теперь я знаю заветный каталог /pub/DOC/_unsorted/ldd3/, где можно найти все остальное ;)
  8. При изучении pin-out таблиц на EP2C5F256 было обнаружено абсолютно идиотское расположение DQ пинов по корпусу микросхемы. Первым впечатлением было - Альтера сама знает как размещать пины, в этот раз сделала это несколько неудачно. При дальнейшем изучении оказалось, что при использовании DQ пинов ВСЯ DDR логика помещается в близлежащие ячейки и ничего, относящегося к DDR в IOB не пакуется :blink: Фиксированным оказалось только местоположение DQS пинов, имеющих программируемую задержку на входах и при этом могущих управлять глобальными клоковыми сетями. При детальном изучении даташитов на старшие семейства (Stratix, Stratix GX, Stratix II) обнаружилось, что там DQ пины действительно имеют пару DDR регистров в IOB и все остальное как должно быть. Соответственно вопрос - почему на Altera Cyclone EP2C5F256 DQ пины называются DQ и имеют четко выраженное по даташиту местоположение, хотя реально ничем не отличаются от пинов, находящихся рядом в том же банке?
  9. Евгений, а где находятся те 50МБ которые Вы загрузили на местный ФТП? С чего лучше начать и в какой последовательности осуществлять движение?
  10. Если до Киева не сильно далеко, то есть Симметрон, у них есть даже 0201.
  11. Да, время задержки tri-state буфферов включается в <Maximum output required time after clock>, однако выдержать его невозможно, поскольку скорость работы tri-state буфферов составляет "всего" 11-12ns, что явно недостаточно, чтобы выполнить спецификацию PCI. Однако специфика PCI позволяет выполнять address/data stepping, что спасает.
  12. А вот здесь и есть самая большая проблема. У вас вуыходная шина подключена к PCI через tri-state буффера. Как показывает опыт - они достаточно медленные. Для того, чтобы мастер работал надежно в такой ситуации необходимо в первый такт после получения PCI_Gnt включить tri-state буффера, оставив все сигналы в неактивном состоянии и только следующим тактом начинать активную работу. Эта техника называется address/data stepping. Вследствие негарантированных уровней на шине чипсет и ошибается, не декодирует адрес, выставленный вами на шине. Minimum input arrival time before clock должно быть меньше или равно 7 ns, maximum output required time after clock должно быть меньше 11 ns. Maximum combinational path delay в этом контексте не интересен. Как показывает практика, maximum output required time after clock проблем не вызывает. Minimum input arrival time before clock - выдержать более сложно, однако возможно. Необходимо очень аккуратно считать количество входных триггеров, управляемых с пинов микросхемы. По опыту, fan-in до 100 еще позволяет выдержать времянки, дальше уже проблемы с разными раскладками. Еще неплохо вырезать прямоугольную область в микросхеме для приоритетной раскладки PCI ядра в нее. Это несколько ограничивает полет фантазии PAR'а и приводит к более предсказуемым результатам.
  13. Угу :( Но ничего сделать нельзя :cranky: Я просмотрел несколько PCI Master/Target блоков от разных производителей - все используют нерегистровые версии PCI сигналов, иначе дизайн получается слишком медленным. Пришлось считать fan-in'ы, прижимать регистры к входным пинам, затягивать констраины. В принципе мы сейчас компилим дизайн с приоритетной раскладкой именно PCI блока в выбранный прямоугольный регион. Этого констраина вкупе с затянутыми Tsetup, Thold и Tout хватает. Получился еще небольшой запас в 1.5ns на Tsetup и порядка 2-2.5ns на Tout.
  14. 2 3.14: максимум один уровень логики после триггеров и регистры не в IOB, но затянутые выходными констраинами по самое не-могу :) А не получилось у qwqw потому, что есть Propagation Delay, равный 10нс, т.е. Tcyc ≥ Tval + Tprop + Tskew + Tsu, Tval = 11ns, Tprop = 10ns, Tskew = 2ns, Tsu=7ns. Под Tprop понимается время распространения сигнала от устройства до устройства и до самого чипсета.
  15. Забыли еще Propagation Delay :) Вот он то все и портит. PCI revision 2.3, секция 7.6.2. Я тоже долгое время не мог понять почему Tsu и Tval ограничены такими незначительными величинами, пока не добрался до этой секции в седьмой главе.
  16. Только по положительному. Входные пины современных FPGA имеют специальные схемы аналоговой задержки, обеспечивающие нулевое время удержания th, потому никаких проблем быть не должно. Вот здесь и есть ваша проблема. Задержка входного сигнала Tsetup не должна превышать 7ns. Могу с уверенностью сказать, что это возможно. Мы закончили наше PCI ядро около месяца назад. Именно с этим временем была связана основная головная боль и проблемы, однако при некоторых ухищрениях выдержать его все же возможно.
  17. По нашему опыту FX2 CY7C68013 превосходит способности ВСЕХ существующих на сегодняшний день хостов. Фактически он в состоянии "убить" любой USB 2.0 High-speed хост без каких бы то ни было проблем. В нашем случае получилось через USB 2.0 high-speed c использованием CY7C68013 пролить ~46MB/s, однако этот результат относится к разряду экстремальных и достижим только на некоторых материнских платах.
  18. Не знаю как для флешей, но для обычных жестких дисков самый первый сектор на диске - MBR. В нем содержится таблица разделов диска. Далее в начале каждого раздела находится BOOT. Так как MBR в вашем случае имеет неправильную структуру, поскольку он BOOT по формату, то винда и не хочет с ним корректно работать и пытается найти MBR на следующей дорожке. Для проверки данного утверждения необходимо все снести с флешки (забить ее нулями) и попытаться выполнить все операции по разметке средствами самой винды. Если запись/чтение реализованы корректно, то проблем быть не должно.
  19. Угу, Qartus 4.2 более расслабленно относился к таймингам и был лучше заточен под старые семейства. У нас была похожая проблема с одним нашим старым устройством. При компиляции Quartus 5.0 прошивка не помещалась в микросхему, а после обрезания некоторой функциональности все равно не работала как было необходимо. Прищлось поставить 4.2, внести изменения и перекомпилировать.
  20. Так и есть. PLL - прожорливые. Питание ядра 1A - зависит от тактовой частоты и частоты переключений триггеров. 1А - очень мало. Я думаю, что это в районе 100-160MHz, с toggle rate порядка 20-30%. При высоких уровнях заполненности и высокой рабочей частоте потребление данного чипа может вырасти до 2-2.5А. В максимуме ток можно прикинуть по количеству питающий болов из расчета порядка 400-500мА на каждый пин. Таким образом для EP2C5F256 с 4 питающими болами на ядро максимальный ток может быть в пределах 1.6-2А, для EP2C8F256 - 2.4-3А. Далее - по аналогии. Расчет подтвержден экспериментальными исследованиями в Квартусе. Было создано два FIFO - одно на памяти, второе - на ячейках. То, которое на памяти занимало всю свободную память, то, которое на ячейках - порядка 75-80% объема кристалла. После установки рабочей частоты порядка 170MHz и Power-симуляции были получены близкие цифры для обоих выше упомянутых образцов.
  21. Значится так, если плата распознается по PCI, значит в MAX'е сидит простейший Target, сливает прошивку с PCI и грузит ее в Cyclone. В хорошем случае для повторения этой платы будет необходима только прошивка Cyclone, потому как совсем немного может войти в MAX окромя таргетной прошивки. В лубом случае, трудоемкость повторения такой платы будет очень высокой.
  22. Сломать MAX совсем не сложно :) Весь вопрос только в сумме денег, которые надо заплатить людям за взлом. http://www.semiresearch.com/default.php?se...code_extraction
  23. Собственно, $subj. Atmel не хочет отдавать даташит ни за деньги ни просто так :( Все что удалось найти в Тырнете это десяток PDF-ников, в которых он упоминается или двухстраничное описание его общей архитектуры без необходимых подробностей. Будем дико благодарны за любую информацию по даному вопросу.
  24. Никогда не задавался такими вопросами. Сама Altera к этому относится нормально. В даташите сказано, что миграция между C35-C50-C70 поддерживается, следовательно проблем с неопределенными уровнями внутри микросхемы быть не должно.
  25. H-m-m, на счет первых Циклонов не скажу - не работал, на счет вторых - скажу точно EP2C20F484 и EP2C35F484 полностью совместимы снизу вверх. Там где у EP2C20F484 NC пины там же у EP2C35F484 находятся VCCIO либо VCCINT пины. Аналогичное могу утверждать и о совместимости снизу вверх EP2C5F256 и EP2C8F256. Может быть у первых Циклонов это правило было нарушено :cranky: Теперь если все же IO попадает на пин питания в старшем семействе. Сконфигурируйте эти пины как входы и не используйте их в дизайне, либо сконфигурируйте как выход и переведите в третье состояние. Ну не вижу я здесь проблем ни с одним ни с другим подходом. А ставить перемычки на пины питания действительно нехорошо - падает способность подсистемы питания быстро реагировать на изменения в потреблении микросхемы, что пагубно отражается на ее работоспособности в режимах близких к предельным.
×
×
  • Создать...