Jump to content

    

Aleх

Участник
  • Content Count

    66
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Aleх

  • Rank
    Участник

Recent Profile Visitors

553 profile views
  1. В тулах с тиклевской консолью как правило поддерживаются все команды bash. К примеру, cp <source> <destination>. Встречал, что в начале перед командой bash надо добавить слово shell, но это редкость, обычно все так работает.
  2. Ошибся, сорри, с утечками все хорошо на минусе. В таком случае, проблемы могут быть только с сильно уплывшим порогом (в той же памяти может поломаться автомат записи), и главное - с холдами. Впрочем, если сделать MPW, как предложили выше, все измерить, и поправить модели транзисторов, то со второй попытки вполне можно получить рабочее изделие. По практике скажу так. Лет 20 назад проектировал микропроцессорную плату, по ТЗ стартующую на -75С. Комплектуха была вся зарубежная, всего лишь на -40 (другой было не достать), в т.ч. срам, процессор, и ПЛИС altera flex 10k (именно такие сейчас копируют в Воронеже). ПЛИС у меня без проблем стартовала, а вот процессор не хотел. Вышел из положения так: с помощью плис формировал несколько последовательных сигналов сброса для процессора, после чего он оживал, и потом работал. Почему делал именно так, уже не помню. Но, все работало в рез-те.
  3. Гарантий никаких, фабрика гарантирует работу только в своем диапазоне, причем перед запуском заставляет подписать кучу бумаг о проведении соотв. проверок в тулах. Выходите за диапазон - лишаетесь гарантий фабрики, безусловно, даже обсуждать никто это не будет. В теории на глубоком минусе происходит эффект вымораживания примесей в п/п - все эти легирования для снижения/повышения порога перестают работать (погуглите, это есть в учебниках по физике п/п). И как будет работать кремний, Вы узнаете только по факту, получив микросхемы на руки, поскольку даже модели транзисторов не охватывают диапазон шире гарантированного фабрикой. Т.е. и спайс моделировать бесполезно, какие бы точные модели транзисторов не были предоставлены фабрикой - в них просто не будет коэффициентов для нужных Вам температур. Думаю, можно предположить, что логика на криогене работать будет, особенно если заложить огромный запас по Холд при проектировании, а вот работа памяти остается под большим вопросом (из-за роста утечек возникнут проблемы с записью, а потом и с хранением информации). Я бы сказал, что на криогене нужно асинхронную логику использовать (при желании сразу куча американских статей гуглится). Но от проблем с использованием памяти это не избавит - память одна и та же, что в синхронной что в асинхронной архитектуре используется. Ячейка статической памяти - это ведь прежде всего аналоговая схема, а значит очень чувствительна к вариациям параметров среды.
  4. Маленькое уточнение. get_cells -of [get_nets ] будет работать криво, поскольку в базе данных обьектов цепь присоединяется к пину, а пин уже принадлежит селле. Поэтому правильнее использовать конструкцию get_cells -of [get_pins -of [get_nets ]] или, к примеру get-nets -of [get_pins -of [get_cells ]]. На самом деле, все и еще сложнее - бывают ассайны (цепь присоединяется к цепи, а не пину), порты (цепь присоединяется к порту, а не пину - разные типы обьектов) и т.д., поэтому найти селлы подключенные к конкретной цепи часто бывает куда сложнее чем может показаться на первый взгляд. И еще одно учтонение - вместо get_object_name можно просто получить property/attribute обьекта через get_attribute (synopsys) или get_property (cadence).
  5. SDC - это не команды Tcl. Скажем так, это команды API синопсиса, которые стали де-факто стандартом для всех rtl2gds тулов, и в сокращенном обьеме - для fpga-тулов. Все тулы поддерживают SDC в разном обьеме. Полный список поддерживаемых команд нужно смотреть в документации на соотв. тул, который собираетесь использовать. Если мы говорим о самом полном списке команд, то смотреть надо в первую очередь пакет Synopsys Galaxy, есть на местном фтп.
  6. Я бы дебажил так 1. Тест паек через jtag boundary scan extest 2. Если пайки в норме, то либо заменить чип (самый простой и очевидный способ), либо пытался бы без выпаивания тестовыми прошивками выявить неисправность. Тестовые прошивки можно испытывать в режиме jtag boundary scan intest, чтобы задействовать все айошки. Что касается брака чипа, он более чем вероятен. Даже если эти чипы делают на xFab, это вовсе не значит, что их потом качественно отбракуют в Воронеже.
  7. Nick_K статическая память является самым уязвимым местом практически по всем параметрам, но только к тзч и радиации. Память - это ведь скорее аналоговое устройство, чем цифровое. Причем, если не рассматривать одиночные сбои (в результате тзч, к примеру), то обычно вылетает сразу целый банк памяти. И вот здесь, подходим к главному вопросу - а где гарантия, что все три канала логики (если речь идет о троировании схемы внутри одной ПЛИС) конфигурируются из разных банков памяти? То, что логика в прошивке троирована, вовсе не означает что троирована и конфигурирующая эту логику память. А банки вылетают не только из-за накопленной дозы - это и выход за температурный режим, и скочки питания, и старение. Сначала накрывается память, а потом все остальное.
  8. DeadCadDance Вы не представляете какую еренду порой пишут в научных журналах. Как говорил один знакомый из научных кругов - статьи пишутся ради статей, поскольку кандидатские должны защищаться. Это проблема не только в рф, но и во всем мире. От издания мало что зависит - ерунду могут и в ieee публиковать. Проблема ПЛИС в том, что прошивка хранится на ячейках памяти, которые и являются самым уязвимым местом. Троировать содержимое прошивки ПЛИС практически бестолку - уязвим сам чип, а не логика, которую он эмулирует. Поэтому резервировать надо сами микросхемы ПЛИС, или модули на ПЛИС. Ну и конечно, вопрос в типе сбоев, в режиме работы, и в том, от чего надо защищаться. Но прошивка плис (т.е. статическая память в ней) уязвима практически ко всем типам воздействий. Хуже обстоят дела разве только с динамической памятью.
  9. Я боюсь, сейчас ни одна ПЛИС не годится для ответственного использования: процессы стали сильно тонкими. Воронеж что то выпускает, но это клон Альтер 20-25 летней давности, которых очень много навставляли в аппаратуру во времена, когда об импортозамещении еще и речи не было. Теперь уже даже фирмы такой (Альтера) нет, а Воронеж до сих пор где то (якобы у нас - но не верю, скорее икс-фаб или Китай) чипы клепает. К тому же защищенность этих Альтер от радиации и прочих факторов и раньше вызывали сомнения: это изначально не были рал-стойкие чипы, а обычный индастриал. Но это, если говорить об использовании одной защищенной ПЛИС. Если же делать резервировании - ставьте что хотите, только побольше. В идеале, думаю, резервировать сразу модули - их легче заменять. Самая большая глупость, какую видел - резервирование внутри ПЛИС, не делайте такого. Что касаетс тестов паек "на лету" - для этого есть интерфейс JTAG. Правда, в некоторых случаях может потребоваться переинициализировать систему после такого теста.
  10. Длительность импульса WR меньше периода частоты ПЛИС. Выходит что других решений, кроме как работать по фронту WR, и быть не может :-)
  11. Рассматривайте входной каскад ПЛИС как интерфейс двупортового пересинхронизационного FIFO : запись ведется по фронту (MS&WR), каждая запись инкрементирует адрес фифо, затем адрес переводим код Грея, и - передаем на вторую половину FIFO, работающую на внутреннем клоке. Частота записи получается не выше 1/3*25=1/75нс, что всяко меньше внутренней частоты ПЛИС. Проблем с наложением записи быть не должно
  12. Почитайте про VPI/PLI, можно писать на всем сразу, стыковать код на разных языках. Уже лет 20 как поддерживается всеми коммерческими симуляторами, но лицензии стоят дорого. А если еще и Verdi докупить/освоить, то получится просто бомба. А без изысков если, то выбрал бы SV/SVA
  13. Латч, по опредлению, это бистабильный триггер, управляемый уровнем. Класическая схема - два инвертора во встречном включении, плюс управление (вспоминаем 6Т память), но может быть вырожден в RS триггер на двух NAND/NOR или во что то другое, в примеру - в синхронный латч, о которых здесь идет речь. Синхронный латч как правило имеет один вход управления, а его тайминг-модель содержит синхронные арки. Поэтому он подходит для STA. А вот, к примеру, модель RS-латча не имеет синхронных арок, и для классического STA не подходит. Далее. Если замкнуть два синхронных латча с разнополярным управлением в кольцо, то действительно получается луп. Просто потому, что фазы клока немного расходятся, и образуется окно времени, где оба латча открыты. Это классическое нарушение Hold. Однако на практике, задержки цепей и логических элементов (представим, что между латчами есть логика) это нарушение исправляют - переходной процесс посто не успевает добежать с выхода одного латча до входа другого. Из чего следует, что луп из двух латчей с разнополярным управлением - уже вовсе не луп, и разрывать его с помощью disable_timing не нужно. Если STA показывает нарушение холд в такой схеме, просто добавьте буферов :-)
  14. Важно понимать, что в случае раздвоения клока на две ветки, переходные процессы в ветвях уже не протекают одинаково - всегда в одной ветке сигнал распостраняется быстрее чем в другой на некую величину, которая может варьироваться от миллионных долей процента до величины, сопоставимой с перидом клока. Т.е. в природе не бывает такого, что клок дошел в две точки одновременно, всегда есть некое скью, которое может быть и большим и малым, в зависимости от задачи, и при этом все работает, не ломается. Прэтому присоединяюсь к колегам - вопрос поставлен некорректно, чего то не хватает.
  15. Лупам неоткуда взяться, если не делать асинхронный автомат записи/чтения. Просто, блок латчей, дешифратор адреса, регистры(латчи) по входу адреса и данных, можно еще по выходу поставить регистры (латчи). Все синхронно, и нет здесь никаких лупов. Другое дело, если вы хотите асинхронную память сделать (где из фронта сигнала записи делается импульс, к примеру). Но ведь и здесь никто не мешает автомат на флопах спроектировать, а сам массив памяти - на латчах. Что касается BIST, то для такой памяти он не обязателен. Это ведь не та память, что делается на пределе DRC норм (или даже по особым правилам, недоступным разработчикам), это ведь обычные штатные латчи, обычныая логика. Если чип не содержит DFT, то и BIST для такой памяти делать нет резона.