В этом примере показано, как настроить флэш-аналого-цифровой преобразователь (АЦП) путем добавления вероятности метастабильности в качестве нарушения. Вы можете измерить ухудшение вероятности метастабильности, чтобы подтвердить свою реализацию. В примере также показано влияние метастабильности на динамическую производительность АЦП вспышки. Когда цифровой выход из компаратора неоднозначен (не равен нулю и не равен единице), выход определяется как метастабильный. Неоднозначный выходной сигнал выражается как NaN. В этом примере модель использует функциональный блок MATLAB для добавления нарушения метастабильности в архитектуру flash ADC. Другая подсистема сообщает о вероятности метастабильности на лету.
Извлеките внутреннюю структуру флэш-контроллера ADC, чтобы добавить настраиваемое ухудшение. Добавьте блок Flash ADC из библиотеки Blockset™ смешанных сигналов на холст Simulink ®. Загляните под маску, чтобы найти плоскую структуру АЦП. Скопируйте и вставьте полную структуру в другое новое пустое полотно.

Удалите блок генератора синхросигналов, так как он не используется для синхронизации начала преобразования. Для этого используется внешняя подсистема Stimuli. АЦП флэш-памяти теперь состоит из трех основных компонентов:
Компараторы АЦП флэш-памяти
Счетчик ошибок
Тип выходных данных

Компараторы АЦП флэш-памяти
N-битный АЦП вспышки использует
компараторы параллельно. Сама подсистема сравнения Flash ADC основана на коде MATLAB ®. Перед началом моделирования компараторы вычисляют отдельные опорные напряжения и сохраняют их в векторе. На каждом указанном ребре входные данные сравниваются с привязками, используя способность MATLAB сравнивать векторы. При этом генерируется код термометра, аналогичный реальному АЦП вспышки, без отставания от N отдельных блоков компаратора в модели.
Для создания 10-разрядного АЦП установите значение Number of bits (nbits) в значение 10, Диапазон ввода до [-1 1]и вектор INL в 0. Тип триггера сохраняется в значении по умолчанию Rising edge.
Счетчик ошибок
Подсистема счетчика отказоустойчивых устройств реализует нарушения в архитектуре АЦП флэш-памяти. Реальные АЦП управляют преобразованием из термометра в бинарные через логические схемы. Эта подсистема берет сумму элементов вектора, сохраненную компараторами, и применяет эту сумму к таблице поиска для моделирования отсутствующих кодов, иначе называемых пузырьками.
Установите для параметра Fault Aware Ons Counter: Number of Bits (nbits) значение 10, Диапазон ввода до [-1 1]и коды пузырей для []. Тип триггера сохраняется в значении по умолчанию Rising edge.
Тип выходных данных
Подсистема Output Data Type обрабатывает преобразование типа данных на выходе счетчика Fault Aware Ons в тип данных, указанный в маске Flash ADC.
Разорвать связь библиотеки между блоком «Тип выходных данных» и его библиотекой ссылок. Установить динамический диапазон ввода в [-1 1] и биполярный тип данных для double.
Чтобы добавить ухудшение метастабильности, поместите запускаемую подсистему с функциональным блоком MATLAB после подсистемы компараторов ADC Flash. Функциональный блок MATLAB устанавливает кодовые сигналы термометра на NaNs с вероятностью от генератора равномерных случайных чисел. Блок сбрасывает сигналы на следующем соответствующем ребре, поэтому используется запускаемая подсистема. Этот код используется для реализации подсистемы снижения метастабильности.
% function y = metastability(u, Probability) % mult = ones(size(u)); % mult(rand(size(u)) < Probability(1)) = NaN; % metastability = NaN % y = u .* mult; % end

Укажите вероятность метастабильности, которую необходимо реализовать через постоянный блок, подключенный к порту вероятности.
Чтобы измерить нарушение метастабильности, подсчитайте количество NaNs встречаются и делятся на общее количество выходов компаратора, полученных в ходе полного моделирования. Простая реализация Simulink измерения вероятности метастабильности:

Входы:
Выход АЦП - принимает выходной цифровой код, генерируемый АЦП флэш-памяти.
Сигнал готовности - принимает сигнал готовности, который представляет скорость, с которой происходит цифровое преобразование. Цифровой код генерируется на каждом переднем крае сигналов, принимаемых портом «Ready signal».
Модель, приведенная ниже, объединяет настраиваемый АЦП вспышки с выходом, подключенным к системе измерения вероятности метастабильности. В модели добавлен 10-битный АЦП вспышки с вероятностью метастабильности 1e-6. Подсистема Stimuli генерирует аналоговый сигнал 100 Гц и тактовый сигнал начального преобразования с частотой 100 МГц. АЦП работает со скоростью, определяемой тактовой частотой начального преобразования. Область панели мониторинга обеспечивает поведение числа вероятностей во времени. Блок отображения показывает текущую вероятность, измеряемую подсистемой. Вы должны запустить моделирование в течение достаточно длительного периода времени, чтобы увидеть число вероятностей, рассчитанное на требуемое значение, в данном случае 1e-6.
NBits=10; model1='flashAdc_metastability.slx'; open_system(model1); open_system([bdroot,'/Scope']); sim(model1);


Можно наблюдать влияние метастабильности на динамические характеристики АЦП. Модель показывает две установки флэш ADC систем: одна с метастабильностью, а другая без. Блок постобработки, который принимает поврежденный цифровой выход и преобразует NaNs в нули. Это происходит потому, что цифровой выход с NaNs не может быть распознан анализатором спектра как допустимый сигнал для спектрального анализа. Подключите блок измерения переменного тока АЦП для контроля различных показателей производительности, таких как SNR, ENOB, уровень шума и т.д. Результаты моделирования показывают, что анализ переменного тока вызывает значительное снижение производительности для ADC с метастабильностью, как показано более низким ENOB и более высоким уровнем шума.
model2='flashAdc_metastability_Effect.slx';
open_system(model2);
sim(model2);



Измерение переменного тока АЦП | АЦП флэш-памяти | Источник тактового сигнала выборки