Проектирование блоков синхронизации цифровых устройств, реализуемых на базе модулей DCM в ПЛИС FPGA серии Spartan™-3, с помощью «мастера» Architecture Wizard САПР серии Xilinx ISE (часть 2)

№ 6’2007
В качестве примера блока синхронизации цифрового устройства далее приводится VHDL-описание модуля sys_clk_int, который предназначен для реализации на основе ПЛИС семейства Spartan-3E.

Пример блока синхронизации цифрового устройства, созданного с помощью «мастера» Architecture Wizard в соответствии с конфигурацией Single DCM_SP

Все статьи цикла:

В качестве примера блока синхронизации цифрового устройства, сгенерированного с помощью «мастера» Architecture Wizard в соответствии с конфигурацией Single DCM_SP, далее приводится VHDL-описание модуля sys_clk_int, который предназначен для реализации на основе ПЛИС семейства Spartan-3E. Этот модуль осуществляет формирование следующих выходных тактовых сигналов:

  • четырех сигналов с частотой 50 МГц с нулевым фазовым сдвигом и сдвигом по фазе на четверть, половину и три четверти периода;
  • сигнала с частотой 25 МГц, получаемого путем двукратного деления частоты исходного сигнала;
  • двух противофазных сигналов (без фазового сдвига и с фазовым сдвигом, равным половине периода) с частотой 100 МГц, которые вырабатываются методом двукратного умножения частоты исходного сигнала;
  • двух противофазных сигналов (с нулевым фазовым сдвигом и сдвигом по фазе на половину периода) с частотой 125 МГц, производимых синтезатором частот.

В качестве исходного тактового сигнала в блоке sys_clk_int используется внешний сигнал синхронизации с частотой 50 МГц. Формирование выходных тактовых сигналов с такой частотой осуществляется с коррекцией скважности. Выходы этих сигналов модуля DCM подключены к глобальным буферным элементам. Выходной сигнал с частотой 50 МГц с нулевым фазовым сдвигом транслируется к тактируемым компонентам разрабатываемого устройства через глобальный буферный элемент BUFG, который включен в состав блока синхронизации sys_clk_int. В цепи выходных сигналов с частотой 50 МГц и фазовым сдвигом на четверть, половину и три четверти периода предусмотрены глобальные буферные элементы с входом разрешения синхронизации BUFGCE. В качестве сигнала, поступающего на вход обратной связи модуля DCM, используется выходной сигнал с частотой 50 МГц с нулевым фазовым сдвигом. Структурное описание блока синхронизации sys_clk_int на языке VHDL, сформированное «мастером» Architecture Wizard, выглядит следующим образом:

В начале представленного VHDL-описания в виде комментариев приведена информация о названии проекта блока синхронизации, типе и параметрах ПЛИС, выбранной для его реализации, и применяемых средствах синтеза. Затем приводятся ссылки на используемые библиотеки и пакеты этих библиотек. Далее следует объявление объекта sys_clk_int, представляющего формируемый блок синхронизации, с описанием его интерфейса. Последующая часть содержит структурное описание объекта sys_clk_int, в начале которого декларируются внутренние сигналы проектируемого блока синхронизации и используемые компоненты. Основой сформированного описания блока синхронизации является библиотечный компонент DCM_SP, который представляет модуль DCM кристаллов семейств Spartan-3E и Spartan-3A. Кроме того, в составе сгенерированного блока sys_clk_int используются библиотечные компоненты глобальных входных и выходных буферных элементов IBUFG, BUFG, BUFGCE. Главная часть определения архитектуры описываемого блока синхронизации выполнена в виде совокупности операторов создания (конкретизации) экземпляров компонентов с указанием их взаимосвязей.

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

  • CLKIN_IN — вход исходного тактового сигнала;
  • CLKFB_IN — вход сигнала обратной связи;
  • CLK90_ENABLE_IN — вход разрешения выходного сигнала с частотой 50 МГц со сдвигом фазы на четверть периода;
  • CLK180_ENABLE_IN — вход разрешения выходного сигнала с частотой 50 МГц со сдвигом фазы на половину периода;
  • CLK270_ENABLE_IN — вход разрешения выходного сигнала с частотой 50 МГц со сдвигом фазы на три четверти периода;
  • RST_IN — вход сигнала сброса;
  • CLKDV_OUT — выход сигнала с частотой 25 МГц;
  • CLKIN_IBUFG_OUT — выход исходного тактового сигнала, снимаемого с входного буферного элемента;
  • CLK0_OUT — выход сигнала с частотой 50 МГц с нулевым сдвигом фазы;
  • CLK90_OUT — выход сигнала с частотой 50 МГц со сдвигом фазы на четверть периода;
  • CLK180_OUT — выход сигнала с частотой 50 МГц со сдвигом фазы на половину периода;
  • CLK270_OUT — выход сигнала с частотой 50 МГц со сдвигом фазы на три четверти периода;
  • CLK2X_OUT — выход сигнала с частотой 100 МГц с нулевым сдвигом фазы;
  • CLK2X180_OUT — выход сигнала с частотой 100 МГц со сдвигом фазы на половину периода;
  • CLKFX_OUT — выход сигнала с частотой 125 МГц с нулевым сдвигом фазы;
  • CLKFX180_OUT — выход сигнала с частотой 125 МГц со сдвигом фазы на половину периода;
  • LOCKED_OUT — выход сигнала, информирующего о текущем соотношении фаз входного и выходного сигналов схемы автоподстройки задержек DLL применяемого модуля DCM;
  • STATUS_OUT — выходная шина состояния используемого модуля DCM.

Кроме представленного VHDL-описания, «мастер» Architecture Wizard автоматически создает файл с тем же именем и расширением ucf. Этот файл содержит последовательность выражений, которые определяют требуемые значения всех необходимых атрибутов компонента DCM_SP. Все эти выражения добавляются в файл временных и топологических ограничений проекта разрабатываемого устройства в САПР серии Xilinx ISE. Для блока синхронизации sys_clk_int содержимое соответствующего файла с расширением ucf выглядит следующим образом:

Создание блоков синхронизации цифровых устройств, реализуемых на базе модулей DCM в ПЛИС семейств Spartan-3, Spartan-3L, Spartan-3E и Spartan-3A, с помощью «мастера» Architecture Wizard в соответствии с конфигурацией Board Deskew with an Internal Deskew

Блоки синхронизации с конфигурацией Board Deskew with an Internal Deskew, как правило, применяются в тех случаях, когда разрабатываемые устройства реализуются на основе нескольких кристаллов программируемой логики или содержат кроме кристалла ПЛИС дополнительные тактируемые элементы, расположенные на печатной плате. Данная конфигурация позволяет добиться синфазности соответствующих тактовых сигналов, распространяемых как внутри кристалла, так и на печатной плате проектируемого устройства.

Проектирование блока синхронизации с конфигурацией Board Deskew with an Internal Deskew начинается с процедур определения названия создаваемых файлов, выбора языка описания HDL, средств синтеза, семейства и типа ПЛИС, которые осуществляются так же, как и при формировании модулей тактирования с конфигурацией Single DCM_SP. Далее в диалоговой панели выбора конфигурации генерируемого блока синхронизации Selection, представленной на рис. 3 (см. «КиТ» № 5 `2007, с. 90), нужно выделить строку Board Deskew with an Internal Deskew и подтвердить выбранный вариант нажатием клавиши ОК. После этого на экран выводится диалоговая панель, которая предназначена для выбора структуры формируемого блока синхронизации. Вид данной диалоговой панели зависит от выбранного типа выходного регистра, подключаемого к выходу контролируемого сигнала первого модуля DCM, и способа его управления. Выходной регистр устанавливается в цепи формируемого сигнала, который применяется для тактирования различных узлов печатной платы разрабатываемого устройства и используется затем в качестве внешнего сигнала обратной связи в первом модуле DCM. В качестве выходного регистра в создаваемом блоке синхронизации применяются выходные триггеры с удвоенной скоростью записи данных DDR (Double Data Rate), тактируемые двумя противофазными сигналами синхронизации. На рис. 14 представлено изображение диалоговой панели, предназначенной для выбора структуры создаваемого блока синхронизации с конфигурацией Board Deskew with an Internal Deskew, при использовании выходного триггера OFDDRCPE, предлагаемого по умолчанию.

Вид диалоговой панели, предназначенной для выбора структуры формируемого блока синхронизации, при использовании выходного триггера OFDDRCPE, который тактируется двумя выходными противофазными сигналами модуля DCM
Рис. 14. Вид диалоговой панели, предназначенной для выбора структуры формируемого блока синхронизации, при использовании выходного триггера OFDDRCPE, который тактируется двумя выходными противофазными сигналами модуля DCM

Для изменения типа выходного триггера, подключаемого к соответствующему выходу первого модуля DCM, следует использовать поле выбора DDR flip-flop selection, которое расположено во встроенной панели For DCM_SP INST1 (рис. 14). В выпадающем списке данного поля выбора представлено четыре возможных варианта условных обозначений используемого выходного триггера и один вариант, который соответствует структуре блока синхронизации без выходного триггера. Если в поле выбора установлен вариант OFDDRCPE, то в качестве выходного регистра в состав формируемого блока синхронизации будет включен одноименный DDR-триггер с асинхронным сбросом, асинхронной установкой и входом разрешения тактового сигнала. Чтобы использовать выходной DDR-триггер с асинхронным сбросом, асинхронной установкой, входом разрешения тактового сигнала и тристабильным выходом, нужно выбрать вариант OFDDRTCPE. В этом случае диалоговая панель выбора структуры создаваемого блока синхронизации приобретает вид, показанный на рис. 15.

Вид диалоговой панели, предназначенной для выбора структуры формируемого блока синхронизации, при использовании выходного триггера OFDDRTCPE, который тактируется двумя выходными противофазными сигналами модуля DCM
Рис. 15. Вид диалоговой панели, предназначенной для выбора структуры формируемого блока синхронизации, при использовании выходного триггера OFDDRTCPE, который тактируется двумя выходными противофазными сигналами модуля DCM

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

Вид диалоговой панели, предназначенной для выбора структуры формируемого блока синхронизации, при использовании выходного триггера OFDDRRSE, который тактируется одним выходным сигналом модуля DCM
Рис. 16. Вид диалоговой панели, предназначенной для выбора структуры формируемого блока синхронизации, при использовании выходного триггера OFDDRRSE, который тактируется одним выходным сигналом модуля DCM

Для включения в состав формируемого блока синхронизации выходного DDR-триггера с синхронным сбросом, синхронной установкой, входом разрешения тактового сигнала и тристабильным выходом, нужно выбрать вариант OFDDRTRSE. На рис. 17 представлен вид диалоговой панели, предназначенной для выбора структуры формируемого блока синхронизации, при использовании выходного триггера OFDDRTRSE, который тактируется одним выходным сигналом модуля DCM.

Вид диалоговой панели, предназначенной для выбора структуры формируемого блока синхронизации, при использовании выходного триггера OFDDRTRSE, который тактируется одним выходным сигналом модуля DCM
Рис. 17. Вид диалоговой панели, предназначенной для выбора структуры формируемого блока синхронизации, при использовании выходного триггера OFDDRTRSE, который тактируется одним выходным сигналом модуля DCM

Если в формируемом блоке синхронизации не планируется установка выходного триггера, то в поле выбора DDR flip-flop selection следует зафиксировать вариант None. При этом диалоговая панель выбора структуры создаваемого блока синхронизации преобразуется так, как показано на рис. 18.

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

Когда в состав генерируемого блока синхронизации включается выходной DDR-триггер, нужно указать сигнал, формируемый первым модулем DCM (INST1), который будет подаваться через глобальный буфер на тактовый вход C0 добавляемого триггера. Иными словами, необходимо выбрать соответствующий выходной сигнал первого модуля DCM (INST1), который затем будет выполнять функцию сигнала внешней (по отношению к ПЛИС) обратной связи. Для этого предназначена группа кнопок с зависимой фиксацией Select C0, которая расположена во встроенной панели For DCM_SP INST1 (рис. 14–17). Если в нажатом состоянии находится кнопка CLK0, то выходной триггер будет тактироваться по входу C0 сигналом с частотой исходного (внешнего) сигнала синхронизации, вырабатываемым на выходе CLK0 первого модуля DCM (INST1). Чтобы использовать для этой же цели сигнал с удвоенным значением частоты исходного сигнала синхронизации, следует переключить в нажатое положение кнопку CLK2X. В этом случае на вход C0 выходного триггера будет поступать (через глобальный буферный элемент) сигнал с выхода CLK2X первого модуля DCM (INST1).

Для выбора второго (противофазного) тактового сигнала, подаваемого на вход C1 выходного DDR-триггера, следует воспользоваться группой кнопок с зависимой фиксацией Select C1, которая расположена в этой же встроенной панели (рис. 14-17). По умолчанию в нажатом состоянии находится кнопка CLK180. При этом в качестве второго (противофазного) сигнала синхронизации будет использоваться сигнал, формируемый на соответствующем выходе первого модуля DCM (INST1) с фазовым сдвигом, равным половине периода этого сигнала (рис. 14, 15). Второй (противофазный) тактовый сигнал может быть также получен путем инвертирования первого сигнала синхронизации, подаваемого на вход C0 выходного DDR-триггера. Для этой цели в состав создаваемого блока синхронизации включается дополнительный инвертор. Чтобы выбрать вариант структуры формируемого блока с использованием одного выходного сигнала модуля DCM и дополнительного инвертора, нужно установить в нажатое положение кнопку Use DDR local inversion (рис. 16, 17).

Выбор типа (частоты) сигнала, подаваемого на вход внутренней обратной связи второго модуля DCM (INST2), осуществляется с помощью группы кнопок с зависимой фиксацией Select clock for internal feedback, которая представлена во встроенной панели For DCM_SP INST2 (рис. 14–17). По умолчанию, при нажатой кнопке 1X, на вход обратной связи второго модуля DCM (INST2) будет поступать сигнал, формируемый на выходе CLK0 данного модуля с той же частотой, что и исходный тактовый сигнал. Если в качестве сигнала, подаваемого на вход внутренней обратной связи, должен использоваться сигнал с двукратным значением частоты, генерируемый на выходе CLK2X второго модуля DCM (INST2), то в нажатое состояние необходимо переключить кнопку 2X.

После завершения определения структуры создаваемого блока синхронизации следует нажать клавишу Далее (Next), которая расположена в нижней части рассматриваемой диалоговой панели (рис. 14–18). В результате этих действий на экран выводится следующая диалоговая панель «мастера» Architecture Wizard с заголовком General Setup For INST1, вид которой приведен на рис. 19. Данная панель предназначена для определения основных параметров первого модуля DCM (INST1), используемого в формируемом блоке синхронизации с конфигурацией Board Deskew with an Internal Deskew.

Диалоговая панель выбора основных параметров первого модуля DCM (INST1) General Setup For INST1
Рис. 19. Диалоговая панель выбора основных параметров первого модуля DCM (INST1) General Setup For INST1

В отличие от аналогичной диалоговой панели General Setup, представленной на рис. 4 (см. «КиТ» № 5 `2007, с. 91) для конфигурации Single DCM_SP, значения большого количества основных параметров в панели General Setup For INST1 определяются автоматически без вмешательства пользователя. Элементы управления, предназначенные для выбора значений этих параметров, находятся в недоступном состоянии. Разработчик должен только указать значение частоты или периода входного тактового сигнала, используя поле редактирования, расположенное во встроенной панели Input Clock Frequency, и требуемые дополнительные выходные сигналы, вырабатываемые первым модулем DCM (INST1), а также необходимость применения коррекции скважности соответствующих тактовых сигналов с помощью индикатора состояния Use Duty Cycle Correction. Кроме того, при необходимости, можно определить значение фазового сдвига выходных сигналов синхронизации, формируемых этим модулем DCM с помощью поля выбора Type, которое находится во встроенной панели Phase Shift (рис. 19). Если в разрабатываемом блоке синхронизации используется выходной сигнал делителя частоты CLKDV первого модулям DCM (INST1), то нужно указать требуемое значение коэффициента деления, используя поле выбора Divide By Value (рис. 19). Установка значений всех доступных параметров первого модуля DCM (INST1) выполняется так же, как и для аналогичных параметров в диалоговой панели General Setup.

Для определения значений дополнительных параметров первого модулям DCM (INST1) нужно использовать диалоговую панель с заголовком Advanced, которая открывается при нажатии одноименной кнопки, расположенной в нижней части панели General Setup For INST1 (рис. 19). Вид открывшейся диалоговой панели дополнительных параметров показан на рис. 5 (см. «КиТ» № 5 `2007, с. 92). Назначение и процедура установки значений всех параметров в этой панели были подробно рассмотрены в разделе, посвященном формированию блоков синхронизации с конфигурацией Single DCM_SP. При этом следует обратить внимание на параметр Insert reset logic for external feedback, если в первом модуле DCM (INST1) задействован вход сброса.

После определения значений всех доступных основных и дополнительных параметров первого модулям DCM следует перейти к очередной диалоговой панели «мастера» Architecture Wizard, нажав клавишу Далее (Next) в панели General Setup For INST1 (рис. 19). Следующая диалоговая панель Clock Buffers For INST1 предназначена для выбора типа глобальных буферных элементов и линий связи, которые будут подключены к выходам тактовых сигналов, формируемых первым модулем DCM (INST1). Данная диалоговая панель имеет тот же вид, что и панель Clock Buffers, показанная на рис. 6 (см. «КиТ» № 5 `2007, с. 92). Тип глобальных буферных элементов и линий связи, подключаемых к используемым выходам модуля DCM, выбирается так же, как и в блоках синхронизации с конфигурацией Single DCM_SP.

Если в проектируемом блоке синхронизации используется сигнал, формируемый синтезатором частот первого модуля DCM (INST1), то после завершения процесса выбора типа глобальных буферных элементов (после нажатия клавиши Далее (Next) в диалоговой панели Clock Buffers For INST1) на экране появляется диалоговая панель с заголовком Clock Frequency Synthesizer For INST1, предназначенная для определения значений параметров, используемых при вычислении частоты или периода генерируемого сигнала. Эта диалоговая панель имеет тот же вид, что и диалоговая панель Clock Frequency Synthesizer, показанная на рис. 12 (см. «КиТ» № 5 `2007, с. 94). Значения всех параметров сигнала, формируемого синтезатором частот первого модуля DCM (INST1), указываются тем же способом, что и в блоках синхронизации с конфигурацией Single DCM_SP.

Следующая диалоговая панель «мастера» Architecture Wizard при создании блоков синхронизации с конфигурацией Board Deskew with an Internal Deskew, предназначена для определения основных параметров второго модуля DCM (INST2). Вид этой диалоговой панели, которая имеет заголовок General Setup For INST2, представлен на рис. 20.

Диалоговая панель выбора основных параметров второго модуля DCM (INST2) General Setup For INST2
Рис. 20. Диалоговая панель выбора основных параметров второго модуля DCM (INST2) General Setup For INST2

По сравнению с аналогичной диалоговой панелью, изображенной на рис. 19, значения подавляющего большинства параметров в панели General Setup For INST2 устанавливаются автоматически. Пользователь может только выбрать требуемые выходные сигналы второго модуля DCM (INST2), значения коэффициента деления частоты сигнала на выходе CLKDV этого модуля Divide By Value и фазового сдвига выходных сигналов синхронизации, а также применение коррекции скважности для соответствующих тактовых сигналов с помощью индикатора состояния Use Duty Cycle Correction.

Далее на экран поочередно выводятся диалоговые панели с заголовками Clock Buffers For INST2 и Clock Frequency Synthesizer For INST2. Диалоговая панель Clock Buffers For INST2 позволяет выбрать тип глобальных буферных элементов и линий связи, которые будут подключены к выходам тактовых сигналов, формируемых вторым модулем DCM (INST2). Вид этой панели аналогичен виду диалоговой панели Clock Buffers, приведенной на рис. 6. С помощью диалоговой панели Clock Frequency Synthesizer For INST2 определяются значения параметров сигналов, вырабатываемых синтезатором частот второго модуля DCM (INST2). Данная диалоговая панель появляется только в том случае, если хотя бы один из выходных сигналов синтезатора частот используется в создаваемом блоке синхронизации. Вид диалоговой панели Clock Frequency Synthesizer For INST2 не отличается от вида панели Clock Frequency Synthesizer, приведенной на рис. 12.

Завершает работу «мастера» Architecture Wizard при создании блоков синхронизации с конфигурацией Board Deskew with an Internal Deskew информационная панель Summary, вид и структура которой были подробно представлены при рассмотрении процесса разработки блоков синхронизации с конфигурацией Single DCM_SP (рис. 13, см. «КиТ» № 5 `2007, с. 94). Автоматическая генерация всех файлов описания блока синхронизации с выбранными параметрами выполняется после нажатия кнопки «Готово» (Finish), находящейся в нижней части заключительной информационной панели «мастера».

Пример блока синхронизации цифрового устройства, созданного с помощью «мастера» Architecture Wizard в соответствии с конфигурацией Board Deskew with an Internal Deskew

Примером блока синхронизации цифрового устройства, созданного с помощью «мастера» Architecture Wizard в соответствии с конфигурацией Board Deskew with an Internal Deskew, является модуль sys_clk_board_and_int, который предназначен для реализации на базе ПЛИС семейства Spartan-3A. Данный модуль на основе внешнего сигнала синхронизации с частотой 40 МГц вырабатывает следующий набор выходных сигналов:

  • четыре сигнала с частотой 40 МГц, различающиеся фазовым сдвигом друг относительно друга, равным четверти, половине и три четверти периода этих сигналов (формируются первым модулем DCM);
  • сигнал с частотой 8 МГц, получаемый методом пятикратного деления частоты исходного тактового сигнала в первом модуле DCM;
  • два сигнала с частотой 80 МГц с фазовым сдвигом друг относительно друга на половину периода (с нулевым фазовым сдвигом и фазовым сдвигом, равным половине периода), формируемые путем двукратного умножения частоты исходного сигнала в первом модуле DCM;
  • два сигнала с частотой 140 МГц, вырабатываемые синтезатором частот первого модуля DCM, с нулевым фазовым сдвигом и фазовым сдвигом, равным половине периода;
  • сигнал с частотой 40 МГц, формируемый вторым модулем DCM;
  • сигнал с частотой 10 МГц, получаемый методом четырехкратного деления частоты исходного тактового сигнала во втором модуле DCM;
  • два сигнала с частотой 180 МГц с фазовым сдвигом друг относительно друга на половину периода, формируемые синтезатором частот второго модуля DCM;
  • два сигнала с частотой 80 МГц с фазовым сдвигом друг относительно друга на половину периода, которые вырабатываются вторым модулем DCM.

Тактовые сигналы, формируемые первым модулем DCM, предназначены для синхронизации внешних (по отношению к ПЛИС) узлов разрабатываемого устройства, расположенных на печатной плате. Сигналы, вырабатываемые вторым модулем DCM, используются для тактирования элементов проектируемого устройства, реализуемых на основе ресурсов кристалла, на базе которого выполняется рассматриваемый блок синхронизации. Для выходных тактовых сигналов с частотой 40 МГц применяется функция коррекции скважности. В качестве выходного регистра в состав сформированного блока синхронизации включен DDR-триггер с асинхронным сбросом, асинхронной установкой и входом разрешения тактового сигнала. В цепях выходных сигналов с частотой 40 МГц и сдвигом по фазе на четверть, половину и три четверти периода первого модуля DCM установлены глобальные буферные элементы с входом разрешения синхронизации BUFGCE. Выходной сигнал с частотой 40 МГц с нулевым фазовым сдвигом, вырабатываемый вторым модулем DCM, транслируется через глобальный буферный элемент BUFG. Выходы сигналов с частотами 10, 80 и 180 МГц второго модуля DCM подключены к глобальным буферным элементам с входом разрешения синхронизации BUFGCE.

В качестве сигнала внешней обратной связи для первого модуля DCM используется сформированный этим модулем сигнал с частотой 40 МГц, который применяется для тактирования внешних (по отношению к ПЛИС) блоков проектируемого устройства и поступает с линии передачи этого сигнала на печатной плате с максимальной задержкой распространения. На вход обратной связи второго модуля DCM подается сигнал с частотой 40 МГц, который формируется этим же модулем и используется для тактирования «внутренних» блоков разрабатываемого устройства, реализуемых на основе различных ресурсов используемой ПЛИС.

Сгенерированный текст VHDL-описания блока синхронизации sys_clk_board_and_int выглядит следующим образом:

Обобщенная структура сгенерированного VHDL-описания блока синхронизации sys_clk_board_and_int повторяет структуру модуля sys_clk_int, рассмотренную ранее. Основу сформированного описания архитектуры блока синхронизации sys_clk_board_and_int образуют два экземпляра библиотечного компонента DCM_SP. Первый экземпляр DCM_SP_INST1 представляет модуль DCM, предназначенный, в первую очередь, для устранения временных перекосов, которые появляются при распространении тактового сигнала на печатной плате разрабатываемого устройства. Второй экземпляр DCM_SP_INST2 соответствует модулю DCM, выполняющему аналогичную функцию для тактового сигнала, используемого внутри кристалла. В состав сформированного блока sys_clk_board_and_int входят также библиотечные компоненты глобальных входных и выходных буферных элементов IBUFG, BUFG, BUFGCE, выходного DDR-триггера OFDDRCPE, D-триггеров FD и FDS, двух- и трехвходовых элементов «Логическое ИЛИ» OR2 и OR3, инвертора INV.

В VHDL-описании блока синхронизации sys_clk_board_and_int используются следующие условные обозначения входных и выходных портов:

  • U1_CLKIN_IN — вход исходного тактового сигнала;
  • U1_CLKFB_IN — вход сигнала внешней обратной связи для первого модуля DCM;
  • U1_CLR_IN — вход сигнала асинхронного сброса выходного DDR-триггера;
  • U1_ PRE _IN — вход сигнала асинхронной установки выходного DDR-триггера;
  • U1_USER_RST_IN — вход сигнала асинхронного сброса первого модуля DCM, включая цепь обратной связи;
  • U1_CLK90_ENABLE_IN — вход разрешения выходного сигнала с частотой 40 МГц со сдвигом фазы на четверть периода, формируемого первым модулем DCM;
  • U1_CLK180_ENABLE_IN — вход разрешения выходного сигнала с частотой 40 МГц со сдвигом фазы на половину периода, вырабатываемого первым модулем DCM;
  • U1_CLK270_ENABLE_IN — вход разрешения выходного сигнала с частотой 40 МГц со сдвигом фазы на три четверти периода, формируемого первым модулем DCM;
  • U1_CE_IN — вход разрешения тактового сигнала выходного DDR-триггера;
  • U2_CLKDV_ENABLE_IN — вход разрешения выходного сигнала с частотой 10 МГц, формируемого делителем частоты второго модуля DCM;
  • U 2 _ C L K 2 X _ E N A B L E _ I N и U2_CLK2X180_ENABLE_IN — входы разрешения выходных сигналов с частотой 80 МГц, формируемых вторым модулем DCM;
  • U2_RST_IN — вход сигнала сброса второго модуля DCM;
  • DDR_CLK0_OUT — выход сигнала, вырабатываемого выходным DDR-триггером;
  • U1_CLKIN_IBUFG_OUT — выход исходного тактового сигнала, снимаемого с входного буферного элемента;
  • U1_CLK0_OUT — выход сигнала с частотой 40 МГц с нулевым фазовым сдвигом, вырабатываемым первым модулем DCM;
  • U1_CLK90_OUT, U1_CLK180_OUT и U1_CLK270_OUT — выходы сигнала с частотой 40 МГц с фазовым сдвигом на четверть, половину и три четверти периода соответственно, формируемым первым модулем DCM;
  • U1_CLK2X_OUT и U1_CLK2X180_OUT — выходы сигналов с частотой 80 МГц, отличающихся по фазе на половину периода, которые вырабатываются первым модулем DCM;
  • U1_CLKFX_OUT и U1_CLKFX180_OUT — выходы сигналов с частотой 140 МГц, отличающихся по фазе на половину периода, которые формируются синтезатором частот первого модуля DCM;
  • U1_CLKDV_OUT — выход сигнала с частотой 8 МГц, вырабатываемого делителем частоты первого модуля DCM;
  • U2_CLKDV_OUT — выход сигнала с частотой 10 МГц, формируемого делителем частоты второго модуля DCM;
  • U2_CLKFX_OUT и U2_CLKFX180_OUT — выходы сигналов с частотой 180 МГц, отличающихся фазовым сдвигом, равным половине периода, которые формируются синтезатором частот второго модуля DCM;
  • U2_CLK0_OUT — выход сигнала с частотой 40 МГц с нулевым фазовым сдвигом, который вырабатывается вторым модулем DCM;
  • U2_CLK2X_OUT и U2_CLK2X180_OUT — выходы сигналов с частотой 80 МГц, отличающихся фазовым сдвигом, равным половине периода, которые формируются вторым модулем DCM;
  • U1_LOCKED_OUT и U2_LOCKED_OUT — выходы сигналов, информирующих о соотношении фаз входного и выходного сигналов схем автоподстройки задержек DLL первого и второго модуля DCM соответственно;
  • U1_STATUS_OUT и U2_STATUS_OUT — выходные шины состояния первого и второго модуля DCM соответственно.

Для установки требуемых значений всех необходимых атрибутов компонентов DCM_SP, используемых в составе описания блока синхронизации sys_clk_board_and_int, в файл временных и топологических ограничений проекта разрабатываемого устройства САПР серии Xilinx ISE можно записать следующую совокупность выражений, автоматически сформированную «мастером» Architecture Wizard в виде соответствующего файла с расширением ucf:

Окончание следует

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

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