Особенности реализации время-цифровых преобразователей на базе программирумых логических интегральных схем (обзор)

Мұқаба

Дәйексөз келтіру

Толық мәтін

Аннотация

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

Толық мәтін

1. ВВЕДЕНИЕ

Время-цифровые преобразователи (ВЦП), предназначенные для измерения длительности временных интервалов, широко применяются в различных областях науки и техники [1], таких как физика элементарных частиц и высоких энергий [2, 3], измерение времени пролета [4, 5] и реализация цифровых блоков фазовой автоподстройки частоты (ФАПЧ) [6, 7]. Коммерчески доступные микросхемы ВЦП имеют заданные производителем характеристики (разрешение, количество каналов и др.), которые зачастую не удовлетворяют требованиям решаемой задачи. Для решения этой проблемы реализуют собственные ВЦП на базе интегральных схем специального назначения (ИССН) или на базе программируемых логических интегральных схем (ПЛИС). Главными преимуществами разработки на базе ИССН являются высокая точность получаемых ВЦП [8] и низкая нелинейность [9]. Однако высокая стоимость, низкая доступность и большое время разработки ограничивают применение данного способа реализации. Разработка на базе ПЛИС имеет значительно более низкую стоимость по сравнению с ИССН, а также требует меньше временных и трудовых затрат. При этом гибкость настройки структуры ПЛИС позволяет реализовывать ВЦП, ориентированные на конкретную задачу. Кроме того, современные ПЛИС практически достигли производительности ИССН [10]. Поэтому в настоящее время активно разрабатываются методы реализации ВЦП на базе ПЛИС, которым будет посвящен данный обзор.

1.1. Основные характеристики ВЦП

Ниже приведены наиболее важные характеристики ВЦП.

  • Разрядность k – количество битов в выходном коде ВЦП. Эта величина определяет количество уровней квантования временного интервала
    N=2k.
  • Разрешение (единица младшего разряда (ЕМР)) τ – изменение измеряемого временного интервала, соответствующее изменению выходного цифрового кода на 1. Вследствие неидеальности ВЦП ЕМР, соответствующая каждому значению выходного кода, различна. За единицу младшего разряда ВЦП принимается усредненная ЕМР [11]:
    τ=1Ni=1Nτi=TN.
    где τi – ЕМР, соответствующая i-му выходному коду, T – максимальный измеряемый временной интервал.
  • Среднеквадратическое отклонение (СКО) σ результатов измерений определяет погрешность ВЦП и рассчитывается по результатам M измерений фиксированного временного интервала:
    σ=1Mj=1Mtjt¯2.
  • Дифференциальная нелинейность (ДНЛ) определяет отклонение реальной ЕМР, соответствующей каждому значению выходного кода, от идеального значения, в качестве которого принимается среднее значение ЕМР τ [12],
    tDNL,i=τiτ.

Обычно ДНЛ выражается в относительных единицах

tDNL,i=τiττ.

Для описания дифференциальной нелинейности ВЦП могут приводиться различные показатели:

  • среднее квадратическое tDNL,σ значений tDNL,i;
  • минимальное и максимальное tDNL,MIN,tDNL,MAX значений tDNL,i;
  • экстремальное значение (наибольшее по модулю) tDNL,EXT значений tDNL,i.
  • Интегральная нелинейность (ИНЛ) описывает изгиб характеристики преобразования ВЦП:
    tINL,i=j=1itDNL,j.

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

  • Диапазон измерений задается минимальным tMIN и максимальным tMAX измеряемыми временными интервалами и определяется методом измерения.
  • Минимальное время между импульсами (“мертвое” время) на входе ВЦП – это минимальное время после прихода предыдущего импульса, через которое ВЦП может принять следующий импульс.
  • Максимальная частота преобразования ограничивает среднюю частоту прихода импульсов.

1.2. Методы измерения временных интервалов

В качестве измеряемого ВЦП временного интервала обычно используется интервал между фронтом импульса на канале Старт и фронтом импульса на канале Стоп. Существуют различные методы измерения временных интервалов. Простейшим методом время-цифрового преобразования является метод последовательного счета, основанный на подсчете количества импульсов тактового сигнала, возникших за измеряемый интервал времени. Точность данного метода ограничена тактовой частотой и недостаточна для многих задач. В настоящее время разработан ряд аналоговых и цифровых методов, позволяющих измерять временные интервалы с точностью до единиц-десятков пикосекунд и менее 1 пс [13, 14].

Цифровые методы в отличие от аналоговых реализуются с применением технологий производства современных цифровых интегральных микросхем, имеют бо́льшую стабильность и скорость преобразования [13]. Кроме того, цифровые методы измерения временных интервалов могут быть реализованы на базе ПЛИС.

Основными цифровыми методами измерения временных интервалов являются:

  1. нониусный метод с использованием двух генераторов;
  2. метод на основе линии задержки;
  3. нониусный метод с использованием двух линий задержки.

1.2.1. Нониусный метод с использованием двух генераторов. Нониусный метод измерения временных интервалов [15] основан на применении двух генераторов тактовых сигналов с частотами f1 = 1/T1 и f2 = 1/T2 (рис. 1). Периоды генераторов различаются на небольшую величину τ = T1T2, которая определяет разрешение ВЦП. Генераторы 1 и 2 запускаются по фронтам импульсов на каналах Старт и Стоп соответственно. Количество импульсов n1 и n2 с выходов генераторов подсчитывается счетчиками. Генерация останавливается, когда схема совпадения обнаруживает совпадение фронтов импульсов генераторов. Измеренный временной интервал вычисляется по формуле

t=n1n2T1n2τ.

 

Рис. 1. Схема ВЦП, основанного на нониусном методе.

 

Преимуществом данного метода является возможность получения высокого разрешения путем уменьшения значения τ. Недостатком является большое время преобразования, равное в худшем случае T1T2 /τ [13], которое растет при уменьшении τ.

1.2.2. Метод на основе линии задержки. Во время-цифровых преобразователях, основанных на линии задержки (рис. 2а), сигнал Старт поступает на набор из N последовательно соединенных элементов задержки (ЭЗ), составляющих линию задержки (ЛЗ) [16]. В момент прихода фронта сигнала Стоп состояние ЛЗ фиксируется в триггерах. Разрешение ВЦП, основанных на данном методе, определяется задержкой τ одного элемента линии задержки. Длительность измеряемого временного интервала определяется по количеству n активированных триггеров (с учетом смещения на половину ЕМР):

t=n+1/2τ.

 

Рис. 2. Схемы ВЦП, основанные на линии задержки: а – метод, основанной на линии из ЭЗ и синхронных D-триггеров; б – метод, основанной на линии задержки из D-триггеров со статическим входом C; в – нониусный метод с использованием двух линий задержки; г – нониусный метод с использованием линии задержки из D-триггеров со статическим входом C.

 

Значение на выходах линии задержки, представляющее собой n единиц и следующие за ними Nn нулей, называемое термометрическим кодом, преобразуется шифратором в десятичное значение, равное n. Максимальный измеряемый временной интервал равен N+1/2τ, таким образом для его повышения необходимо увеличивать длину линии задержки (количество ЭЗ в ней).

Другой вариант реализации ВЦП на основе линии задержки представлен на рис. 2б. В данной схеме роль и ЭЗ, и триггера выполняет D-триггер со статическим входом C. Задержка определяется временем прохождения сигнала через триггер с входа D на выход Q при значении 0 на входе Стоп (1 на входе C триггера). В момент прихода фронта сигнала на вход Стоп значение на входах C триггеров меняется на 0 и состояние ЛЗ фиксируется.

Метод реализации ВЦП, основанный на линии задержки, имеет высокую скорость преобразования, но его разрешение ограничено величиной τ.

1.2.3. Нониусный метод с использованием двух линий задержки. Нониусный метод с использованием двух линий задержки (рис. 2в) является комбинацией двух предыдущих методов [17]. Сигнал Старт подается на первую ЛЗ, состоящую из элементов с задержкой τ1. Сигнал Стоп подается на вторую ЛЗ, состоящую из элементов с задержкой τ2, которая меньше τ1 на небольшое значение

τ = τ1 − τ2,

которое определяет разрешение ВЦП. Выходы ЭЗ первой линии задержки подключаются к входам триггеров D, а второй – к входам C.Длительность измеряемого временного интервала определяется по количеству n активированных триггеров:

t=n+1/2τ.

Другой вариант реализации данного метода показан на рис. 2 г. Роль одной из линий задержки выполняют D-триггеры со статическим входом C.

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

Максимальная длительность измеряемых временных интервалов описанных выше методов ограничена длинной линии задержки и обычно составляет менее 10 нс, что может быть недостаточно для многих применений ВЦП. С целью увеличения диапазона измеряемых временных интервалов применяется метод на базе двухступенчатой схемы преобразования, называемый методом интерполяции Натта [18] (рис. 3а), который заключается в следующем. Методом последовательного счета выполняется грубое измерение временного интервала с точностью до длительности tclk периода тактового сигнала. Для повышения разрешения применяется один из более точных методов, такой как метод на основе линии задержки. Двумя блоками точного измерения времени измеряются длительности tstart и tstop интервалов от фронтов сигналов на каналах Старт и Стоп соответственно до следующего за ними фронта тактового сигнала. Результат измерения длительности временного интервала определяется по формуле (рис. 3б)

t=ncnttclk+tstarttstop,

где ncnt – значение, зафиксированное счетчиком.

 

Рис. 3. Метод Натта: а – схема ВЦП; б – временные диаграммы.

 

1.3. Калибровка ВЦП

Величина задержки на ЭЗ внутри ВЦП зависит от напряжения питания и температуры и может изменяться во времени, что приводит к появлению систематической ошибки в результатах измерения времени [19]. Для компенсации данных воздействий и получения корректных результатов измерений необходимо во время работы ВЦП периодически выполнять его калибровку.

Простейший метод калибровки ВЦП состоит в регистрации двух фронтов тактового сигнала эталонной частоты линией задержки [20]. Скорректированное значение ЕМР определяется по формуле

τ=tclkn2n1,

где n2 и n1 – номера элементов линии задержки, соответствующие фронтам тактового сигнала, tclk – период тактового сигнала эталонной частоты. Такая калибровка выполняется быстро, однако позволяет корректировать только среднюю задержку, но не задержку каждого элемента.

Статистическая калибровка позволяет определять задержку каждого элемента линии [21]. Данный метод калибровки позволяет снижать нелинейность ВЦП. На время калибровки вход ВЦП подключается к источнику равномерно распределенных случайных событий. На практике вместо такого источника обычно применяется генератор тактового сигнала, имеющий период, некоррелированный с периодом tclk тактового сигнала ВЦП [13]. В процессе калибровки ВЦП регистрирует M фронтов сигнала, и строится гистограмма распределения количества ni фронтов сигнала, зарегистрированных на каждом i-м выходе линии задержки ВЦП. Задержка на i-м ЭЗ определяется по формуле [22, 23]

τ'i=nitclkM.

Столбцы гистограммы называются бинами, а задержка элемента – шириной бина. Метод статистической калибровки также называется калибровкой бинов. Скорректированная величина временного интервала при регистрации переключения на i-м выходе линии задержки ВЦП определяется по формуле

t'i=τ'i2+j=1i1τ'j.

Расчет tiʹ может выполняться как с помощью схемы на ПЛИС, так и процессором, синтезированным на ПЛИС, либо входящим в состав системы на кристалле [24]. Полученный по результатам калибровки массив значений tiʹ сохраняется в памяти и затем используется для определения величины измеряемого временного интервала по значению i на выходе шифратора.

2. РЕАЛИЗАЦИЯ ВЦП НА ПЛИС

2.1. Архитектура ПЛИС

Коммерчески доступные ПЛИС создаются с ориентацией на решение наиболее распространенных задач и содержат блоки, выполняющие наиболее базовые задачи: блоки выполнения заданных логических функций, сумматоры и триггеры. При реализации ВЦП на ПЛИС для достижения наилучших характеристик необходимо разрабатывать подходы, учитывающие существующие конфигурации ПЛИС. Сегодня существует множество фирм по всему миру, которые производят ПЛИС. Однако наиболее доступными и наиболее часто используемыми являются ПЛИС фирм Xilinx и Intel (Altera).

Базовыми элементами, из которых состоит ПЛИС, являются конфигурируемые логические блоки (КЛБ). Современные ПЛИС включают в себя от нескольких тысяч до миллионов КЛБ. Конфигурируемый логический блок обычно (например, в ПЛИС Intel и Xilinx) включает в себя: таблицу поиска (look-up-table, LUT), вычисляющую произвольную логическую функцию нескольких переменных, сумматоры, логику переноса разряда, триггеры и множество мультиплексоров для конфигурирования функций КЛБ. КЛБ объединены в столбцы. Соседние КЛБ в столбце соединены цепью переноса разряда. ПЛИС разделена на несколько тактовых регионов, внутри которых смещение тактового сигнала мало́.

Важнейшей проблемой при реализации ВЦП на ПЛИС является построение линии задержки, так как такая структура в явном виде отсутствует в архитектуре ПЛИС.

2.2. Первые реализации ВЦП на ПЛИС

Первая реализация ВЦП на ПЛИС описана в статье [19] 1997 года. В работе использовалась ПЛИС на основе плавких антиперемычек pASIC фирмы QuickLogic, изготовленная по техпроцессу 0.65 мкм. Реализован нониусный метод с использованием линии задержки на основе D-триггеров со статическим входом C. Достигнуто разрешение 200 пс. Позже авторами был реализован нониусный метод с использованием двух ЛЗ и было достигнуто разрешение 100 пс за счет реализации новой архитектуры линии задержки и использования ПЛИС pASIC2 с улучшенным техпроцессом [25]. Кроме того, благодаря реализации метода Натта максимальный измеряемый временной интервал был увеличен с 10 нс до 43 c.

В статье [26] предложено использовать матрицу элементов задержки. Строка матрицы представляет собой линию задержки, состоящую из D-триггеров со статическим входом C. Входной сигнал подается на первую строку матрицы. На каждую последующую строку сигнал приходит с предыдущей строки с задержкой, превышающей суммарную задержку строки. Декодирование фронта сигнала происходит в каждой строке по отдельности, что позволяет за один такт выполнять измерение множества временных интервалов. Минимальное время между импульсами, которое может измерять ВЦП, уменьшается в количество раз, равное количеству строк матрицы. В работе [26] на ПЛИС XCV300 семейства Virtex фирмы Xilinx реализованы две матрицы с 6 строками с тактовыми сигналами, сдвинутыми на 180°. При частоте тактового сигнала 25 МГц минимальное время между фронтами входных сигналов составило 2.5 нс.

Реализации ВЦП на основе линии задержки предложены в ряде работ отечественных авторов [27, 28]. В работе [27] при реализации ВЦП на ПЛИС Cyclone II фирмы Altera (Intel) получено разрешение 315 пс. В статье [28] ВЦП реализован на различных семействах ПЛИС фирмы Xilinx: на Spartan 6 получено разрешение 210 пс, на Artix-7 – 100 пс, на Kintex-7 и Virtex-7 – 50 пс.

В статье [20] предложено использовать в качестве линии задержки цепи, связывающие конфигурируемые логические блоки (КЛБ), такие как цепи переноса разряда сумматора, каскадные цепи, применяемые для увеличения количества входов логической функции, реализуемой КЛБ. В таких цепях ЭЗ и линии передачи имеют низкое время задержки, что позволяет получить высокое разрешение ВЦП. Кроме того, они имеют регулярную структуру, что обеспечивает низкую нелинейность измерения. Благодаря этому данный подход стал основой последующих реализаций ВЦП на ПЛИС. Авторы работы [20] использовали каскадные цепи ПЛИС ACEX 1K фирмы Altera (Intel) для реализации метода на основе ЛЗ.

2.3. Элементы современных ПЛИС, применяемые для реализации линии задержки

Для реализации линии задержки на ПЛИС фирмы Xilinx серий 5 [29], 6 [30] и 7 [31] используются примитивы логики быстрого переноса CARRY4 (рис. 4а) [10], которые входят в состав КЛБ. Входной сигнал подается на вход CIN блока CARRY4 и передается через 5 мультиплексоров на выход COUT. Мультиплексоры выполняют функцию элементов задержки. Один из выходов Si или Ci (i = 0,…,3) подключается к триггеру, фиксирующему состояние элемента задержки по приходу тактового сигнала.

 

Рис. 4. Блоки ПЛИС фирмы Xilinx, на которых реализуется линия задержки: а – CARRY4, б – CARRY8.

 

В ПЛИС Xilinx UltraScale и UltraScale+ используются примитивы CARRY8 (рис. 4б), имеющие структуру, аналогичную CARRY4, но с удвоенным количеством ЭЗ [32, 33]. Также стоит отметить, что в отличие от предыдущих серий, в UltraScale и UltraScale+ мультиплексоры для выбора выходов S или C отсутствуют, и в триггерах могут быть сохранены как 8 значений S, так и 8 значений С.

На ПЛИС фирмы Intel (Altera) линия задержки реализуется на основе цепи переноса разряда сумматоров (рис. 5). КЛБ включает 2 полных сумматора, выход каждого из которых может быть подключен к двум триггерам.

 

Рис. 5. Цепь переноса разряда сумматоров ПЛИС фирмы Intel (Altera), на которой реализуется линия задержки.

 

Также стоит отметить, что между элементами задержки в КЛБ, между соседними КЛБ и от элементов задержки до триггеров также присутствуют паразитные задержки сигнала в линиях передачи. Задержки на мультиплексорах и паразитные задержки не регламентируются точно производителем и могут различаться от элемента к элементу. Задержки между КЛБ значительно превышают задержки на ЭЗ, что приводит к появлению “ультрашироких бинов” (“ultra-wide bin”) и увеличивает нелинейность ВЦП [34].

Неравномерность распространения сигнала в линии задержки, неодновременность прихода тактового сигнала на триггеры и метастабильность приводят к появлению пузырьковой ошибки в термометрическом коде на выходе ЛЗ, реализованной на ПЛИС [35, 36]. В идеальном случае термометрический код представляет собой набор нулей и следующий за ним набор единиц (00…0011…11) или наоборот (11…1100…00). В реальной линии задержки вместо одного переключения с 0 на 1 или с 1 на 0 формируются случайные переключения в окрестности фронта сигнала (например, 00…001011011…11), называемые пузырьковой ошибкой.

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

В качестве выходов линии задержки могут использоваться выходы S или C блока CARRY4. В статье [11] рассматривается работа ВЦП на основе различных комбинаций выходов, называемых паттернами и обозначаемых кодами. Например, при использовании паттерна с кодом SCSC выход ЛЗ берется с выходов S3, C2, S1, C0. Всего существует 24 = 16 паттернов. Авторами определены оптимальные фронты сигналов и паттерны для различных серий ПЛИС Xilinx: передний фронт, SCSC для Kintex-7; задний фронт, SCSC для Virtex-6; задний фронт, SCSS для Spartan-6.

В статье [37] представлен метод, названный авторами методом адаптивного понижения разрешения, который позволяет снизить нелинейность ВЦП. Набор паттернов, рассматриваемых в статье [11], расширен путем пропуска некоторых выходов CARRY4, обозначаемого в коде паттерна буквой N. Таким образом можно получить 34 − 1 = 80 патернов (вырожденный паттерн NNNN исключается). Показано, что наилучшее разрешение достигается при использовании всех четырех выходов CARRY4, а наименьшая нелинейность – при применении паттернов с 3 или 2 выходами, например CCCN, CNCN, NSCN.

2.4. Способы повышения разрешения ВЦП на ПЛИС

Разрешение ВЦП на основе линии задержки ограничено временем задержки на одном элементе линии. Одним из методов преодоления данного ограничения является реализация многократных измерений путем увеличения количества ЛЗ, которым посвящен ряд работ. В статье [38] описан метод повышения разрешения ВЦП в 2 раза путем добавления второй линии задержки, сигнал на которую подается со смещением на время, равное половине задержки на элементе. Предложенный метод позволил получить разрешение 0.5 нс для ВЦП с исходным разрешением 1 нс. В статье [39] предложено использовать множество линий задержки для организации многократных измерений с целью повышения разрешения ВЦП путем усреднения результатов измерений, полученных в отдельных линиях задержки. При использовании 10 ЛЗ со средней задержкой элемента 27 пс реализован ВЦП с разрешением 10 пс. В работе [40] предложен новый подход к реализации ВЦП с параллельными линиями задержки, при котором в отличие от предыдущей работы происходит не усреднение результатов измерений в линиях, а объединением выходов линий в одну эквивалентную линию задержки следующим образом. В каждой линии путем калибровки определяется время прихода сигнала на каждый элемент. Выходы линий задержки объединяются в эквивалентную ЛЗ путем сортировки полученных значений времени. Благодаря тому, что задержки элементов линий имеют случайный характер, при реализации 16 линий задержки в работе [40] достигнуто разрешение 1.14 пс, что примерно в 16 раз меньше разрешения одиночной линии задержки (18.38 пс). В статье приведены графики разрешения ВЦП и СКО результатов измерений при различном количестве линий задержки. Показано, что увеличение количества линий более 8 не дает существенного прироста разрешения и уменьшения СКО. Для уменьшения длины ЛЗ из исходного тактового сигнала с частотой 500 МГц с использованием элементов задержки и инвертора генерируется четыре тактовых сигнала, сдвинутых друг относительно друга примерно на 90°. Фиксация состояния линии задержки происходит по фронту того из 4 тактовых сигналов, который возникает сразу после фронта входного сигнала.

В статье [34] предложен принципиально новый подход для увеличения разрешения ВЦП. Вместо увеличения количества линий задержки, на вход ЛЗ подается последовательность с несколькими передними и задними фронтами сигналов. Таким образом, реализуются многократные измерения с использованием одной линии задержки, что позволяет преодолеть ограничение разрешения, накладываемое элементом задержки, снизить дифференциальную нелинейность ВЦП и решить проблему сверхбольших задержек на границах блоков логических элементов. Такая архитектура получила название Wave Union ВЦП и широко применяется в современных разработках. Для генерации последовательности предложены два устройства [26]:

  1. типа A с конечной переходной характеристикой;
  2. типа B с бесконечной переходной характеристикой.

В Wave Union ВЦП типа A (WU A) в первом блоке, содержащем 16 логических элементов, формируется последовательность, имеющая 1 передний и 2 задних фронта (1…10…01…10…0). По приходу фронта сигнала на вход ВЦП данная последовательность передается в линию задержки, состоящую из 3 блоков (48 элементов), следующих за первым. Результат измерения времени определяется по сумме номеров двух элементов, в которых зафиксированы задние фронты последовательности. Таким образом, реализуются многократные измерения, которые позволяют повысить точность ВЦП.

В Wave Union ВЦП типа B (WU B) для формирования последовательности применяется генератор на логическом элементе NAND с обратной связью через буфер задержки. Период генератора примерно равен периоду опорной частоты. До прихода импульса на вход ВЦП, на выходе генератора зафиксировано значение 1. После прихода фронта сигнала на вход генератор начинает формировать импульсы с периодом, заданным буфером задержки. Сигналы с выхода генератора передаются в линию задержки, состоящую из 48 элементов. Расчет результата измерения времени выполняется на основе состояний ЛЗ в течение 16 тактов опорной частоты, за счет чего достигается усреднение по 16 результатам измерений, однако получение результата измерения также требует в 16 раз больше времени.

Рассмотренный метод Wave Union стал базовым для множества последующих разработок в этой области. В работе [8] рассматривается возможность реализации на ПЛИС ВЦП с большим количеством каналов и высокой пропускной способностью. Применяется архитектура Wave Union типа A. Отмечается, что основные ограничения на максимальную тактовую частоту ВЦП накладываются шифратором и блоком калибровки. Высокая тактовая частота позволяет использовать более короткую линию задержки (при использовании метода Натта) и соответственно уменьшает сложность всей схемы ВЦП. На ПЛИС XC7K325T-2FFG900I семейства Kintex-7 фирмы Xilinx, содержащей 326080 КЛБ, реализован 128-канальный ВЦП с тактовой частотой (скоростью преобразования) 710 МГц.

В статье [41] предложен метод децимации бинов с целью уменьшения нелинейности ВЦП. Данный метод состоит в выравнивании задержки на элементах путем их группировки. Сначала определяются величины задержки на элементах (ширины бинов) с использованием стандартной процедуры, применяемой при калибровке бинов, и выполняется перестановка бинов (см. ниже разд. 2.5). Далее задаются количество бинов децимированной линии задержки и соответствующие идеальные задержки элементов. Определяются выходы элементов исходной ЛЗ, которые наиболее точно соответствуют идеальным. Описанные расчеты выполняются программой MATLAB. Затем синтезируется децимированный ВЦП на основе выбранных элементов задержки. Данную процедуру необходимо выполнять по отдельности для каждого канала ВЦП, а также для каждой ПЛИС, на которой реализуется ВЦП. Децимация позволяет не выполнять калибровку бинов во время работы ВЦП, обеспечивая сравнимую погрешность. Благодаря этому снижается количество используемых ресурсов ПЛИС, в частности, не требуется использование встроенной памяти. Однако при этом снижается разрешение ВЦП.

В работе [42] реализуется ВЦП на ПЛИС семейства Kintex UltraScale фирмы Xilinx. Показано, что для ПЛИС UltraScale важной проблемой являются пузырьковые ошибки. Для снижения влияния пузырьковых ошибок необходимо выполнять перестановку бинов (см. ниже разд. 2.5). Отмечается, что на ПЛИС UltraScale невозможно эффективно реализовать архитектуру Wave Union типа A, так как задержки элементов при переключении из 0 в 1 и из 1 в 0 значительно различаются и при оптимизации (перестановке бинов) линии задержки для работы по переднему фронту она становится неработоспособной по заднему фронту. Для снижения погрешности применяется метод децимации бинов. Аналогичный ВЦП с применением калибровки бинов представлен в работе [43]. Малые задержки на элементах ПЛИС UltraScale позволяют добиться высокого разрешения ВЦП.

Работа [44] развивает предложенную в [8] идею подачи на линию задержки последовательности, состоящей из нескольких фронтов, путем генерации сигнала, состоящего не из двух, а из большего количества фронтов. Показано, что разрешение ВЦП улучшается с ростом количества фронтов последовательности, однако при их количестве большем 6 разрешение изменяется слабо. Далее в работе [44] исследовался ВЦП с 6 фронтами последовательности, формируемыми в ЛЗ аналогично схеме Wave Union типа A [8].

В статье [45] представлен метод повышения разрешения ВЦП, комбинирующий метод, реализующий множество параллельных линий задержки [40] и подачу на вход ЛЗ последовательности с несколькими фронтами [44]. При реализации трех линий задержки, на которые подается последовательность с 6 фронтами, получено разрешение 0.92 пс. В работе [46] реализована двухступенчатая схема, аналогичная описанной в работе [40], для расширения диапазона измеряемых временных интервалов. Подобная архитектура с 4 параллельными ЛЗ WU A с двумя фронтами, названная авторами SuperWU (Super Wave Union), представлена в статье [47].

В работе [48] проводится исследование различных методов повышения разрешения ВЦП (WU A, SuperWU, RippleWU, WU B) и их сравнение. Метод RippleWU, как и WU B, использует генератор импульсов для формирования последовательности, однако в отличие от WU B, частота генератора значительно превышает тактовую частоту ВЦП и преобразование происходит за один такт. Исследованы разрешение и погрешность ВЦП, реализующего метод SuperWU, при различном количестве линий задержки. При реализации SuperWU с одной, двумя и четырьмя ЛЗ на Xilinx Virtex-5 показано, что разрешение улучшается при увеличении количества линий задержки, а погрешность достигает минимального значения 6.5 пс при двух ЛЗ. При реализации SuperWU с количеством линий задержки от 1 до 10 на Xilinx Artix-7 также демонстрируется повышение разрешения с ростом количества ЛЗ, а погрешность достигает минимального значения при 6 линиях. Для метода RippleWU наилучшие показатели получены для последовательности из 6 фронтов. Отмечается, что WU B имеет большую ошибку квантования по сравнению с RippleWU.

В статье [49] метод SuperWU применен для создания ВЦП на базе ПЛИС Xilinx Kintex UltraScale. Путем реализации 8 параллельных линий задержки достигнуто разрешение 0.3 пс. При этом выходы S и C элементов CARRY8 формируют две отдельные ЛЗ. Для решения проблемы пузырьковых ошибок линии задержки из 512 элементов разбиваются на шестнадцать децимированных ЛЗ, состоящих из 32 элементов. В децимированных линиях задержки отсутствуют пузырьковые ошибки. Термометрический код, содержащийся в каждой децимированной ЛЗ, преобразуется шифратором в позиционный 5-битовый код. Итоговый выходной код, соответствующий состоянию исходной линии задержки из 512 элементов, формируется путем суммирования шестнадцати 5-битовых кодов.

В статье [50] представлен ВЦП на ПЛИС Xilinx UltraScale+. Для повышения разрешения реализованы несколько параллельных линий задержки, а для повышения линейности применяется децимация бинов на основе гистограммы. Предложенный метод децимации выполняется на ПЛИС и в отличие от метода, описанного в работе [41], позволяет избежать многократного повторения синтеза и измерения характеристик ВЦП.

В работе [51] на четыре параллельные линии задержки подаются тактовые сигналы со сдвигом на 90°. Фиксация состояния ЛЗ в триггерах происходит по фронту входного сигнала. При реализации ВЦП на ПЛИС Altera (Intel) Cyclone V достигнуто разрешение 1.56 пс.

2.5. Шифратор

Важной проблемой при разработке шифратора ВЦП является наличие в термометрическом коде на выходах линии задержки пузырьковых ошибок. Для реализации шифраторов в ВЦП применяются архитектуры, аналогичные используемым в параллельных аналого-цифровых преобразователях (АЦП) [52].

Базовым методом борьбы с пузырьковыми ошибками является перестановка бинов [8]. Местам возникновения пузырьковой ошибки в линии задержки соответствуют бины нулевой ширины на гистограмме при калибровке. Для коррекции пузырьковой ошибки выход ЛЗ, соответствующий бину нулевой ширины, меняется местами со следующим за ним выходом в термометрическом коде. Процедура перестановка бинов в работе [8] осуществляется для каждого канала ВЦП программой на ПК, и затем выполняется синтез ВЦП на ПЛИС с полученной таблицей связей. Другая процедура перестановки бинов описана в [42, 43]. В процессе калибровки при получении термометрического кода после каждого измерения программа на ПК выполняла корректировку таблицы соединений между выходами линии задержки и битами термометрического кода в ПЛИС. Данная процедура выполнялась 60 тысяч раз и обеспечивала практически полное отсутствие пузырьковых ошибок.

Шифратор на основе мультиплексоров [53], имеющий NOUT выходов, состоит из NOUT – 1 ступеней и задействует

NMUX=i=1NOUT12NOUTi1

двухвходовых мультиплексоров. Задержка данного шифратора имеет порядок O(NOUT). Шифратор на основе мультиплексоров имеет слабую защищенность от пузырьковых ошибок и требует применения дополнительных схем для их коррекции [54, 55].

Схема fat tree состоит из двух ступеней [56]. Первая ступень преобразует термометрический код в унитарный. Вторая ступень преобразует унитарный код в позиционный с использованием набора деревьев, состоящих из элементов “ИЛИ”. Выходы деревьев формируют биты позиционного кода. Задержка сигнала в схеме fat tree имеет порядок O(log2NOUT). Для надежной работы шифратора на основе схемы fat tree необходимо применение дополнительной схемы коррекции пузырьковых ошибок [57].

Надежного преобразования термометрического кода в позиционный при наличии пузырьковых ошибок позволяет добиться метод определения количества единиц во входном термометрическом коде, т. е. сложения всех битов [1]. В статье [58] описана древовидная структура сумматора битов. На первом уровне выполняется суммирование групп по 6 битов термометрического кода тремя блоками LUT. На следующем уровне аппаратные сумматоры складывают попарно полученные трехбитовые коды и формируют четырехбитовые суммы. На каждом последующем уровне количество суммируемых кодов уменьшается в 2 раза, а разрядность увеличивается на 1 бит. С целью повышения рабочей частоты шифратора реализована конвейеризация путем добавления регистров на выходах сумматоров каждого уровня. Задержка сигнала в схеме имеет порядок O(log2NOUT). В статьях [37, 59] показано, что применение шифратора на основе сумматора битов позволяет значительно снизить дифференциальную нелинейность ВЦП.

Более эффективным способом суммирования битов является дерево Уоллеса [60], также применяемое в качестве шифратора ВЦП [24]. Задержка сигнала в схеме дерева Уоллеса имеет порядок O(log1.5NOUT) [56]. Данная схема также может быть конвейеризована путем добавления регистров на выходах сумматоров каждого уровня.

В статье [8] для борьбы с пузырьковыми ошибками предложено использовать блоки LUT ПЛИС. Каждые 5 последовательных выходов линии задержки подаются на два 5-входовых блока LUT. Первый блок LUT предназначен для определения фронта сигнала по комбинации 01111 на входе, а второй – для определения спада по комбинации 11110. В работе [44] используется схожая схема на основе блоков LUT, в которой на один из входов каждого блока подается выход предыдущего. При этом появление 1 на выходе предыдущего LUT блокирует следующий.

Шифратор, предложенный в статье [8], основан на применении операции логическое “ИЛИ” для определения значения каждого бита выходного позиционного кода на основе значений битов входного термометрического кода. При разрядности входного кода 256 битов для получения каждого из 6 выходных битов необходимо выполнить 128-входовую функцию “ИЛИ”. Для реализации данной функции в работе [8] реализовано трехуровневое дерево из 27 6-входовых блоков LUT. Данный шифратор имеет высокое быстродействие, что было необходимо в данной работе для обеспечения высокой скорости преобразования 710 МГц.

2.6. Метастабильное состояние

Если изменение значения на входе триггера D происходит в небольшое временное окно до или после фронта сигнала синхронизации C, выход триггера может перейти в метастабильное состояние между 0 и 1. Через некоторое время триггер переходит в одно из стабильных состояний 0 или 1. Поскольку сигнал на входе ВЦП асинхронен тактовому сигналу, при фиксации состояния линии задержки триггеры, расположение которых в ЛЗ соответствует фронту входного сигнала, могут перейти в метастабильное состояние.

Для снижения влияния метастабильного состояния к выходу каждого триггера линии задержки последовательно подключается еще один [61] или два [62] триггера. Однако в работе [23] отмечается отсутствие влияния метастабильности на работу ВЦП, и поэтому в целях снижения используемых ресурсов дополнительные триггеры не применяются.

2.7. Реализация нониусного метода ВЦП на ПЛИС

Одна из первых реализаций нониусного метода измерения временных интервалов на ПЛИС описана в статье [63]. В качестве генератора импульсов, запускаемого по фронту входного сигнала, выступал кольцевой генератор, реализованный с применением внешней RC-цепи, которая обеспечивала регулировку частоты генератора. В качестве второго генератора применялся внешний кварцевый генератор с частотой 80 МГц.

В статье [9] предложен способ реализации нониусного метода в цифровом виде на ПЛИС без использования внешних элементов. Нониусный метод реализован на базе двух кольцевых генераторов. Период генераторов формировался линиями задержки, длина которых различалась на один элемент. Таким образом разрешение ВЦП определялось задержкой на одном ЭЗ. Поскольку линии задержки, используемые в кольцевых генераторах, значительно короче ЛЗ, применяемых при реализации метода на основе линии задержки, а также не используется шифратор, ВЦП на основе нониусного метода используют значительно меньшее количество ресурсов ПЛИС. Кроме того, реализованный ВЦП имеет низкую нелинейность. Однако ВЦП, основанный на нониусном методе, имеет большое “мертвое” время, которое в работе [9] может составлять до 256 нс. Построение ВЦП, имеющего высокое разрешение, требовало итеративной (около 20–30 итераций) ручной настройки линий задержки, на которых основаны кольцевые генераторы, с использованием осциллографа. В работе [64] авторами более подробно рассмотрен процесс создания ВЦП, предложен алгоритм построения кольцевых генераторов, требующий не более 31 итерации, и реализован 32-канальный ВЦП. По данным, приведенным в статье, можно отметить, что разрешение каналов значительно различается и лежит в диапазоне от 23 до 37 пс. В работе [64] авторы не применяют ручную оптимизацию расположения кольцевых генераторов, что ускоряет реализацию, однако линейность полученного ВЦП хуже, чем в работе [9]. В статье [65] предложена архитектура ВЦП, названная авторами двунаправленной, включающая два параллельных канала измерения времени на основе нониусного метода. В первом канале входной сигнал подается на кольцевой генератор с бо́льшим периодом, а тактовый сигнал – с меньшим. Во втором канале, наоборот, входной сигнал подается на кольцевой генератор с меньшим периодом, а тактовый сигнал – с бо́льшим. Данная архитектура позволила улучшить разрешение ВЦП примерно в 1.5 раза.

В статье [66] предложено вместо кольцевого генератора, запускаемого фронтом тактового сигнала, использовать сам тактовый сигнал. Для повышения скорости работы ВЦП используется 4 тактовых сигнала, сдвинутых на 90°, и схема совпадения активируется при совпадении фронта сигнала, генерируемого кольцевым генератором с любым из четырех тактовых сигналов. Данная архитектура позволила значительно уменьшить количество используемых ресурсов ПЛИС по сравнению с предыдущими работами [9, 64, 65].

Характеристики всех рассмотренных реализаций ВЦП на ПЛИС приведены в табл. 1.

 

Таблица 1. Характеристики рассмотренных реализаций ВЦП на ПЛИС

Статья год

Метод

ПЛИС; техпроцесс

Вари-ант

ЕМР, пс

СКО, пс

ДНЛ

ИНЛ

Макс. врем. инт-л

отн., ЕМР

абс., пс

отн., ЕМР

абс., пс

[19] 1997

ДЛЗ

QuickLogic pASIC; 0.65 мкм

200

[−0.47; 0.44]

[−94; 88]

[−0.2; 1.28]

[−40; 256]

10 нс

[25] 2000

ДЛЗ

QuickLogic pASIC2; 0.65 мкм

110

70

1.88

207

1.78

196

43 с

[26] 2002

ЛЗ

Virtex;

0.22 мкм

150

21 мс

[27] 2009

ЛЗ

Cyclone II; 90 нм

315

153

2.6 мкс

[28] 2013

ЛЗ

Spartan-6; 45 нм

210

Artix-7;

28 нм

100

Kintex-7;

28 нм

50

Virtex-7;

28 нм

50

[20] 2003

ЛЗ

ACEX 1K; 0.22 мкм

400

120

[38] 2004

ЛЗ

Virtex; 0.22 мкм

500

[−0.1; 0.06]**

[−48.5; 31.6]**

[−0.1; 0.08]**

[−48.7; 39.8]**

[39] 2010

ЛЗ

Virtex-I Pro; 130 нм

1 ЛЗ

27

[−1; 2]

[−27; 54]*

[−3; 4]

[−81; 108]*

6.6 нс

МЛЗ

10 ЛЗ

10

24

[−1; 2.5]

[−10; 25]*

[−2.5; 5.5]

[−25; 55]*

[40] 2013

ЛЗ

Spartan-6; 45 нм

1 ЛЗ

18.38

12.8**

[−1; 1.5]**

[−18.3; 27.6]**

[−0.12; 0.12]

[−2.2; 2.2]

10 с

МЛЗ

16 ЛЗ

1.14

6

[−1; 6.75]

[−1.1; 7.7]

[−0.12; 0.12]

[−0.14; 0.14]

[34] 2008

ЛЗ

Cyclone II;

90 нм

60

40

[−0.69; 1.65]**

[−41.4; 99.5]**

[−1.05; 0.80]**

[−63.4; 48.3]**

 

МФ

WU A

30

25

[−1; 1.34]**

[−28.9; 38.6]**

[−2.01; 1.57]**

[−58.2; 45.4]**

WU B

2.44

10

 

[8] 2015

МФ (WU A)

Kintex-7;

28 нм

10.8

8.7

[−0.96; 2.26]**

[−10.3; 24.2]**

[−0.15; 4.23]**

[−1.6; 45.4]**

360 нс

[41] 2015

МФ (WU A)

Kintex-7;

28 нм

17.6

12.7

[−1; 0.84]**

[−17.6; 14.8]**

[−0.82; 0.86]**

[−14.4; 15.1]**

[42] 2016

ЛЗ

Kintex UltraScale; 20 нм

3.29

4.2

[−1; 2.96]**

[−3.3; 9.7]**

[−1.63; 1.96]**

[−5.36; 6.45]**

[43] 2016

ЛЗ

Kintex UltraScale; 20 нм

4.5

3.7

[−1; 2.04]**

[−4.5; 9.2]**

[44] 2013

МФ

Spartan-6; 45 нм

2.7

8

[−1; 4.38]**

[−2.7; 11.8]**

[−8.58; 10.40]

[−23.2; 28.1]*

1 с

[45] 2014

МЛЗ МФ

Spartan-6; 45 нм

0.92

 

2.91

2.67*

15.7

14.44*

0.4 нс

[46] 2016

МЛЗ МФ

Spartan-6; 45 нм

0.92

6

[−1; 6.17]**

[−0.92; 5.68]**

[−26.2; 11.5]

[−24.1; 10.6]*

2 с

[47] 2019

SuperWU

Artix-7;

28 нм

2

9.7

2.1*

4.2

0.2 мс

[48] 2018

WU A

Virtex-5;

65 нм

1 ЛЗ

18.1

7.6

SuperWU

2 ЛЗ

9.2

6.5

4 ЛЗ

4.6

7.7

WU A

Artix-7;

28 нм

1 ЛЗ

8.0**

6.3**

SuperWU

6 ЛЗ

1.3**

3.6**

8 ЛЗ

0.9**

3.7**

RippleWU

Virtex-5;

65 нм

5.4

6.5

[49] 2019

SuperWU

Kintex UltraScale; 20 нм

0.3

8.5

[−1; 62.6]**

[−0.3; 19.1]**

10 мкс

[50] 2023

ЛЗ

UltraScale+; 16 нм

1 ЛЗ

1.9

7.3

[−1.0; 5.5]

[−1.9; 10.3]

[−24.0; 8.2]

[−45.2; 15.3]

42 мс

1 ДЛЗ

4.2

6.5

[−0.9; 1.9]

[−3.9; 7.9]

[−6.4; 2.2]

[−26.7; 9.3]

МЛЗ

2 ДЛЗ

4.2

[−0.8; 0.5]

[−3.3; 2.0]

[−1.7; 2.2]

[−7.1; 9.2]

3 ДЛЗ

4.2

5.9

[−0.6; 0.2]

[−2.7; 0.8]

[−0.2; 2.3]

[−0.7; 9.8]

4 ДЛЗ

4.2

[−0.6; 0.1]

[−2.6; 0.4]

[−1.0; 1.2]

[−4.3; 5.1]

[51] 2019

МЛЗ

Cyclone V; 28 нм

1.56

2.3

[−1; 5.74]**

[−1.6; 9.0]**

[−8.64; 36.8]**

[−13.5; 57.4]**

0.13 мс

[11] 2016

ЛЗ

Kintex-7; 28 нм

10.6

8.13

[−1; 1.45]

[−10.6; 15.4]*

[−1.23; 4.30]

[−13.0; 45.6]*

Virtex-6; 40 нм

10.1

9.82

[−1; 1.18]

[−10.1; 11.9]*

[−3.03; 2.46]

[−30.6; 24.8]*

Spartan-6; 45 нм

16.7

12.75

[−1; 1.22]

[−16.7; 20.4]*

[−0.70; 2.54]

[−11.7; 42.4]*

[37] 2022

ЛЗ

Virtex-6; 40 нм

CCCC

10

7.8

0.77

7.7*

1.57

15.7*

CCCN

13.33

9.2

0.62

8.3*

0.65

8.7*

CNCN

20

9.0

0.30

6*

0.45

9*

NNNC

40

8.4

0.50

20*

0.69

27.6*

SSSS

10

7.4

0.67

6.7*

2.94

29.4*

SSSN

13.33

6.0

0.53

7.1*

1.39

18.5*

SNSN

20

7.8

0.37

7.4*

1.06

21.2*

NNSN

40

7.2

0.38

15.2*

0.77

30.8*

SCCC

10

5.5

0.55

5.5*

1.99

19.9*

CSCN

13.33

8.13

0.70

9.3*

0.59

7.9*

NSCN

20

6.0

0.49

9.8*

0.46

9.2*

[63] 2004

Н

Spartan-XL; 0.35 мкм

250

[9] 2017

Н

Stratix III; 65 нм

31

36

[−0.08; 0.07]

[−2.5; 2.2]*

[−0.09; 0.09]

[−2.8; 2.8]*

1.7 мкс

[64] 2017

Н

Stratix III; 65 нм

37

39

[−0.4; 0.4]

[−14.8; 14.8]*

[−0.7; 0.7]

[−25.9; 25.9]*

[65] 2020

Н

Stratix III; 65 нм

24.5

28

[−0.2; 0.25]

[−4.9; 6.1]*

[−0.03; 0.82]

[−0.7; 20]*

[66] 2022

Н

Artix-7; 28 нм

20

21

[−0.71; 0.06]

[−14.2; 1.2]*

[0; 1.04]

[0; 20.8]*

Kintex-7; 28 нм

20

20

[−0.51; 0.06]

[−10.2; 1.2]*

[0; 0.94]

[0; 18.8]*

Примечание. ЛЗ – метод на основе линии задержки, МЛЗ – метод на основе множества линии задержки, МФ – метод на основе множества фронтов, ДЛЗ – нониусный метод на основе двух линии задержки, Н– нониусный метод, * – вычисленные значения, ** – определено по графикам.

 

3. ЗАКЛЮЧЕНИЕ

На основании данного обзора можно предложить следующие рекомендации по разработке ВЦП на ПЛИС.

  1. Перед началом разработки необходимо определить требования к характеристикам ВЦП (количество каналов, разрешение, погрешность, нелинейность, диапазон измерений и “мертвое” время). Если характеристики коммерчески доступных микросхем ВЦП не удовлетворяют требованиям задачи, рекомендуется в первую очередь рассмотреть возможность реализации требуемого ВЦП на базе ПЛИС, так как она имеет значительно более низкую стоимость по сравнению с созданием ВЦП на базе ИССН, а также требует меньше временных и трудовых затрат, при этом обеспечивая сравнимые характеристики ВЦП.
  2. Для реализации ВЦП на ПЛИС существуют три основных метода. Наиболее распространенным и оптимальным для большинства задач является метод на основе линии задержки. Данный метод реализуется напрямую на ресурсах современных ПЛИС при использовании цепи переноса разряда, что обеспечивает достаточно высокое разрешение ВЦП (несколько десятков пикосекунд). Важным преимуществом метода на основе линии задержки является малое “мертвое” время. Однако неоднородность линии задержки, реализованной на ресурсах ПЛИС, вносит значительную нелинейность (порядка 1 ЕМР). Кроме того, для реализации линии задержки, содержащей обычно порядка 100 элементов, и шифратора требуется достаточное большое количество ресурсов ПЛИС.
    Нониусный метод с использованием двух генераторов использует меньше аппаратных ресурсов, имеет низкую нелинейность, однако серьезным ограничением данного метода является большое “мертвое” время, которое может составлять сотни наносекунд.
    Нониусный метод с использованием двух линий задержки не получил распространения на современных ПЛИС в связи с отсутствием на них ресурсов, подходящих для реализации двух параллельных ЛЗ с немного различающейся задержкой.
  1. При необходимости повышения разрешения можно рассмотреть реализацию нескольких параллельных ЛЗ с формированием эквивалентной линии задержки. Данный метод позволяет добиться высокого разрешения около 1 пс, однако требует значительных аппаратных затрат. Для снижения аппаратных затрат рекомендуется реализовать метод генерации последовательности из двух (Wave Union A) или более (RippleWU) фронтов на каждый фронт входного сигнала. Также можно использовать комбинацию данных методов (SuperWU).
  2. Для компенсации влияния температуры и напряжения на задержку элементов ЛЗ и получения корректных результатов измерений необходимо во время работы ВЦП периодически (каждые несколько секунд) выполнять его калибровку. Кроме того, калибровка позволяет снизить нелинейность ВЦП. Для большинства задач следует использовать метод статистической калибровка. Также для снижения нелинейности может быть использован метод децимации бинов, позволяющий отказаться от статистической калибровки и уменьшить количество используемых ресурсов ПЛИС, однако этот метод снижает разрешение ВЦП. Для компенсации температурной зависимости при использовании метода децимации бинов рекомендуется применять калибровку на основе сигнала эталонной частоты.
  3. Для увеличения диапазона измерений следует применять метод Натта.
  4. При реализации ВЦП на новых ПЛИС, изготовленных по техпроцессу 20 нм и менее (таких как UltraScale), в связи с высокой неоднородностью линии задержки особое внимание нужно уделять проблемам высокой нелинейности и наличия пузырьковой ошибки.
  5. Для решения проблемы наличия пузырьковых ошибок в термометрическом коде на выходе линии задержки рекомендуется применить метод перестановки бинов. Также проблему пузырьковой ошибки позволяет решить применение сумматора битов на основе дерева Уоллеса в качестве шифратора, однако данный метод имеет невысокую скорость работы и требует значительных аппаратных затрат.
  6. При разработке ВЦП на ПЛИС первоначально длина линии задержки определяется приблизительно на основании периода тактового сигнала и величины задержки на одном элементе. Более точное значение требуемой длины определяется исходя из гистограммы, полученной при калибровке на основе номера последнего ненулевого бина. Длина линии задержки должна быть установлена немного больше полученного значения (примерно на 10%), чтобы ЛЗ сохраняла работоспособность в случае уменьшения задержки на элементе при изменении температуры или напряжения питания. Если при калибровке ненулевые бины доходят до конца гистограммы, необходимо увеличить длину линии задержки и повторить процедуру.
  7. Для снижения количества используемых ресурсов ПЛИС рекомендуется уменьшать длину линии задержки. Этого можно достичь путем повышения частоты тактового сигнала. Если достигнута максимально возможная тактовая частота, также можно для уменьшения длины ЛЗ применить генерацию нескольких тактовых сигналов, сдвинутых по фазе, и проводить фиксацию состояния линии задержки по фронту того тактового сигнала, который возникает сразу после фронта входного сигнала.
×

Авторлар туралы

Е. Шелковников

Удмуртский федеральный исследовательский центр Российской академии наук

Email: shlyahtink@udman.ru

Институт механики 

Ресей, 426067, Ижевск, ул. Татьяны Барамзиной, 34

К. Шляхтин

Удмуртский федеральный исследовательский центр Российской академии наук

Хат алмасуға жауапты Автор.
Email: shlyahtink@udman.ru

Институт механики 

Ресей, 426067, Ижевск, ул. Татьяны Барамзиной, 34

Әдебиет тізімі

  1. Henzler S. // Time-to-digital converters. Dordrecht: Springer. 2010. 123 p.
  2. Gao Wu, Gao Deyuan, Wei Tingcun, Hu-Guo C., Yann Hu // 2009 4th IEEE Conference on Industrial Electronics and Applications. Xian, China: IEEE. 2009. P. 1133. https://doi.org/10.1109/ICIEA.2009.5138334
  3. Yuvaraj E., Upadhya S.S., Saraf M.N., John J., Satyanarayana B., Majumder G., Chithra // J. Phys.: Conf. Ser. 2022. V. 2374. № 1. P. 012095. https://doi.org/10.1088/1742-6596/2374/1/012095
  4. Юсупалиев У., Радомский Н.В., Коковин В.А., Шутеев С.А., Юсупалиев П.У. // ПТЭ. 2008. № 1. С. 174
  5. Maatta K., Kostamovaara J. // IEEE Trans. Instrum. Meas. 1998. V. 47. № 2. P. 521. https://doi.org/10.1109/19.744201
  6. Staszewski R.B., Muhammad K., Leipold D., Chih-Ming Hung, Yo-Chuol Ho, Wallberg J.L., Fernando C., Maggio K., Staszewski R., Jung T., Jinseok Koh, John S., Irene Yuanying Deng, Sarda V., Moreira-Tamayo O. et al. // IEEE J. Solid-State Circuits. 2004. V. 39. № 12. P. 2278. https://doi.org/10.1109/JSSC.2004.836345
  7. Staszewski R.B., Vemulapalli S., Vallur P., Wallberg J., Balsara P.T. // IEEE Trans. Circuits Syst. II. 2006. V. 53. № 3. P. 220. https://doi.org/10.1109/TCSII.2005.858754
  8. Liu C., Wang Y. // IEEE Trans. Nucl. Sci. 2015. V. 62. № 3. P. 773. https://doi.org/10.1109/TNS.2015.2421319
  9. Cui K., Ren Z., Li X., Liu Z., Zhu R. // IEEE Trans. Nucl. Sci. 2017. V. 64. № 1. P. 697. https://doi.org/10.1109/TNS.2016.2632168
  10. Machado R., Cabral J., Alves F.S. // IEEE Trans. Instrum. Meas. 2019. V. 68. № 11. P. 4205. https://doi.org/10.1109/TIM.2019.2938436
  11. Won J.Y., Lee J.S. // IEEE Trans. Instrum. Meas. 2016. V. 65. № 7. P. 1678. https://doi.org/10.1109/TIM.2016.2534670
  12. Kalisz J., Pawlowski M., Pelka R. // J. Phys. E: Sci. Instrum. 1987. V. 20. № 11. P. 1330. https://doi.org/10.1088/0022-3735/20/11/005
  13. Kalisz J. // Metrologia. 2004. V. 41. № 1. P. 17. https://doi.org/10.1088/0026-1394/41/1/004
  14. Лютиков И.В., Фомин А.Н., Леусенко В.А. Метрология и радиоизмерения: учебник / Под ред. Д.С. Викторова, Красноярск: Сиб. федер. университет, 2016.
  15. Baron R. // Proc. IRE. 1957. V. 45. № 1. P. 21. https://doi.org/10.1109/JRPROC.1957.278252
  16. Hoppe D.R. Time interpolator: pat. US4439046A USA. 1984.
  17. Hoppe D.R. Differential time interpolator: pat. US4433919A USA. 1984.
  18. Nutt R. // Review of Scientific Instruments. 1968. V. 39. № 9. P. 1342. https://doi.org/10.1063/1.1683667
  19. Kalisz J., Szplet R., Pasierbinski J., Poniecki A. // IEEE Trans. Instrum. Meas. 1997. V. 46. № 1. P. 51. https://doi.org/10.1109/19.552156
  20. Jinyuan Wu, Zonghan Shi, Wang I.Y. // IEEE Nuclear Science Symposium. Conference Record (IEEE Cat. No.03CH37515). Portland, OR, USA: IEEE. 2003. P. 177. https://doi.org/10.1109/NSSMIC.2003.1352025
  21. Pelka R., Kalisz J., Szplet R. // Proceedings of 20th Biennial Conference on Precision Electromagnetic Measurements. Braunschweig, Germany: IEEE. 1996. P. 548. https://doi.org/10.1109/CPEM.1996.547342
  22. Wu J. // IEEE Trans. Nucl. Sci. 2010. V. 57. № 3. P. 1543. https://doi.org/10.1109/TNS.2010.2045901
  23. Traxler M. // 17th IEEE-NPSS Real Time Conference. Lisbon, Portugal: IEEE. 2010. P. 1. https://doi.org/10.1109/RTC.2010.5750361
  24. Carra P., Bertazzoni M., Bisogni M.G., Del Guerra A., Morrocchi M., Pazzi G., Sportelli G., Belcari N. // IEEE Nuclear Science Symposium and Medical Imaging Conference (NSS/MIC). Atlanta, GA: IEEE. 2017. P. 1. https://doi.org/10.1109/NSSMIC.2017.8533060
  25. Szplet R., Kalisz J., Szymanowski R. // IEEE Trans. Instrum. Meas. 2000. V. 49. № 4. P. 879. https://doi.org/10.1109/19.863942
  26. Andaloussi M.S., Boukadoum M., Aboulhamid E.M. // The 14th International Conference on Microelectronics. Beirut, Lebanon: IEEE. 2002. P. 123. https://doi.org/10.1109/ICM-02.2002.1161511
  27. Чулков В.А., Медведев А.В. // ПТЭ. 2009. № 6. С. 31.
  28. Чулков В.А., Нестеренко С.А. // XXI век: итоги прошлого и проблемы настоящего плюс. 2013. № 10. С. 176.
  29. Xilinx. Virtex-5 FPGA User Guide (UG190). 2012.
  30. Xilinx. Spartan-6 FPGA Configurable Logic Block User Guide (UG384). 2010.
  31. Xilinx. 7 Series FPGAs Configurable Logic Block User Guide (UG474). 2016.
  32. Garzetti F., Corna N., Lusardi N., Geraci A. // IEEE Access. 2021. V. 9. P. 85515. https://doi.org/10.1109/ACCESS.2021.3088448
  33. UltraScale Architecture Configurable Logic Block User Guide (UG574). 2017.
  34. Wu J., Shi Z. // 2008 IEEE Nuclear Science Symposium Conference Record. 2008. P. 3440.
  35. Hu X., Zhao L., Liu S., Wang J., An Q. // IEEE Trans. Nucl. Sci. 2013. V. 60. № 5. P. 3544. https://doi.org/10.1109/TNS.2013.2265555
  36. Chen H., Li D.D.-U. // IEEE Trans. Ind. Electron. 2019. V. 66. № 4. P. 3265. https://doi.org/10.1109/TIE.2018.2842787
  37. Dikopoulos E., Birbas M., Birbas A. // Chips. 2022. V. 1. № 3. P. 175. https://doi.org/10.3390/chips1030012
  38. Zieliński M., Chaberski D., Kowalski M., Frankowski R., Grzelak S. // Measurement. 2004. V. 35. № 3. P. 311. https://doi.org/10.1016/j.measurement.2003.12.001
  39. Daigneault M.-A., David J.P. // Proceedings of the 8th IEEE International NEWCAS Conference 2010. Montreal, QC, Canada: IEEE. 2010. P. 281. https://doi.org/10.1109/NEWCAS.2010.5603945
  40. Szplet R., Jachna Z., Kwiatkowski P., Rozyc K. // Meas. Sci. Technol. 2013. V. 24. № 3. P. 035904. https://doi.org/10.1088/0957-0233/24/3/035904
  41. Wang Y., Liu C. // IEEE Trans. Nucl. Sci. 2015. V. 62. № 5. P. 2003. https://doi.org/10.1109/TNS.2015.2475630
  42. Wang Y., Liu C. // IEEE Trans. Nucl. Sci. 2016. V. 63. № 5. P. 2632. https://doi.org/10.1109/TNS.2016.2606627
  43. Wang Y., Liu C. // IEEE Trans. Nucl. Sci. 2016. V. 63. № 5. P. 2617. https://doi.org/10.1109/TNS.2016.2596305
  44. Szplet R., Sondej D., Grzeda G. // Joint European Frequency and Time Forum & International Frequency Control Symposium (EFTF/IFC). Prague, Czech Republic: IEEE. 2013. P. 321. https://doi.org/10.1109/EFTF-IFC.2013.6702285
  45. Sondej D., Szplet R. // 24th International Conference on Field Programmable Logic and Applications (FPL). Munich, Germany: IEEE. 2014. P. 1. https://doi.org/10.1109/FPL.2014.6927382
  46. Szplet R., Sondej D., Grzeda G. // IEEE Trans. Instrum. Meas. 2016. V. 65. № 8. P. 1884. https://doi.org/10.1109/TIM.2016.2555218
  47. Lusardi N., Garzetti F., Geraci A. // Review of Scientific Instruments. 2019. V. 90. № 5. P. 055113. https://doi.org/10.1063/1.5028131
  48. Lusardi N., Garzetti F., Geraci A. // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. 2019. V. 916. P. 204. https://doi.org/10.1016/j.nima.2018.11.100
  49. Lusardi N., Garzetti F., Corna N., Marco R.D., Geraci A. // 2019 IEEE Nuclear Science Symposium and Medical Imaging Conference (NSS/MIC). Manchester, United Kingdom: IEEE. 2019. P. 1. https://doi.org/10.1109/NSS/MIC42101.2019.9059958
  50. Kim J., Jung J.H., Choi Y., Jung J., Lee S. // Nuclear Engineering and Technology. 2023. V. 55. № 2. P. 484. https://doi.org/10.1016/j.net.2022.10.010
  51. Sui T., Zhao Z., Xie S., Xie Y., Zhao Y., Huang Q., Xu J., Peng Q. // IEEE Trans. Instrum. Meas. 2019. V. 68. № 10. P. 3647. https://doi.org/10.1109/TIM.2018.2880940
  52. Palani L., Rajagopal S., Ramana Rao Y.V. // Microprocessors and Microsystems. 2020. V. 73. P. 102974. https://doi.org/10.1016/j.micpro.2019.102974
  53. Sail E., Vesterbacka M. // 2004 IEEE Region 10 Conference TENCON 2004. Chiang Mai, Thailand: IEEE. 2004. P. 250. https://doi.org/10.1109/TENCON.2004.1414916
  54. Bui Van Hieu, Seunghyun Beak, Seunghwan Choi, Jongkook Seon, Jeong T.T. // International Conference on Communications and Electronics 2010. Nha Trang: IEEE. 2010. P. 102. https://doi.org/10.1109/ICCE.2010.5670690
  55. Latha P., Dr. R. Sivakumar, I. P. Pavithra // International Journal of Engineering and Techniques. 2018. V. 4. № 3. P. 7
  56. Daegyu Lee, Jincheol Yoo, Kyusun Choi, Ghaznavi J. // 45th Midwest Symposium on Circuits and Systems, 2002. MWSCAS-2002. Tulsa, OK, USA: IEEE. 2002. V. 2. P. II-87. https://doi.org/10.1109/MWSCAS.2002.1186804
  57. Shen Q., Zhao L., Liu S.-B., Liao S.-K., Qi B.-X., Hu X.-Y., Peng C.-Z., An Q. // Chinese Phys. C. 2013. V. 37. № 10. P. 106102. https://doi.org/10.1088/1674-1137/37/10/106102
  58. Wang Y., Kuang J., Liu C., Cao Q. // IEEE Trans. Nucl. Sci. 2017. V. 64. № 10. P. 2713. https://doi.org/10.1109/TNS.2017.2746626
  59. Tontini A., Gasparini L., Pancheri L., Passerone R. // IEEE Trans. Nucl. Sci. 2018. V. 65. № 2. P. 680. https://doi.org/10.1109/TNS.2018.2790703
  60. Kaes F., Kanan R., Hochet B., Declercq M. // IEEE International Symposium on Circuits and Systems (ISCAS). Hong Kong, China: IEEE. 1997. V. 1. P. 5.
  61. Adamic M., Trost A. // Austrochip Workshop on Microelectronics (Austrochip). Vienna, Austria: IEEE. 2019. P. 29. https://doi.org/10.1109/Austrochip.2019.00017
  62. Favi C., Charbon E. // Proceedings of the ACM/SIGDA international symposium on Field programmable gate arrays. Monterey California USA: ACM. 2009. P. 113. https://doi.org/10.1145/1508128.1508145
  63. Гурин Е.И., Дятлов Л.Е., Коннов Н.Н., Попов К.В., Севастьянов А.В. // ПТЭ. 2004. № 4. С. 44.
  64. Cui K., Li X., Liu Z., Zhu R. // IEEE Trans. Radiat. Plasma Med. Sci. 2017. V. 1. № 5. P. 391. https://doi.org/10.1109/TRPMS.2017.2712260
  65. Cui K., Li X. // IEEE Trans. Instrum. Meas. 2020. V. 69. № 8. P. 5941. https://doi.org/10.1109/TIM.2019.2959423
  66. Xu G., Zha B., Xia T., Zheng Z., Zhang H. // Applied Sciences. 2022. V. 12. № 15. P. 7674. https://doi.org/10.3390/app12157674

Қосымша файлдар

Қосымша файлдар
Әрекет
1. JATS XML
2. Fig. 1. Scheme of the digital converter based on the vernier method.

Жүктеу (18KB)
3. Fig. 2. TDC circuits based on a delay line: a – a method based on a line of EC and synchronous D-triggers; b – a method based on a delay line of D-triggers with a static input C; c – a vernier method using two delay lines; d – a vernier method using a delay line of D-triggers with a static input C.

Жүктеу (51KB)
4. Fig. 3. Natta method: a – VDC diagram; b – timing diagrams.

Жүктеу (38KB)
5. Fig. 4. Xilinx FPGA blocks on which the delay line is implemented: a – CARRY4, b – CARRY8.

Жүктеу (73KB)
6. Fig. 5. The bit transfer chain of the FPGA adders from Intel (Altera), on which the delay line is implemented.

Жүктеу (27KB)

© Russian Academy of Sciences, 2024

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».