Моделирование, тестирование и диагностика цифровых устройств

Уровни и области моделирования

Разбить на страницы
Показывать лекцию целиком

При автоматизации проектирования и диагностирования цифровых устройств (ЦУ) широкое применение находят системы моделирования. Для представления устройств они требуют соответствующих математических моделей. При проектировании ЦУ следует различать модели устройств и их спецификации . Спецификации описывают устройство в терминах получаемых результатов проектирования, таких как схемы, временные диаграммы и т.п. Модели используются в процедурах проектирования устройств при моделировании в данной области (domain), на данном уровне представления для проверки соответствия заданным спецификациям. Они также применяются для установления соответствия между различными уровнями и областями проектирования.

Области и уровни проектирования

В зависимости от взглядов на природу ЦУ и его организацию, принято рассматривать три области представления: физическая, структурная и поведенческая, которые показаны на , . Для каждой из этих областей различают различные уровни: схемный, логический, языков регистровых передач (ЯРП) и системный. При этом в поведенческой области дается функциональное представление ЦУ, в структурной области описываются блоки архитектуры ДУ, физическая область отражает реальный кристалл (chip). Например, для логического уровня эти три области показаны на рис 1.2.

С другой стороны на рис 1.3 показаны различные уровни для структурной области. В табл.1.1 представлены различные уровни проектирования ДУ для каждой области. Следует отметить, что ЦУ на одном и том же уровне в данной области может быть описано различными способами. Например, ЦУ на логическом уровне в поведенческой области может быть описано с помощью булевых выражений, таблиц, языка программирования, языка описания аппаратуры.

(рис 1.1) Диаграмма уровней абстракции (Гайского-Кана) (рис 1.2) Области представления схемы на логическом уровне (рис 1.3) Уровни абстракции структурной области
Область
УровеньПоведенческаяСтруктурнаяФизическая
СистемныйСистемные спецификацииБлокиКристалл
ЯРПЯРП спецификацииРегистрыМакро ячейки
ЛогическийБулевы функцииЛогические вентилиСтандартные ячейки
СхемныйДифференциальные уравненияТранзисторыМаски

Синтез ЦУ сводится к процессу трансформации проекта от верхнего уровня абстракции к нижнему уровню. Процесс проектирования ЦУ на приведенной диаграмме рис 1.4а) можно отразить в виде последовательного спуска по уровням абстракции по каждой из областей представления. Но спуск по уровням в любой области связан и чередуется с движением по оси иерархии остальных областей. При этом по уровневый характер внутри любой области сочетается с согласованным движением по осям остальных областей. Этот путь состоит из нескольких переходов от одного уровня к другому в одной и той же области; переходе от одной области к другой на том же уровне и оптимизации на любом участке пути. Преобразования носят характер "от нескольких ко многим", что, например, означает существование нескольких структурных реализаций для каждого поведенческого представления и еще больше физических конфигураций для каждой структурной модели.

(рис 1.4) Процесс синтеза

Переходы, показанные на рис 1.4б), представляют различные задачи, решаемые при проектировании. На этой модели синтез соответствует переходу от поведенческой к структурной области. Петля в этом случае соответствует оптимизации на одном и том же уровне. Переход от структурной к физической области соответствует генерации маски (размещения и трассировки), в то время как обратный переход – процессу выделения параметров. При этом из подложки определяются электрические параметры, которые включаются в структурную область для точного моделирования на поведенческом уровне.

На . Дуга 1а переводит различные операции в конкретные подсистемы, процессоры и т.п. Дуга 1b дает описание на уровне ЯРП. ЯРП синтез представлен дугами 2a, 2b, 2c . При этом на шаге 2c выполняется на вентильном уровне оптимизация схемы по некоторым критериям, таким число вентилей, пересечений и т.п. Дуга 3с представляет технологическое отображение. Соответственно 4a и 4b соответствуют логическому синтезу и оптимизации. Остальные дуги 5a, 5b, 5c относятся к физическому синтезу, где генерируются маски. При проектировании на стандартных ячейках достаточно выполнить 5a. Однако, системы на кристалле содержат ядра (cores), что требует привлечения 5с в зависимости от типа ядра.

(рис 1.5) Высокоуровневый синтез

В зависимости от доступности инструментальных средств систем автоматизации проектирования (САПР) и других факторов, разработчики ЦУ могут использовать любой тип синтеза. Чем выше уровень автоматизации, тем быстрее и качественнее выполняется процесс синтеза. Исторически первым автоматизирован был синтез в физической области. Затем была решена проблема автоматизации логического синтеза. И относительно недавно автоматизирована задача автоматизации отображения с ЯРП уровня на логический уровень.

Приведенная многомерная иерархия отражает объективные взаимосвязи разных аспектов проектирования ЦУ и учитывается в методиках по организации процессов проектирования, а также реализуется в системах, поддерживающих автоматизированное проектирование. Сама организация процесса проектирования ЦУ также носит иерархический характер

В процессе проектирования на разных уровнях используются моделирование и синтез, которые являются взаимно дополняющими процедурами. Кроме этого, обычно на каждом уровне производится тестирование проектируемого (или изготовленного) цифрового устройства.

Проектирование ЦУ начинается с разработки технического задания, на базе которого строится функциональная схема, последовательно преобразуемая в реальное устройство. Моделирование на этом этапе используется для приведения функциональной схемы в соответствие со спецификациями.

Далее функциональная модель трансформируется в модель уровня языков регистровых передач, которая строится с использованием таких компонентов как регистры, модули памяти, операционные и управляющие автоматы. На следующем этапе выполняется синтез логических схем для каждого компонента. На уровне ЯРП и логическом уровне, как правило, используется моделирование для верификации проекта. В частности может быть использовано моделирование неисправностей, которое позволяет получать выходные реакции для дефектов, возникающих на этапах производства и эксплуатации. Если данные моделирования показывают на возможный высокий процент таких дефектов, то проект следует корректировать и обеспечить лучшую тестопригодность и восстанавливаемость.

Затем это описание ЦУ логического уровня преобразуется в схемы, после чего проектируется топология кристалла и на основе моделирования определяются реальные физические характеристики проекта, такие как площадь кристалла, временные соотношения и рассеиваемая мощность. По полученным данным можно проверить проектные нормы, определить параметры схемы и выполнить верификацию проекта.

Тестирование

В большинстве случаев тестирование можно рассматривать как эксперимент, в процессе которого на тестируемое устройство подается входное воздействие и снимается выходная реакция , как показано на рис.1.6 .

(рис 1.6) Тестируемое устройство

Обычно целью эксперимента является оценка технического состояния тестируемого устройства, например, в результате мы должны определить – устройство исправно или неисправно. При этом сравнивается выходная реакция тестируемого устройства с эталонной реакцией исправного устройства. Если реальная выходная реакция отличается от эталонной, то считается, что устройство неисправно.

В случае тестирования цифрового логического устройства входное воздействие называется тестовыми входными наборами, которые являются двоичными векторами. При этом каждый бит тестового набора подается на определенный вход (контакт) устройства. Выходные реакции, обычно, снимаются с выходных контактов устройства. Хотя в некоторых случаях возможно наблюдение сигналов в специальных контрольных точках внутри схемы, которые обычно для этого недоступны. Эталонные выходные реакции на тестовые наборы получают либо путем логического моделирования, либо записывают с выходов эталонного устройства. В первом случае необходимо создать модель схемы и выполнить моделирование на данной тестовой последовательности.

Тестирование проводится на различных этапах производства, что представлено в .

ЭтапЦель тестирования
ПроизводствоТестирование изготовленных компонент для отбраковки неисправных
Изготовление ПодложкиТестирование каждого кристалла на подложке
Упаковка в корпусТестирование упакованных чипов и их сортировка для дальнейшего использования (военное, коммерческое, промышленное)
ПриемкаОпределение степени соответствия техническим условиям заказчика
Выборочный контрольТестирование некоторых, но не всех компонентов
Проверка годностиОпределение соответствия устройства спецификациям
Определение параметровОпределение реальных аналоговых и цифровых параметров и соответствия их спецификациям
Испытание с нагрузкойИспытание с повышенной нагрузкой (повышенной температурой, вибрацией и т.п. с целью уничтожения ненадежных компонент)
Ускоренное испытание на старениеОценка времени эксплуатации устройства
Диагностика и восстановлениеЛокализация дефекта в неисправном компоненте
Тестирование качестваОпределение качества компонентов устройства
Функциональный контрольТестирование в процессе функционирования устройства в режиме on-line
Проверка проектированияТестирование корректности проекта

Обычно на этапе производства кристалл на подложке тестируется до первого несовпадения с эталонной реакцией, после чего неисправная компонента убирается. Здесь целью является как можно раннее обнаружение неисправных компонент и сокращение времени тестирования .

Если для некоторых компонент разработаны несколько функциональных тестов , то, как правило, первым запускается тест , проверяющий больше неисправностей. Обычно тесты ранжируются по своей эффективности на основе данных моделирования с неисправностями. Кристалл, прошедший тестирование на подложке, далее пакуется в корпус и снова тестируется, поскольку при этой операции возможно внесение дополнительных дефектов, которые должны быть обнаружены.

Часто интегральные схемы тестируются на максимально возможной рабочей частоте. Это объясняется тем, что стоимость некоторых ИС, например, микропроцессоров, зависит от их рабочей частоты. ИС, имеющие характеристики лучше на 10%, могут стоить дороже на 20-50%.

В случае не прохождения проверяющего теста , часто выполняется этап диагностики, где необходимо локализовать физический дефект с некоторой точностью. Для этого может понадобиться построить дополнительные тестовые наборы, которые помогут решить эту задачу. Следует отметить, что диагностика сильно зависит от доступного оборудования. Если для наблюдения доступны только внешние выходные сигналы (контакты разъема), то задача решается сложнее, чем в том случае, если есть возможность снимать информацию с некоторых внутренних контрольных точек, например, с помощью электронно-лучевого пробника. Диагностика выполняется чаще для цифровых схем на уровне печатных плат, где проще локализовать дефект и есть возможность заменить неисправную компоненту.

Следует отметить, что тестирование имеет большее значение для новых проектов на ранней стадии разработки нетипового устройства, поскольку в этом случае могут применяться новые технологии, непривычные производителю. Для стандартных проектов с отлаженной технологией часто обходятся выборочным тестированием отдельных изделий.

Отметим, что при тестировании устройства, прежде всего, необходимо решить три основных проблемы:

  • Найти тестовые воздействия.
  • Определить корректность выходных реакций.
  • Оценить эффективность входных воздействий.
  • При тестирований цифровых систем они реализуются на следующих этапах:

  • генерация проверяющих тестов ;
  • логическое моделирование исправных схем;
  • моделирование неисправностей;
  • Подготовка диагностической информации.
  • В соответствии с этим последующие лекции разбиты на четыре части:

  • Логическое моделирование исправных цифровых устройств;
  • Логическое моделирование неисправных цифровых устройств;
  • Построение проверяющих тестов ;
  • Сокращение диагностической информации.
  • Ключевые термины:

    Область представления в проектировании ЦУ – поведенческая, структурная, физическая.

    Уровень модели в проектировании - схемный, логический, языков регистровых передач, системный.

    Тесты – специально организуемые входные воздействия для проверки ЦУ.

    Тестирование – процесс проверки ЦУ.

    Краткие итоги

    Данная лекция является вводной в область проектирования ЦУ и показывает место моделирования и тестирования в САПР.

    В разделе "Области и уровни проектирования" описаны области представления: поведенческая, структурная и физическая. Для каждой области описаны различные уровни моделирования, используемые в САПР: схемный, логический, языков регистровых передач и системный.

    В разделе "Тестирование" рассмотрены основные виды и аспекты тестирования .

    Вопросы и упражнения

  • Чем отличаются области проектирования от уровней моделирования?
  • Приведите основные области проектирования.
  • Приведите основные уровни моделирования цифровых устройств.
  • Чем различаются модели устройств и их спецификации?
  • Приведите свой пример трех областей проектирования для логического уровня.
  • Приведите свой пример различных уровней моделирования для структурной области проектирования.
  • В чем суть тестирования устройства?
  • На каких этапах производства интегральных схем используется тестирование ?
  • Назовите основные компоненты тестирования интегральных схем.
  • Страницы:

    При автоматизации проектирования и диагностирования цифровых устройств (ЦУ) широкое применение находят системы моделирования. Для представления устройств они требуют соответствующих математических моделей. При проектировании ЦУ следует различать модели устройств и их спецификации . Спецификации описывают устройство в терминах получаемых результатов проектирования, таких как схемы, временные диаграммы и т.п. Модели используются в процедурах проектирования устройств при моделировании в данной области (domain), на данном уровне представления для проверки соответствия заданным спецификациям. Они также применяются для установления соответствия между различными уровнями и областями проектирования.

    Области и уровни проектирования

    В зависимости от взглядов на природу ЦУ и его организацию, принято рассматривать три области представления: физическая, структурная и поведенческая, которые показаны на , . Для каждой из этих областей различают различные уровни: схемный, логический, языков регистровых передач (ЯРП) и системный. При этом в поведенческой области дается функциональное представление ЦУ, в структурной области описываются блоки архитектуры ДУ, физическая область отражает реальный кристалл (chip). Например, для логического уровня эти три области показаны на рис 1.2.

    С другой стороны на рис 1.3 показаны различные уровни для структурной области. В табл.1.1 представлены различные уровни проектирования ДУ для каждой области. Следует отметить, что ЦУ на одном и том же уровне в данной области может быть описано различными способами. Например, ЦУ на логическом уровне в поведенческой области может быть описано с помощью булевых выражений, таблиц, языка программирования, языка описания аппаратуры.

    (рис 1.1) Диаграмма уровней абстракции (Гайского-Кана) (рис 1.2) Области представления схемы на логическом уровне (рис 1.3) Уровни абстракции структурной области
    Область
    УровеньПоведенческаяСтруктурнаяФизическая
    СистемныйСистемные спецификацииБлокиКристалл
    ЯРПЯРП спецификацииРегистрыМакро ячейки
    ЛогическийБулевы функцииЛогические вентилиСтандартные ячейки
    СхемныйДифференциальные уравненияТранзисторыМаски

    Синтез ЦУ сводится к процессу трансформации проекта от верхнего уровня абстракции к нижнему уровню. Процесс проектирования ЦУ на приведенной диаграмме рис 1.4а) можно отразить в виде последовательного спуска по уровням абстракции по каждой из областей представления. Но спуск по уровням в любой области связан и чередуется с движением по оси иерархии остальных областей. При этом по уровневый характер внутри любой области сочетается с согласованным движением по осям остальных областей. Этот путь состоит из нескольких переходов от одного уровня к другому в одной и той же области; переходе от одной области к другой на том же уровне и оптимизации на любом участке пути. Преобразования носят характер "от нескольких ко многим", что, например, означает существование нескольких структурных реализаций для каждого поведенческого представления и еще больше физических конфигураций для каждой структурной модели.

    (рис 1.4) Процесс синтеза

    Переходы, показанные на рис 1.4б), представляют различные задачи, решаемые при проектировании. На этой модели синтез соответствует переходу от поведенческой к структурной области. Петля в этом случае соответствует оптимизации на одном и том же уровне. Переход от структурной к физической области соответствует генерации маски (размещения и трассировки), в то время как обратный переход – процессу выделения параметров. При этом из подложки определяются электрические параметры, которые включаются в структурную область для точного моделирования на поведенческом уровне.

    На . Дуга 1а переводит различные операции в конкретные подсистемы, процессоры и т.п. Дуга 1b дает описание на уровне ЯРП. ЯРП синтез представлен дугами 2a, 2b, 2c . При этом на шаге 2c выполняется на вентильном уровне оптимизация схемы по некоторым критериям, таким число вентилей, пересечений и т.п. Дуга 3с представляет технологическое отображение. Соответственно 4a и 4b соответствуют логическому синтезу и оптимизации. Остальные дуги 5a, 5b, 5c относятся к физическому синтезу, где генерируются маски. При проектировании на стандартных ячейках достаточно выполнить 5a. Однако, системы на кристалле содержат ядра (cores), что требует привлечения 5с в зависимости от типа ядра.

    (рис 1.5) Высокоуровневый синтез

    В зависимости от доступности инструментальных средств систем автоматизации проектирования (САПР) и других факторов, разработчики ЦУ могут использовать любой тип синтеза. Чем выше уровень автоматизации, тем быстрее и качественнее выполняется процесс синтеза. Исторически первым автоматизирован был синтез в физической области. Затем была решена проблема автоматизации логического синтеза. И относительно недавно автоматизирована задача автоматизации отображения с ЯРП уровня на логический уровень.

    Приведенная многомерная иерархия отражает объективные взаимосвязи разных аспектов проектирования ЦУ и учитывается в методиках по организации процессов проектирования, а также реализуется в системах, поддерживающих автоматизированное проектирование. Сама организация процесса проектирования ЦУ также носит иерархический характер

    В процессе проектирования на разных уровнях используются моделирование и синтез, которые являются взаимно дополняющими процедурами. Кроме этого, обычно на каждом уровне производится тестирование проектируемого (или изготовленного) цифрового устройства.

    Проектирование ЦУ начинается с разработки технического задания, на базе которого строится функциональная схема, последовательно преобразуемая в реальное устройство. Моделирование на этом этапе используется для приведения функциональной схемы в соответствие со спецификациями.

    Далее функциональная модель трансформируется в модель уровня языков регистровых передач, которая строится с использованием таких компонентов как регистры, модули памяти, операционные и управляющие автоматы. На следующем этапе выполняется синтез логических схем для каждого компонента. На уровне ЯРП и логическом уровне, как правило, используется моделирование для верификации проекта. В частности может быть использовано моделирование неисправностей, которое позволяет получать выходные реакции для дефектов, возникающих на этапах производства и эксплуатации. Если данные моделирования показывают на возможный высокий процент таких дефектов, то проект следует корректировать и обеспечить лучшую тестопригодность и восстанавливаемость.

    Затем это описание ЦУ логического уровня преобразуется в схемы, после чего проектируется топология кристалла и на основе моделирования определяются реальные физические характеристики проекта, такие как площадь кристалла, временные соотношения и рассеиваемая мощность. По полученным данным можно проверить проектные нормы, определить параметры схемы и выполнить верификацию проекта.

    Тестирование

    В большинстве случаев тестирование можно рассматривать как эксперимент, в процессе которого на тестируемое устройство подается входное воздействие и снимается выходная реакция , как показано на рис.1.6 .

    (рис 1.6) Тестируемое устройство

    Обычно целью эксперимента является оценка технического состояния тестируемого устройства, например, в результате мы должны определить – устройство исправно или неисправно. При этом сравнивается выходная реакция тестируемого устройства с эталонной реакцией исправного устройства. Если реальная выходная реакция отличается от эталонной, то считается, что устройство неисправно.

    В случае тестирования цифрового логического устройства входное воздействие называется тестовыми входными наборами, которые являются двоичными векторами. При этом каждый бит тестового набора подается на определенный вход (контакт) устройства. Выходные реакции, обычно, снимаются с выходных контактов устройства. Хотя в некоторых случаях возможно наблюдение сигналов в специальных контрольных точках внутри схемы, которые обычно для этого недоступны. Эталонные выходные реакции на тестовые наборы получают либо путем логического моделирования, либо записывают с выходов эталонного устройства. В первом случае необходимо создать модель схемы и выполнить моделирование на данной тестовой последовательности.

    Тестирование проводится на различных этапах производства, что представлено в .

    ЭтапЦель тестирования
    ПроизводствоТестирование изготовленных компонент для отбраковки неисправных
    Изготовление ПодложкиТестирование каждого кристалла на подложке
    Упаковка в корпусТестирование упакованных чипов и их сортировка для дальнейшего использования (военное, коммерческое, промышленное)
    ПриемкаОпределение степени соответствия техническим условиям заказчика
    Выборочный контрольТестирование некоторых, но не всех компонентов
    Проверка годностиОпределение соответствия устройства спецификациям
    Определение параметровОпределение реальных аналоговых и цифровых параметров и соответствия их спецификациям
    Испытание с нагрузкойИспытание с повышенной нагрузкой (повышенной температурой, вибрацией и т.п. с целью уничтожения ненадежных компонент)
    Ускоренное испытание на старениеОценка времени эксплуатации устройства
    Диагностика и восстановлениеЛокализация дефекта в неисправном компоненте
    Тестирование качестваОпределение качества компонентов устройства
    Функциональный контрольТестирование в процессе функционирования устройства в режиме on-line
    Проверка проектированияТестирование корректности проекта

    Обычно на этапе производства кристалл на подложке тестируется до первого несовпадения с эталонной реакцией, после чего неисправная компонента убирается. Здесь целью является как можно раннее обнаружение неисправных компонент и сокращение времени тестирования .

    Если для некоторых компонент разработаны несколько функциональных тестов , то, как правило, первым запускается тест , проверяющий больше неисправностей. Обычно тесты ранжируются по своей эффективности на основе данных моделирования с неисправностями. Кристалл, прошедший тестирование на подложке, далее пакуется в корпус и снова тестируется, поскольку при этой операции возможно внесение дополнительных дефектов, которые должны быть обнаружены.

    Часто интегральные схемы тестируются на максимально возможной рабочей частоте. Это объясняется тем, что стоимость некоторых ИС, например, микропроцессоров, зависит от их рабочей частоты. ИС, имеющие характеристики лучше на 10%, могут стоить дороже на 20-50%.

    В случае не прохождения проверяющего теста , часто выполняется этап диагностики, где необходимо локализовать физический дефект с некоторой точностью. Для этого может понадобиться построить дополнительные тестовые наборы, которые помогут решить эту задачу. Следует отметить, что диагностика сильно зависит от доступного оборудования. Если для наблюдения доступны только внешние выходные сигналы (контакты разъема), то задача решается сложнее, чем в том случае, если есть возможность снимать информацию с некоторых внутренних контрольных точек, например, с помощью электронно-лучевого пробника. Диагностика выполняется чаще для цифровых схем на уровне печатных плат, где проще локализовать дефект и есть возможность заменить неисправную компоненту.

    Следует отметить, что тестирование имеет большее значение для новых проектов на ранней стадии разработки нетипового устройства, поскольку в этом случае могут применяться новые технологии, непривычные производителю. Для стандартных проектов с отлаженной технологией часто обходятся выборочным тестированием отдельных изделий.

    Отметим, что при тестировании устройства, прежде всего, необходимо решить три основных проблемы:

  • Найти тестовые воздействия.
  • Определить корректность выходных реакций.
  • Оценить эффективность входных воздействий.
  • При тестирований цифровых систем они реализуются на следующих этапах:

  • генерация проверяющих тестов ;
  • логическое моделирование исправных схем;
  • моделирование неисправностей;
  • Подготовка диагностической информации.
  • В соответствии с этим последующие лекции разбиты на четыре части:

  • Логическое моделирование исправных цифровых устройств;
  • Логическое моделирование неисправных цифровых устройств;
  • Построение проверяющих тестов ;
  • Сокращение диагностической информации.
  • Ключевые термины:

    Область представления в проектировании ЦУ – поведенческая, структурная, физическая.

    Уровень модели в проектировании - схемный, логический, языков регистровых передач, системный.

    Тесты – специально организуемые входные воздействия для проверки ЦУ.

    Тестирование – процесс проверки ЦУ.

    Краткие итоги

    Данная лекция является вводной в область проектирования ЦУ и показывает место моделирования и тестирования в САПР.

    В разделе "Области и уровни проектирования" описаны области представления: поведенческая, структурная и физическая. Для каждой области описаны различные уровни моделирования, используемые в САПР: схемный, логический, языков регистровых передач и системный.

    В разделе "Тестирование" рассмотрены основные виды и аспекты тестирования .

    Вопросы и упражнения

  • Чем отличаются области проектирования от уровней моделирования?
  • Приведите основные области проектирования.
  • Приведите основные уровни моделирования цифровых устройств.
  • Чем различаются модели устройств и их спецификации?
  • Приведите свой пример трех областей проектирования для логического уровня.
  • Приведите свой пример различных уровней моделирования для структурной области проектирования.
  • В чем суть тестирования устройства?
  • На каких этапах производства интегральных схем используется тестирование ?
  • Назовите основные компоненты тестирования интегральных схем.
  • Вернуться к учебному плану