Jump to content

    

topor_topor

Свой
  • Content Count

    474
  • Joined

  • Last visited

Community Reputation

0 Обычный

About topor_topor

  • Rank
    Местный
  • Birthday 01/04/1980

Контакты

  • Сайт
    http://
  • ICQ
    0

Recent Profile Visitors

1864 profile views
  1. Самое странное то, что дискуссия о разработке чипа свелась к вопросу на каком линуксе запускать тулы.... Кажется что куча спецов ходит что готовы хоть сейчас за пять минут любой чип сваять и только одно останавливает - на каком линуксе тулзу запустить.....
  2. Рад за вас, что нашли команду которая ваше приложение так чисто исполняет. Держитесь за них :) Из опыта миксид сигнала разное было. Аналог не работает по причине: - ошибка в DFT аналога и нельзя померять, проинвертирован ресет, токи по подложке сбивают уровни с флешки, шумит бендгеп неизвестно от чего, из-за паразитов осцилятор выдаёт PRBS итп. Всё изза разгельдяйской верификации, сжатых сроков и студентов. - в другом проекте дизайн через пень-колоду вне маршрута и быстро с верификацией процентов 20, но всё работает с первого раза благодаря экспертам-дизайнерам - в третьем супер верификация, трекинг багов, ревью, кавереджи, намаз после каждого недельного релиза итп. В результате закоротка в супер реюзнутом IP из-за аккуратного фикса варнинга DRC :) - пробой ESD. Ну не могут люди этот секретный супер блок сдизайнить.
  3. Ok. LCD висит на I2C. На нем же висят AUDIO, EEPROM итд. Если один из них занял порт то ви прави - остальние курят.... Но зачем другим полезним функциям MAIN липнуть? Например можно продолжать реагировать на кнопки, усреднять измерения АЦП итд.
  4. LCD драйвер реализует программный I2C. Соответственно если он идёт в MAIN то забивает надолго любую другую активность. А в отдельном потоке он работает паралельно и не видимо.
  5. Спасибо за дельный совет. Решение красивое и полностью в концепте ООП. Пробую реализовать. Планирую передать объект Command (объект практически та-же структура). Это прекрасно сработает для передачи команды с параметром (данными) от MAIN в таск драйвера. ++++++++++++++++++++++++++++++++++++++ А что делать для команды чтения (типа ReadID например)? Думаю в обратную сторону можно очередь только для голых прочитанных данных использовать. В неё драйвер вложит результат после приёма объекта Command::ReadID. Соответственно со стороны MAIN нужно выдать в командную очередь объект Command::ReadID и делать периодический поллинг появления данных в приёмной очереди (это и будет ID). После получения данных команду ReadID можно считать завершенной. Подскажите пожалуйста если есть другие варианты.
  6. Надо определится что мы называем латчем. Если это асинхронный RS-тригер на 2-х перекрученных NAND (для памяти чёбы не использовать?), то будут лупы. Если это латч в смысле тригер управляемый уровнем а не еджем - то STA по дефолту хавает. Ну можно тайм боровинг задать ещё.
  7. Доброго времени суток. Решил стать программистом :) и заодно изучить связку STM32\FreeRTOS\C++. Хочу запустить драйвер (LCD с I2C напр.) в отдельном таске FreeRTOS, потому что очень медленная комуникация. Драйвер написан как С++ класс. Доступ к методам объекта драйвера (разны команды к LCD) соответственно с другого (MAIN) таска. Просто очередь для обмена командами не подходит, ибо это не поток данных а разнообразные (разно форматные, с разным набором параметров) команды. ++++++++++++ Подскажите пожалуйста есть ли какие стандарты (или красивые способы) для организации доступа к методам такого объекта-драйвера с других тасков? Может есть стандартный интерфейс драйверов для таких случаев?
  8. Ту не вопросс любви а просто SDC: set_disable_timing Если латч имеется ввиду два гейта а не нормальній латч.... 1) Мы же вроде хотим маленькую память с набора тригеров так? А размер BIST контроллерра он какой по сравнению с маленькой памятью? Всё тут относительно конечно. 2) Не поможет. STA на feedback loop будет шипко ругаться на латч в виде двух гейтов.
  9. С латчами одна проблема - они не скан пригодны. Т.е. DFT их автоматом не протестит. Но кто мешает функционально как и память? STA хавает без проблем по дефолту. Можно тайминги расслабить (time borrowing). Никаких проблем с клок три итп. ----- В тест енкаунтере вроде есть поддержка теста латчей... но это не совсем автоматом - надо специальный импульс наружу выводить. У меня чёт не вышло латчи в енкаунтере покрыть ATPGми. Если у кого вышло - научите.
  10. "Дружественное программное обеспечение" к сожалению подробностей разработчик больше не даёт для оценки насколько дружественное... С\С++ есть? STIL формат принимает? И опять-же, это только часть тестера микросхем и годится разве для ручного тестирования корпусированных чипов...штук сто в день :) А тестеры выглядят примерно так: https://www.google.com/search?q=Wafer+Test++equipment&tbm=isch&source=univ&sa=X&ved=2ahUKEwiglPWbudrhAhULUlAKHSALC1AQsAR6BAgJEAE www.larsenassociates.com/Exatron.html
  11. Цифра обично что в чипе что в симуляторе идентично работает. Аналог требует пару итераций с фул маск редизайном. Цифру верифицировать надо чтоби избежать редизайна. Спаре-сэли внедряются для метал редизайна ибо он раза в два дешевле чем фул маск. Первие семпели шатлом делают, что много дешевле. ++++++++++++ А в общем да, если в RTL баги то надо весь техпроцесс заново запускать (тратить те же 2 млн $, в некоторых процессах). Но это не самое страшное :) При серии 100 млн\месяц и если конечные юзеры нашли баг в RTL то плати бабки - за 1$ цены ввёрнутого назад чипа плати примерно 15000$ а это уже плохие новости :(
  12. Как вариант есть куча китайських фирмочек которие делают шатли на старих технологиях до 0.13. Некоторие и аналоговий Тули дают. Можно склепать мелкую серию.... Как минимум демо чип
  13. 10 штук ето в shattle. На такий технологии могу предположить тищ 10уе за штук пять.... А вот если есть вопрос сколько тулзи для проектирования стоят, ви сто обойдется подготовка производства итп. Смоирите више
  14. Для генератора ATPG вообще пофиг как скан цепочка сделана. Хоть прямо в код вписана и синтезина с отдельно флопа плюс мукс, или хоть скан флопы DFT вставлял и в цепь соединял. Более того, шифт регистры DFT тул любит приладить в скан цепь по умолчанию. Вас же не смущает что синтезатор работает бей супер гейтов типа 2AND-3NAND-XOR? Ставим это на цифровом выходе. В скан режиме вдуваем значения в левый тригер. Даём одиночный клок пульс на updateDR и записываем всканенное значение в правый тригер - он задаёт режим аналога (как нам давно и надо было). Во время ATPG клок updateDR не дёргаем - аналог тоже не дёргается. Вход левого тригера подключен к dataIN - т.е. он обзервит выход цифры. clockDR это SCAN_CLK, scan_in - SCAN_IN, scan_out - SCAN_OUT. В итоге имеем полноценную ATPG скан цепь которую сожрет ЕТ. Зачем что-то менять на скановские флопы?