Определение основных размеров создаваемого УГО

Проектирование узлов синхронизации цифровых устройств и встраиваемых микропроцессорных систем, реализуемых на базе ПЛИС фирмы Xilinx серий Artix 7, Kintex 7 и Virtex 7. Часть 1

PDF версия
В настоящее время ПЛИС серий Artix 7, Kintex 7 и Virtex 7 [1–16] являются наиболее широко используемыми кристаллами программируемой логики с архитектурой FPGA (Field Programmable Gate Array) фирмы Xilinx. При разработке цифровых устройств и встраиваемых микропроцессорных систем, реализуемых на основе ПЛИС перечисленных серий, особое внимание следует уделять проектированию их узлов синхронизации.

В большинстве случаев для согласованного функционирования всех компонентов разрабатываемых устройств и систем необходима совокупность тактовых сигналов с различными значениями частоты и фазового сдвига, уровень джиттера которых не превосходит заданных значений. Для формирования и распределения сигналов синхронизации в архитектуре кристаллов программируемой логики серий Artix‑7, Kintex‑7 и Virtex‑7 предусмотрены специальные аппаратные и трассировочные ресурсы. К аппаратным ресурсам относятся блоки управления синхронизацией Clock Management Tile (CMT) и соответствующие буферные элементы. Согласно рекомендациям фирмы Xilinx для реализации узлов формирования тактовых сигналов проектируемых высокопроизводительных устройств и встраиваемых микропроцессорных систем должны применяться только указанные ресурсы. Количество блоков управления синхронизацией в ПЛИС зависит от серии и типа кристалла программируемой логики. В ПЛИС серии Artix‑7 представлено от пяти до десяти блоков CMT, а кристаллы серии Kintex‑7 содержат от шести до десяти блоков управления синхронизацией. Наибольшее число блоков CMT предусмотрено в ПЛИС серии Virtex‑7, которые содержат от двенадцати до двадцати четырех блоков управления синхронизацией. Такое количество блоков CMT обеспечивает возможность организации системы тактирования высокоскоростных устройств и встраиваемых микропроцессорных, проектируемых на базе кристаллов программируемой логики серий Artix‑7, Kintex‑7 и Virtex‑7, без привлечения дополнительных ресурсов.

В настоящей статье рассматриваются различные методы разработки узлов формирования тактовых сигналов на базе блоков управления синхронизацией CMT ПЛИС указанных серий.

 

Структура и функциональные возможности блоков управления синхронизацией CMT ПЛИС серий Artix‑7, Kintex‑7 и Virtex‑7

Основу структуры блоков управления синхронизацией кристаллов программируемой логики серий Artix‑7, Kintex‑7 и Virtex‑7 составляют комбинированный модуль управления синхронизацией Mixed-Mode Clock Managers (MMCM) и модуль фазовой автоподстройки частоты Phase-Locked-Loop (PLL). На рис. 1 изображена структурная схема блоков CMT, используемых в составе архитектуры ПЛИС указанных серий.

Структурная схема блоков CMT, представленных в ПЛИС серий Artix 7, Kintex 7 и Virtex 7

Рис. 1. Структурная схема блоков CMT, представленных в ПЛИС серий Artix 7, Kintex 7 и Virtex 7

Функциональные схемы модулей MMCM и PLL подробно рассмотрены в [17]. Каждый из этих модулей предоставляет возможность осуществления следующих функций:

  • цифровой синтез тактовых сигналов с частотами, определяемыми путем умножения и деления частоты входного сигнала синхронизации на целочисленные коэффициенты M и D;
  • фазовый сдвиг формируемых сигналов синхронизации на заданную величину;
  • устранение расхождения фронтов синтезируемых тактовых сигналов, возникающих при распространении этих сигналов внутри кристаллов или на печатных платах;
  • коррекция скважности выходных сигналов синхронизации;
  • поддержка изменения значений коэффициентов деления и умножения частоты в процессе функционирования через порт динамического реконфигурирования;
  • снижение уровня джиттера.

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

  • поддержка динамического изменения фазового сдвига формируемых тактовых сигналов;
  • наличие режима, обеспечивающего высокую точность фазового сдвига синтезируемых сигналов;
  • возможность использования дробных значений коэффициентов умножения и деления частоты входного сигнала в процессе цифрового синтеза сигналов синхронизации;
  • «размывание» спектра формируемых сигналов с помощью специальной модуляции для снижения уровня электромагнитного излучения;
  • наличие четырех дополнительных инвертированных выходов синтезируемых тактовых сигналов;
  • поддержка каскадного соединения отдельных выходных счетчиков/делителей.

Модули MMCM и PLL, представленные в составе блоков управления синхронизацией ПЛИС серий Artix‑7, Kintex‑7 и Virtex‑7, могут использоваться в разрабатываемых узлах формирования тактовых сигналов как автономно (независимо друг от друга), так и в виде каскадных соединений.

 

Методы описания узлов синхронизации цифровых устройств и встраиваемых микропроцессорных систем, реализуемых на базе блоков CMT ПЛИС серий Artix‑7, Kintex‑7 и Virtex‑7

Для подготовки описаний узлов формирования тактовых сигналов, реализуемых на базе блоков управления синхронизацией CMT ПЛИС серий Artix‑7, Kintex‑7 и Virtex‑7, фирмой Xilinx предоставляются соответствующие библиотечные компоненты. Различные варианты конфигурирования комбинированных модулей управления синхронизацией представлены библиотечными примитивами MMCME2_BASE и MMCME2_ADV. Библиотечный примитив MMCME2_BASE соответствует базовому варианту конфигурирования модулей MMCM, в котором задействуются только наиболее часто востребованные функции этих модулей. Для формирования описаний узлов синхронизации, в которых необходимы расширенные возможности модулей MMCM, предназначен библиотечный компонент MMCME2_ADV. Для модулей фазовой автоподстройки частоты также предлагаются два библиотечных примитива PLLE2_ BASE и PLLE2_ADV, соответствующие двум вариантам конфигурирования — базовому и расширенному.

Управляющая оболочка САПР серии Xilinx ISE (Integrated Synthesis Environment/Integrated Software Environment) — Design Suite [18, 19]. Навигатор проекта (Project Navigator) позволяет использовать следующие методы подготовки описаний узлов формирования тактовых сигналов, разрабатываемых на базе блоков управления синхронизацией ПЛИС серий Artix‑7, Kintex‑7 и Virtex‑7:

  • схемотехнический;
  • на языках описания аппаратуры VHDL и Verilog с использованием соответствующих библиотечных примитивов и шаблонов встроенного HDL-редактора [17];
  • интерактивный, реализуемый с помощью параметризированных IP-ядер, входящих в состав средств CORE Generator [20].

Интегрированная среда разработки PlanAhead поддерживает только два последних метода создания описаний узлов синхронизации, проектируемых на основе блоков CMT кристаллов программируемой логики указанных серий.

Схемотехнический способ подготовки описаний узлов формирования тактовых сигналов для разрабатываемых устройств и встраиваемых микропроцессорных систем отличается наглядностью и простотой определения параметров вырабатываемых сигналов. Применение интерактивного метода предоставляет возможность быстрого создания HDL-описаний узлов синхронизации, реализуемых на базе одиночных модулей MMCM и PLL, с помощью мастера Clocking Wizard. «Ручной» способ создания VHDL- и Verilog-описаний во встроенном HDL-редакторе САПР серии Xilinx ISE Design Suite или интегрированной среды разработки PlanAhead целесообразно использовать при проектировании узлов синхронизации с более сложной структурой, не поддерживаемой мастером Clocking Wizard. В последующих разделах подробно рассматриваются все перечисленные методы разработки описаний узлов синхронизации, реализуемых на основе блоков CMT кристаллов программируемой логики серий Artix‑7, Kintex‑7 и Virtex‑7.

 

Подготовка схемотехнического описания узлов синхронизации проектируемых устройств и встраиваемых микропроцессорных систем, реализуемых на основе ПЛИС серий Artix‑7, Kintex‑7 и Virtex‑7

Для создания схемотехнического описания узла формирования тактовых сигналов нужно прежде всего выполнить процедуру подготовки основы нового исходного модуля проекта. Запуск этой процедуры осуществляется командой New Source из всплывающего меню Project или кнопкой Кнопка, расположенной на дополнительной панели управления Навигатора проекта (Project Navigator). При выполнении указанной команды или нажатии кнопки Кнопка открывается диалоговая панель мастера New Source Wizard с заголовком Select Source Type, в которой надо в качестве типа формируемого модуля исходного описания проекта выбрать вариант Schematic, как показано на рис. 2. Идентификатор и расположение создаваемого модуля схемотехнического описания узла синхронизации указывают в полях редактирования значений параметров File name и Location соответственно. Для автоматического включения формируемого модуля исходного описания в состав проекта индикатор состояния параметра Add to project должен находиться в положении «Включено», отмеченном маркером. После определения указанных параметров создаваемого модуля схемотехнического описания узла формирования тактовых сигналов следует нажатием клавиши «Далее» (Next) перейти к заключительной панели мастера New Source Wizard, которая имеет заголовок Summary. В этой панели отображаются установленные значения основных параметров формируемого модуля исходного описания узла синхронизации, которые нужно подтвердить нажатием клавиши «Готово» (Finish), расположенной в нижней части информационной панели Summary (рис. 2).

Создание основы модуля схемотехнического описания узла синхронизации

Рис. 2. Создание основы модуля схемотехнического описания узла синхронизации

После генерации основы формируемого модуля исходного описания в области расположения дочерних окон Навигатора проекта автоматически открывается новая вкладка окна схемотехнического редактора с названием создаваемой схемы. Кроме того, в рабочей области основного окна Навигатора проекта добавляется вкладка Symbols, предоставляющая доступ к библиотеке компонентов, которую рекомендуется открыть в первую очередь при создании схемотехнического описания узла синхронизации. В верхней части этой вкладки находится встроенная панель Categories, позволяющая выбрать необходимую функциональную группу условных графических образов (УГО) библиотеки компонентов. Для создания схемотехнического описания узла формирования тактовых сигналов нужно открыть категорию Clocking Resources (рис. 3). При выборе указанной группы список условных графических образов компонентов этой категории отображается во встроенной панели Symbols. Список содержит УГО библиотечных примитивов комбинированных модулей управления синхронизацией и модулей фазовой автоподстройки частоты, а также буферных элементов, которые предоставляют доступ к соответствующим ресурсам распределения тактовых сигналов в кристалле [9]. Названия условных графических образов модулей MMCM и PLL, чей вид приведен на рис. 3, совпадают с идентификаторами соответствующих библиотечных примитивов, рассмотренных в предыдущем разделе.

Условные графические образы компонентов узлов синхронизации

Рис. 3. Условные графические образы компонентов узлов синхронизации

В представленных УГО основных компонентов узлов синхронизации используется следующая система условных обозначений входов и выходов:

  • CLKOUT0–CLKOUT5 — выходы тактовых сигналов, формируемых соответствующими выходными счетчиками/делителями;
  • CLKOUT6 — выход сигнала синхронизации, вырабатываемого соответствующим выходным счетчиком/делителем модуля MMCM;
  • CLKOUT0B–CLKOUT3B — выходы инвертированных тактовых сигналов синхронизации, формируемых соответствующими счетчиками/делителями модуля MMCM;
  • DO — выходная шестнадцатиразрядная шина данных порта динамического реконфигурирования DRP;
  • DRDY — выход сигнала готовности данных порта динамического реконфигурирования DRP;
  • PSDONE — выход сигнала, уведомляющего о завершении выполнения операции фазового сдвига в модуле MMCM;
  • CLKFBOUT — выход сигнала синхронизации, предназначенного для подключения ко входу обратной связи;
  • CLKFBOUTB — выход инвертированного тактового сигнала модуля MMCM, предназначенного для подключения ко входу обратной связи;
  • CLKFBSTOPPED — выход сигнала, информирующего о прекращении переключений сигнала на входе обратной связи модуля MMCM;
  • CLKINSTOPPED — выход сигнала, предупреждающего об отсутствии переключений входного тактового сигнала модуля MMCM;
  • LOCKED — выход сигнала, информирующего о достижении режима фазового синхронизма;
  • CLKIN1 — вход основного исходного сигнала синхронизации;
  • CLKIN2 — вход дополнительного сигнала синхронизации;
  • CLKINSEL — вход сигнала управления выбором исходного тактового сигнала;
  • PWRDWN — вход сигнала отключения питания модуля MMCM или PLL, не используемого в течение некоторого интервала времени;
  • RST — вход сигнала асинхронного сброса;
  • DADDR — входная семиразрядная адресная шина порта динамического реконфигурирования DRP;
  • DCLK — вход тактового сигнала для порта динамического реконфигурирования DRP;
  • DEN — вход сигнала разрешения порта динамического реконфигурирования DRP;
  • DI — входная шестнадцатиразрядная шина данных порта динамического реконфигурирования DRP;
  • DWE — вход сигнала разрешения записи данных в порт динамического реконфигурирования DRP;
  • PSCLK — вход тактового сигнала интерфейса управления динамическим изменением фазового сдвига модуля MMCM;
  • PSEN — вход сигнала, разрешающего выполнение операции динамического изменения фазового сдвига в модуле MMCM;
  • PSINCDEC — вход выбора режима динамического изменения фазового сдвига (инкрементный или декрементный) модуля MMCM;
  • CLKFBIN — вход сигнала обратной связи.

В списке, отображаемом во встроенной панели Symbols, необходимо поочередно выбрать требуемые компоненты создаваемого узла синхронизации и, переместив курсор с контурным изображением условного графического образа на поле чертежа, щелчком левой кнопкой мыши зафиксировать расположение УГО на странице формируемой схемы, как показано на рис. 4. Кроме компонентов, представленных в группе Clocking Resources, при создании схемотехнического описания узла формирования тактовых сигналов могут использоваться глобальные буферные элементы, относящиеся к категориям Buffer и IO.

Выбор компонентов схемотехнического описания узла синхронизации

Рис. 4. Выбор компонентов схемотехнического описания узла синхронизации

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

FOi = FCLKIN×CLKFBOUT_MULT_F//(DIVCLK_DIVIDE×CLKOUTi_DIVIDE),    (1)

где FOi — значение частоты сигнала на i‑м выходе счетчика/делителя; FCLKIN — значение частоты входного сигнала синхронизации; CLKFBOUT_MULT_F, DIVCLK_DIVIDE, CLKOUTi_DIVIDE — параметры, задающие значение коэффициента умножения/деления частоты, назначение которых рассматривается ниже.

Для установки необходимых значений параметров настройки модулей MMCM и PLL достаточно выделить соответствующий условный графический образ компонента на поле чертежа и нажать кнопку Кнопка на инструментальной панели, или воспользоваться командой Object Properties из всплывающего меню Edit, или же дважды щелкнуть левой кнопкой мыши при расположении курсора на выбранном УГО. При выполнении указанных действий рядом с выделенным условным графическим образом появляется диалоговая панель параметров настройки компонента, имеющая заголовок Object Properties — Instance Attributes, как демонстрирует рис. 5. В открывшейся диалоговой панели расположена таблица параметров выбранного экземпляра модуля MMCM или PLL, которая включает три колонки с названиями Name, Value и Visible. В ячейках колонки Name отображаются идентификаторы параметров настройки указанных компонентов. Каждая ячейка колонки Value представляет собой поле выбора или редактирования значения соответствующего параметра. В колонке Visible содержатся индикаторы состояния, которые определяют возможность отображения параметров на поле чертежа.

Определение параметров компонентов узла синхронизации

Рис. 5. Определение параметров компонентов узла синхронизации

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

BANDWIDTH — предоставляет возможность выбора алгоритма функционирования модуля MMCM или PLL, обеспечивающего достижение требуемых характеристик формируемых сигналов синхронизации;

  • CLKFBOUT_MULT_F — задает значение множителя в выражении (1), определяющем значение частоты выходных тактовых сигналов;
  • CLKFBOUT_PHASE — указывает значение фазового сдвига тактового сигнала в цепи обратной связи;
  • CLKIN1_PERIOD — определяет значение периода основного входного сигнала синхронизации;
  • CLKIN2_PERIOD — задает значение периода дополнительного входного сигнала синхронизации;
  • CLKOUT0_DIVIDE — указывает значение индивидуального делителя CLKOUTi_DIVIDE в выражении (1), определяющем значение частоты тактового сигнала, формируемого на выходе CLKOUT0 модуля PLL;
  • CLKOUT1_DIVIDE–CLKOUT5_DIVIDE — устанавливают значения индивидуального делителя CLKOUTi_DIVIDE в выражении (1), определяющем значения частот сигналов синхронизации, вырабатываемых на соответствующих выходах модуля MMCM или PLL;
  • CLKOUT0_DIVIDE_F — задает значение индивидуального делителя CLKOUTi_DIVIDE в выражении (1), определяющем значение частоты тактового сигнала, формируемого на выходе CLKOUT0 модуля MMCM;
  • CLKOUT0_DUTY_CYCLE–CLKOUT5_DUTY_CYCLE — определяют значения коэффициента заполнения для соответствующих выходных тактовых сигналов;
  • CLKOUT0_PHASE–CLKOUT6_PHASE — указывают значения фазового сдвига для соответствующих выходных сигналов синхронизации;
  • CLKOUT4_CASCADE — предоставляет возможность применения каскадного соединения выходных счетчиков/делителей модуля MMCM для реализации значения коэффициента деления частоты, превышающего 128;
  • COMPENSATION — позволяет выбрать способ организации обратной связи в конфигурируемом модуле и соответствующий метод фазовой коррекции для входного сигнала синхронизации;
  • DIVCLK_DIVIDE — указывает значение общего делителя в выражении (1), определяющем значения частоты формируемых тактовых сигналов;
  • REF_JITTER1, REF_JITTER2 — задают ожидаемое значение джиттера соответствующего входного сигнала синхронизации для оптимизации работы конфигурируемого модуля;
  • STARTUP_WAIT — предоставляет возможность задержки переключения сигнала DONE, информирующего о завершении конфигурирования кристалла, до момента достижения схемой фазовой автоподстройки частоты режима фазового синхронизма;
  • CLKFBOUT_USE_FINE_PS — позволяет реализовать точное изменение значения фазового сдвига тактового сигнала в цепи обратной связи модуля MMCM;
  • CLKOUT0_USE_FINE_PS–CLKOUT6_USE_FINE_PS — предоставляют возможность точного изменения значения фазового сдвига сигналов синхронизации, формируемых соответствующими выходными счетчиками/делителями модуля MMCM.

Если нужный параметр отсутствует в таблице, отображаемой в диалоговой панели Object Properties — Instance Attributes, следует воспользоваться клавишей New, расположенной в правой части этой панели. При нажатии клавиши на экране появляется диалоговая панель с заголовком New Attribute, чей вид изображен на рис. 5. В открывшейся диалоговой панели необходимо указать идентификатор параметра Attribute Name, его значение Attribute Value и тип Attribute Value Type. Для этого нужно активизировать соответствующее поле выбора или редактирования и ввести с клавиатуры идентификатор и значение параметра. Тип значений параметра выбирают из выпадающего списка, который открывается при нажатии кнопки управления поля Attribute Value Type. После нажатия клавиши ОК, находящейся в нижней части панели New Attribute, указанный параметр и его значение автоматически добавляются в таблицу, представленную в диалоговой панели Object Properties — Instance Attributes.

После установки требуемых параметров компонентов разрабатываемого узла синхронизации нужно включить режим ввода проводников, воспользовавшись кнопкой Кнопка на инструментальной панели схемотехнического редактора или командой Wire из всплывающего меню Add (рис. 6), и выполнить необходимые соединения выводов компонентов, а также сформировать входные и выходные цепи разрабатываемого узла синхронизации. Формирование цепи начинается с фиксации стартовой точки, которая может располагаться на свободном месте поля чертежа или совпадать с контактом вывода одного из компонентов. Для этого следует поместить курсор в требуемую точку на поле чертежа и щелкнуть левой кнопкой мыши. Затем переместить курсор в следующую точку цепи для осуществления соединения с другими цепями и компонентами и установить ее щелком левой кнопки мыши. Конечная точка цепи фиксируется двойным щелчком левой кнопкой мыши.

Выполнение соединений компонентов узла синхронизации

Рис. 6. Выполнение соединений компонентов узла синхронизации

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

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

Определение названий цепей узла синхронизации

Рис. 7. Определение названий цепей узла синхронизации

После формирования цепей, предназначенных для соединений с другими функциональными блоками проектируемого устройства или встраиваемой микропроцессорной системы и контактами кристалла, и присвоения им идентификаторов следует установить маркеры, определяющие назначение этих цепей и направление передачи данных по ним. Для включения режима ввода маркеров внешних цепей следует нажать кнопку Кнопка на панели инструментов или выполнить команду I/O Marker из всплывающего меню Add, после чего к курсору привязывается изображение маркера (рис. 8). Его тип (входной, выходной или двунаправленный) определяется автоматически, если в нажатом состоянии зафиксирована кнопка Add an automatic marker, расположенная на вкладке дополнительных параметров Options рабочей области основного окна Навигатора проекта.

Установка маркеров внешних цепей узла синхронизации

Рис. 8. Установка маркеров внешних цепей узла синхронизации

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

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

Проверка сформированного схемотехнического описания узла синхронизации

Рис. 9. Проверка сформированного схемотехнического описания узла синхронизации

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

Для проверки функционирования разработанного узла синхронизации рекомендуется выполнить этап полного временного моделирования, которое позволяет не только визуально проконтролировать вырабатываемые тактовые сигналы, но и измерить их основные параметры. Указанный этап верификации может выполняться с помощью встроенных средств моделирования САПР серии Xilinx ISE Design Suite — ISIM [21]. Библиотеки этих средств содержат модели комбинированных модулей управления синхронизацией и модулей фазовой автоподстройки частоты.

 

Пример схемотехнического описания узла синхронизации

В качестве примера на рис. 9 приведено схемотехническое описание узла синхронизации Clk_mod, реализуемого на базе модуля MMCM. В этом узле используется внешний тактовый сигнал с частотой 100 МГц, который поступает с соответствующего вывода кристалла программируемой логики и через входной глобальный буферный элемент IBUFG подается на вход комбинированного модуля управления синхронизацией. Представленный узел осуществляет формирование совокупности выходных тактовых сигналов с частотами 100, 150, 120, 300, 50, 75 и 200 МГц. На выходах сигналов синхронизации с частотами 100, 150, 120, 300 МГц установлены глобальные буферные элементы BUFG. В цепи выходных тактовых сигналов с частотами 50, 75 и 200 МГц предусмотрены буферные элементы BUFH.

На рис. 10 представлены временные диаграммы входных и выходных сигналов этого узла, сформированные в процессе полного временного моделирования средствами Xilinx ISIM [9].

Временные диаграммы сигналов узла синхронизации Clk_mod

Рис. 10. Временные диаграммы сигналов узла синхронизации Clk_mod

Для использования разработанного схемотехнического описания узла формирования тактовых сигналов в составе исходного модуля более высокого уровня иерархии проекта рекомендуется создать для него условный графический образ.

 

Создание условного графического образа для сформированного схемотехнического описания узла синхронизации

Средства схемотехнического редактора САПР серии Xilinx ISE Design Suite предоставляют возможность создавать условные графические образы в ручном, автоматическом и интерактивном режиме. Последний режим наиболее эффективен, поскольку позволяет сформировать УГО с минимальными временными затратами в соответствии с требованиями, предъявляемыми к оформлению проектной документации. Поэтому далее рассматривается только интерактивный режим создания УГО для схемотехнического описания узла формирования тактовых сигналов. Для активизации этого режима следует, не закрывая подготовленное схемотехническое описание узла синхронизации, выполнить команду Symbol Wizard из всплывающего меню Tools, в результате на экран выводится стартовая диалоговая панель мастера формирования УГО, которая имеет заголовок Source Page (рис. 11).

Запуск процесса формирования УГО узла синхронизации

Рис. 11. Запуск процесса формирования УГО узла синхронизации

Данная панель позволяет выбрать метод определения обозначений входных, выходных и двунаправленных контактов УГО, а также его форму. Способ описания выводов формируемого символа указывается с помощью двух кнопок с зависимой фиксацией и поля выбора, расположенных во встроенной панели Pin name source. При нажатой кнопке Using schematic информация о выводах нового УГО извлекается автоматически из схемотехнического описания, чье название указано в соответствующем поле выбора. Выпадающий список этого поля содержит названия всех принципиальных схем текущего проекта. В большинстве случаев рекомендуется использовать именно этот способ, так как он позволяет существенно сократить время создания нового УГО. Кнопка Specify manually позволяет выбрать режим ручного описания выводов.

Для определения геометрической формы создаваемого УГО предназначена группа кнопок с зависимой фиксацией, представленных во встроенной панели Shape. Если в нажатом состоянии находится кнопка Do not use reference symbol, то форма выбирается с помощью кнопок Rectangle (прямоугольник) или Square (квадрат). При нажатии кнопки Use reference symbol создаваемый УГО будет иметь форму, аналогичную символу, название которого представлено в поле редактирования. Чтобы указать название файла для УГО, используемого в качестве образца, следует воспользоваться стандартной диалоговой панелью открытия файла, которая вызывается нажатием кнопки Browse. После определения основных параметров процесса формирования условного графического образа необходимо нажать клавишу «Далее» (Next), расположенную в нижней части диалоговой панели Source Page, в результате чего открывается следующая панель мастера Symbol Wizard с заголовком Pin Page, чей вид изображен на рис. 12.

Определение расположения выводов УГО узла синхронизации

Рис. 12. Определение расположения выводов УГО узла синхронизации

Эта диалоговая панель содержит поле редактирования значения параметра Symbol name, в котором указывается название формируемого УГО, и таблицу описания выводов (контактов) Pin definitions. Если был выбран режим ручного описания выводов, то необходимо активизировать поле редактирования Symbol name, после чего ввести с клавиатуры название создаваемого УГО. При автоматическом способе формирования выводов название УГО, совпадающее с названием созданного схемотехнического описания узла синхронизации, автоматически отображается в поле редактирования значения параметра Symbol. Таблица описания выводов Pin definitions содержит четыре колонки. В первой указывается обозначение вывода Name, во второй — его тип Polarity (вход, выход, двунаправленный), в третьей — сторона УГО, с которой он расположен, Side (левая или правая), в четвертой — порядковый номер Order. В режиме ручного описания контактов следует для каждого вывода нажать кнопку Add в диалоговой панели Pin Page, в результате чего в таблице Pin definitions добавляется пустая строка. В новой строке нужно поочередно активизировать каждое поле и установить требуемое значение соответствующего параметра. В автоматическом режиме таблица Pin definitions отображается уже заполненной. При этом разработчику предоставляется возможность изменить тип, расположение и порядковый номер выводов. После завершения редактирования содержимого таблицы описания выводов следует нажать клавишу «Далее» (Next), расположенную в нижней части диалоговой панели Pin Page, после чего появляется очередная диалоговая панель мастера Symbol Wizard, которая имеет заголовок Layout Page (рис. 13).

Определение основных размеров создаваемого УГО

Рис. 13. Определение основных размеров создаваемого УГО

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

Значение параметра Symbol name font size задает размер шрифта названия символа, отображаемого на поле чертежа. В поле выбора значения параметра Pin name font size указывается размер шрифта, используемого для обозначений выводов УГО. Значения параметров Pin length и Pin space определяют соответственно длину выводов символа и расстояние между ними. В поле выбора значения параметра Pin edge указывается размер отступа крайнего вывода от ближайшего угла основного поля УГО. Значение параметра Symbol width задает ширину основного поля символа. В поле выбора значения параметра Symbol origin назначается точка привязки изображения УГО к курсору мыши при его размещении на поле чертежа схемы. По умолчанию в качестве точки привязки используется левый нижний угол поля изображения символа. Определив все необходимые размеры УГО, следует нажать клавишу «Далее» (Next) в нижней части диалоговой панели Layout Page, в результате чего открывается информационная панель с заголовком Preview Page, вид которой демонстрирует рис. 14.

Предварительный просмотр формируемого УГО узла синхронизации

Рис. 14. Предварительный просмотр формируемого УГО узла синхронизации

Изображение сформированного условного графического образа, представленное в этой панели, предназначено для предварительного просмотра. Если сгенерированное изображение УГО не удовлетворяет предъявляемым требованиям, следует вернуться к предыдущим шагам его создания, используя кнопку Кнопка, находящуюся в верхней части информационной и диалоговых панелей мастера Symbol Wizard (рис. 12–14). При получении приемлемого результата нужно нажать кнопку «Готово» (Finish) в нижней части информационной панели, после чего открывается новая вкладка окна схемотехнического редактора, в котором отображается автоматически сформированное изображение УГО, как показано на рис. 15.

Отображение сгенерированного УГО узла синхронизации в схемотехническом редакторе

Рис. 15. Отображение сгенерированного УГО узла синхронизации в схемотехническом редакторе

Выполнив при необходимости все требуемые операции редактирования изображения, следует сохранить УГО в виде файла на диске с помощью команды Save из всплывающего меню File или кнопки Кнопка. При этом сгенерированный условный графический образ узла синхронизации помещается также в рабочую библиотеку текущего проекта разрабатываемого устройства или встраиваемой микропроцессорной системы, после чего он может использоваться в составе модулей схемотехнического описания более высокого уровня иерархии, в частности в модуле верхнего иерархического уровня проекта.n

Продолжение статьи.

Литература
  1. Зотов В. Особенности архитектуры нового поколения ПЛИС с архитектурой FPGA фирмы Xilinx // Компоненты и технологии. 2010. №12.
  2. 7 Series FPGAs Overview. Advance Product Specification. Xilinx, 2015.
  3. Artix‑7 FPGAs Data Sheet: DC and Switching Characteristics. Xilinx, 2015.
  4. Kintex‑7 FPGAs Data Sheet: DC and Switching Characteristics. Xilinx, 2015.
  5. Virtex‑7 FPGAs Data Sheet: DC and Switching Characteristics. Xilinx, 2015.
  6. 7 Series FPGAs Migration. Methodology Guide. Xilinx, 2015.
  7. 7 Series FPGAs Configuration User Guide. Xilinx, 2015.
  8. 7 Series FPGAs SelectIO Resources User Guide. Xilinx, 2015.
  9. 7 Series FPGAs Clocking Resources User Guide. Xilinx, 2015.
  10. 7 Series FPGAs Memory Resources User Guide. Xilinx, 2015.
  11. 7 Series FPGAs Configurable Logic Block User Guide. Xilinx, 2015.
  12. 7 Series FPGAs GTX Transceivers User Guide. Xilinx, 2015.
  13. 7 Series FPGAs Integrated Block for PCIe User Guide. Xilinx, 2015.
  14. 7 Series DSP48E1 Slice User Guide. Xilinx, 2015.
  15. 7 Series FPGAs XADC Dual 12‑Bit 1MSPS Analog-to-Digital Converter User Guide. Xilinx, 2015.
  16. 7 Series FPGAs GTP Transceivers User Guide. Xilinx, 2015.
  17. Зотов В. Разработка VHDL-описаний цифровых устройств, проектируемых на основе ПЛИС фирмы Xilinx, с использованием шаблонов САПР ISE Design Suite // Компоненты и технологии. 2010. № 2–12. 2011. № 1–12. 2012. № 1–12.
  18. Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия – Телеком, 2003.
  19. Зотов В. Ю. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия – Телеком, 2006.
  20. Зотов В. Проектирование цифровых устройств, реализуемых на базе ПЛИС FPGA фирмы Xilinx, с использованием средств CORE Generator // Компоненты и технологии. 2006. № 12. 2007. № 1.
  21. Зотов В. Моделирование цифровых устройств, проектируемых на основе ПЛИС фирмы Xilinx, средствами ISIM в САПР ISE Design Suite // Компоненты и технологии. 2013. № 2–3.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *