Разработка базовых компонентов цифровых устройств, реализуемых на базе ПЛИС FPGA фирмы Xilinx, с помощью генератора параметризированных модулей CORE Generator. Часть 17

№ 6’2008
PDF версия
Пример описания элемента запоминающего устройства FIFO с одним сигналом синхронизации портов записи и чтения данных, сформированного с помощью параметризированного модуля FIFO Generator версии v4.1 для последующей реализации на базе ресурсов распределенной памяти ПЛИС

Пример описания элемента запоминающего устройства FIFO с одним сигналом синхронизации портов записи и чтения данных, сформированного с помощью параметризированного модуля FIFO Generator версии v4.1 для последующей реализации на базе ресурсов распределенной памяти ПЛИС

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

Формирование описаний элементов FIFO-памяти с одним сигналом синхронизации портов записи и чтения данных, реализуемых на основе ресурсов распределенной памяти ПЛИС, с помощью рассматриваемого параметризированного модуля демонстрируется в настоящем разделе на примере запоминающего устройства fifo_generator_v4_1_common_clk_d_ram. Информационная емкость данного элемента памяти составляет 36 кбит с организацией портов записи и чтения данных 2048 слов × 18 разрядов. Текст описания сгенерированного запоминающего устройства fifo_generator_v4_1_common_clk_d_ram выглядит следующим образом:

В сформированном элементе fifo_generator_v4_1_common_clk_d_ram предусмотрен вход сигнала синхронного сброса, а также дополнительные выходы сигналов состояния, предупреждающих о том, что в запоминающее устройство FIFO можно записать или считать из памяти не более одного слова данных. В составе интерфейса этого элемента присутствуют программируемые пользователем выходы сигналов состояния, условия переключения каждого из которых задаются двумя параметрами. Значения этих параметров определяются двоичными кодами, подаваемыми на соответствующие входные шины, и могут динамически изменяться в процессе функционирования рассматриваемого запоминающего устройства. Кроме того, в элементе fifo_generator_v4_1_common_ clk_d_ram доступны выходы 11-разрядного счетчика записанных данных. Сгенерированное запоминающее устройство позволяет использовать всю совокупность сигналов подтверждения для выполнения операций записи и чтения данных, предусмотренных в параметризированном модуле FIFO Generator версии v4.1. Активным уровнем для этих сигналов является низкий логический уровень.

Декларация компонента fifo_generator_v4_1_common_clk_d_ram в составе VHDL-описания разрабатываемого устройства осуществляется с помощью приведенной далее последовательности выражений:

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

На рис. 161 показана информационная панель, в которой содержатся детализированные сведения о количестве различных ресурсов кристалла, которое необходимо для автономной реализации рассмотренного элемента FIFO-памяти.

Вид информационной панели, содержащей сведения о количестве различных ресурсов ПЛИС

Пример описания элемента запоминающего устройства FIFO с одним сигналом синхронизации портов записи и чтения данных, сформированного с помощью параметризированного модуля FIFO Generator версии v4.1 для последующей реализации на базе сдвиговых регистров

Результат применения параметризированного модуля FIFO Generator версии v4.1 для формирования элементов запоминающих устройств, функционирующих по принципу «первым вошел – первым вышел», с одним сигналом синхронизации портов записи и чтения данных, реализуемых на базе сдвиговых регистров ПЛИС, показан на примере описания элемента fifo_generator_v4_1_common_clk_shift_register. Его текст имеет следующий вид:

Сгенерированный элемент FIFO-памяти fifo_generator_v4_1_common_clk_shift_register имеет информационную емкость 80 кбит с организацией портов записи и чтения данных 8192 слова % 10 разрядов. В этом запоминающем устройстве задействован вход сигнала асинхронного сброса, а также дополнительные выходы сигналов состояния, информирующих о приближении заполнения всех ячеек или извлечения всей записанной ранее информации. В составе интерфейса элемента fifo_generator_v4_1_common_clk_shift_register представлены программируемые пользователем выходы сигналов состояния, условия переключения каждого из которых определяются в виде пары двоичных кодов, подаваемых на специальные, предназначенные для этой цели, входные шины. Новые значения этих параметров записываются в соответствующие регистры запоминающего устройства FIFO в процессе выполнения операций сброса. В рассматриваемом запоминающем устройстве предусмотрена возможность организации выполнения операций записи и чтения данных с применением всей совокупности сигналов подтверждения, поддерживаемых параметризированным модулем FIFO Generator версии v4.1. Для сигналов подтверждения в качестве активного уровня выбран высокий логический уровень. Кроме того, в элементе fifo_generator_v4_1_common_clk_shift_register могут использоваться выходы 13-разрядного счетчика, информирующие о количестве записанных слов данных.

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

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

Сведения о количестве триггеров (Flip Flop), таблиц преобразования (LUT) и секций (Slices), используемых для автономной реализации элемента запоминающего устройства fifo_generator_v4_1_common_clk_shift_register, отражены в информационной панели, вид которой показан на рис. 162.

Вид информационной панели, содержащей сведения о количестве различных ресурсов кристалла

Пример описания элемента запоминающего устройства, функционирующего по принципу «первым вошел – первым вышел», с одним сигналом синхронизации портов записи и чтения данных, сформированного с помощью параметризированного модуля FIFO Generator версии v4.1 для последующей реализации на основе встроенных модулей FIFO

Примером запоминающего устройства, работающего по принципу «первым вошел – первым вышел», с одним сигналом синхронизации портов записи и чтения данных, сформированного с помощью параметризированного модуля FIFO Generator версии v4.1 для последующей реализации на основе встроенных модулей FIFO в ПЛИС семейств Virtex-4 и Virtex-5, является элемент fifo_generator_v4_1_common_clk_built_in_fifo. Информационная емкость данного элемента FIFO-памяти составляет 96 кбит. Входной и выходной информационные порты (порты записи и чтения данных) этого элемента FIFO-памяти имеют разрядность 24 бита. В элементе fifo_generator_v4_1_common_clk_built_in_fifo используется режим чтения информации с возможностью предварительного просмотра данных FWFT. Текст сгенерированного VHDL-описания этого запоминающего устройства FIFO выглядит следующим образом:

В сформированном запоминающем устройстве fifo_generator_v4_1_common_clk_built_in_fifo применяется функция коррекции ошибок ECC. В составе интерфейса этого элемента представлен вход сигнала синхронного сброса, а также выходы всех сигналов подтверждения, поддерживаемых параметризированным модулем FIFO Generator версии v4.1. Активным уровнем этих сигналов является высокий логический уровень. В рассматриваемом элементе FIFO-памяти можно использовать программируемые пользователем выходы сигналов предупреждения, информирующих о том, что в данное запоминающее устройство может быть записано или считано не более одного слова данных.

Блок декларации представленного элемента запоминающего устройства fifo_generator_v4_1_common_clk_built_in_fifo при использовании его в качестве компонента проектируемого устройства имеет следующий вид:

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

На рис. 163 приведена информационная панель, в которой содержатся подробные сведения об объеме различных ресурсов ПЛИС (в том числе, о количестве встроенных модулей FIFO, конфигурируемых на базе ресурсов блочной памяти кристалла Block SelectRAM), необходимых для автономной реализации элемента запоминающего устройства fifo_generator_v4_1_common_clk_built_in_fifo.

Вид информационной панели, содержащей сведения о ресурсах ПЛИС

Подготовка описаний элементов запоминающих устройств, функционирующих по принципу «первым вошел – первым вышел», с двумя независимыми сигналами синхронизации портов записи и чтения данных на основе параметризированного модуля FIFO Generator версии v4.1

Процесс подготовки описаний элементов запоминающих устройств, работающих по принципу «первым вошел – первым вышел», с двумя независимыми сигналами синхронизации портов записи и чтения данных начинается с выбора вида ресурсов кристалла, используемых для их реализации. Эта процедура выполняется с помощью группы кнопок с зависимой фиксацией FIFO Implementation, расположенных в стартовой диалоговой панели «мастера» настройки параметров ядра FIFO Generator версии v4.1, вид которой показан на рис. 138 (см. КиТ № 5 `2008, стр. 43). Генерация описания элемента FIFO-памяти с двумя независимыми сигналами тактирования портов записи и чтения данных, предназначенного для последующей реализации на основе модулей блочной памяти ПЛИС Block SelectRAM, осуществляется при нажатой кнопке Independent Clocks (RD_CLK, WR_CLK)Block RAM. Структурное представление архитектуры элементов запоминающих устройств данного типа показано на рис. 164. Преобразование выходных значений счетчиков слов данных из двоичного кода в код Грея и обратно используется для организации взаимодействия между функциональными блоками запоминающего устройства FIFO, тактируемыми сигналами синхронизации с различными значениями частоты.

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

Чтобы сформировать описание элемента запоминающего устройства FIFO с двумя независимыми сигналами синхронизации портов записи и чтения данных, которое должно быть реализовано на базе ресурсов распределенной памяти, нужно нажать кнопку Independent Clocks (RD_CLK, WR_CLK)Distributed RAM. Генерируемые при этом элементы FIFO-памяти имеют архитектуру, вид которой изображен на рис. 165.

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

Для подготовки описания элемента запоминающего устройства, функционирующего по принципу «первым вошел – первым вышел», с двумя различными сигналами синхронизации портов записи и чтения данных, реализуемого на основе встроенных модулей FIFO ПЛИС семейств Virtex-4 и Virtex-5, следует нажать кнопку Independent Clocks (RD_CLK, WR_CLK)Built-in FIFO. В этом случае структура формируемых элементов соответствует архитектуре, представленной на рис. 166.

Структурное представление архитектуры элементов запоминающих устройств

Выбрав тип архитектуры создаваемого запоминающего устройства FIFO и вид ресурсов ПЛИС, используемых для его реализации, следует перейти ко второй диалоговой панели «мастера» настройки параметров ядра FIFO Generator версии v4.1, которая приобретает вид, показанный на рис. 167.

Вид второй диалоговой панели «мастера» настройки параметров генератора элементов памяти

В этой диалоговой панели нужно с помощью группы кнопок с зависимой фиксацией Read Mode указать режим чтения данных в генерируемом элементе FIFO-памяти. Чтобы сформировать описание элемента запоминающего устройства FIFO с двумя раздельными сигналами синхронизации для входного и выходного портов, в котором применяется стандартный режим чтения данных, следует нажать кнопку Standard FIFO. Временные диаграммы, соответствующие режиму записи и стандартному режиму чтения информации в запоминающих устройствах FIFO с двумя независимыми сигналами синхронизации портов записи и чтения данных, изображены на рис. 168, 169.

Временные диаграммы, соответствующие режиму записи информации в запоминающих устройствах FIFO
Временные диаграммы, соответствующие стандартному режиму чтения информации в запоминающих устройствах FIFO

Для генерации описания элемента FIFO-памяти с двумя независимыми сигналами синхронизации входного и выходного портов, в котором используется режим чтения данных с возможностью предварительного просмотра, следует нажать кнопку First-word Fall-Through FIFO. Временные диаграммы, соответствующие режиму чтения информации с функцией предварительного просмотра данных FWFT в рассматриваемых запоминающих устройствах, представлены на рис. 170.

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

При подготовке описаний запоминающих устройств, работающих по принципу «первым вошел – первым вышел», предназначенных для реализации на базе встроенных модулей FIFO ПЛИС семейств Virtex-4 и Virtex-5, рекомендуется определить значения частот сигналов синхронизации, используемых для тактирования портов записи и чтения данных. Для этой цели предназначены поля редактирования, расположенные во встроенной панели Built-in FIFO Options (рис. 167). Значение тактового сигнала для порта чтения данных указывается в поле редактирования Read Clock Frequency (MHz) после его активизации. Значение сигнала синхронизации для порта записи данных определяется с помощью поля редактирования Write Clock Frequency (MHz). Точное указание значений частот тактовых сигналов необходимо для оптимальной реализации формируемого элемента FIFO-памяти.

Далее нужно определить параметры организации портов записи и чтения данных в создаваемом запоминающем устройстве FIFO, используя поля редактирования, находящиеся во встроенной панели Data Port Parameters (рис. 167). Значение разрядности слова данных для входного порта (порта записи данных) задается в поле редактирования Write Width. Максимальное количество слов данных с разрядностью Write Width, которое может быть записано в генерируемый элемент FIFO-памяти, указывается в поле редактирования Write Depth. Значение разрядности слова данных для выходного порта (порта чтения данных) определяется в поле редактирования Read Width. При выборе значений параметров Write Width и Read Width следует учитывать, что их соотношение не может быть произвольным. Параметризированный модуль FIFO Generator версии v4.1 позволяет создавать описания элементов FIFO-памяти со следующими соотношениями разрядности портов записи и чтения данных: 1:8, 1:4, 1:2, 1:1, 2:1, 4:1, 8:1. На основании введенных значений параметров Write Width, Write Depth и Read Width автоматически вычисляется максимально возможное количество записанных слов данных, длина которых соответствует разрядности выходного порта. Полученный результат отображается в поле Read Depth. На рис. 171 приведены временные диаграммы, демонстрирующие преобразование формата слова данных в элементах запоминающих устройств FIFO с двумя различными сигналами синхронизации для входного и выходного портов, в которых разрядность порта записи меньше разрядности порта чтения данных. На этих же диаграммах показано формирование сигнала состояния EMPTY для данной организации портов генерируемого запоминающего устройства. Представленные на рис. 171 временные диаграммы соответствуют элементу FIFO-памяти, в котором используется 2-разрядный порт записи и 8-разрядный порт чтения данных (соотношение разрядности портов 1:4).

Временные диаграммы, демонстрирующие преобразование формата слова данных в элементах запоминающих устройств FIFO с двумя различными сигналами синхронизации для входного и выходного портов

Для элементов запоминающих устройств FIFO, в которых разрядность порта записи превосходит разрядность порта чтения данных, временные диаграммы, поясняющие процесс преобразования формата слова данных, изображены на рис. 172. Эти диаграммы соответствуют элементу FIFO-памяти с 8-разрядным портом записи и 2-разрядным портом чтения данных (соотношение разрядности портов 4:1).

Временные диаграммы, демонстрирующие преобразование формата слова данных в элементах запоминающих устройств FIFO с двумя различными сигналами синхронизации для входного и выходного портов

При формировании описаний элементов запоминающих устройств, работающих по принципу «первым вошел – первым вышел», предназначенных для реализации на базе встроенных модулей FIFO или блочной памяти ПЛИС Block SelectRAM, при необходимости можно задействовать функцию коррекции ошибок (Error Correction Checking, ECC), воспользовавшись индикатором состояния Enable ECC, расположенным во встроенной панели Implementation Options (рис. 167). При этом в состав интерфейса генерируемого элемента FIFO-памяти включаются два дополнительных выхода, уровни сигналов на которых информируют о результатах выполнения операции чтения данных. Возможны три варианта результата осуществления данной операции: без ошибок, с одной скорректированной ошибкой и с двумя обнаруженными ошибками.

В состав архитектуры элементов запоминающих устройств FIFO, реализуемых на базе встроенных модулей FIFO или блочной памяти ПЛИС Block SelectRAM, могут быть включены встроенные выходные регистры с помощью индикатора состояния Use Embedded Registers in Block RAM or FIFO (when possible), который также расположен во встроенной панели Implementation Options.

Следующий шаг в процессе подготовки описаний элементов FIFO-памяти с двумя различными сигналами синхронизации для входного и выходного портов — это выбор дополнительных выходов сигналов состояния и подтверждения, а также типа входа сброса (синхронный или асинхронный). Необходимые входы и выходы перечисленных сигналов указываются в третьей диалоговой панели «мастера» настройки параметров ядра FIFO Generator версии v4.1, вид которой представлен на рис. 146 (см. КиТ № 5 `2008, стр. 46). Включение в состав интерфейса формируемого элемента запоминающего устройства FIFO дополнительных выходов сигналов статуса осуществляется с помощью индикаторов состояния Almost Full Flag и Almost Empty Flag, которые расположены во встроенной панели Optional Flags.

Требуемые сигналы подтверждения, относящиеся к порту записи данных создаваемого элемента FIFO-памяти, выбираются с помощью индикаторов состояния Write Acknowledge Flag и Overflow Flag, которые представлены во встроенной панели Write Port Handshaking. Активный уровень для каждого из этих сигналов подтверждения указывается нажатием соответствующей кнопки с зависимой фиксацией (Active Low или Active High), расположенной в одноименной встроенной панели. Временные диаграммы, иллюстрирующие процесс формирования выходных сигналов подтверждения Write Acknowledge и Overflow в запоминающих устройствах FIFO с двумя различными сигналами синхронизации для портов записи и чтения данных, показаны на рис. 173.

Временные диаграммы, поясняющие процесс формирования выходных сигналов подтверждения Write Acknowledge и Overflow в запоминающих устройствах FIFO с двумя различными сигналами синхронизации для портов записи и чтения данных

Выбор необходимых сигналов подтверждения, относящихся к порту чтения данных, производится с помощью индикаторов состояния Valid Flag и Underf low Flag, находящихся во встроенной панели Read Port Handshaking (рис. 146). Активные уровни для этих сигналов подтверждения задаются так же, как и для сигналов Write Acknowledge и Overflow. Следует обратить внимание на то, что процесс формирования выходных сигналов подтверждения Valid и Underflow зависит от режима чтения данных, указанного для генерируемого элемента запоминающего устройства FIFO. Временные диаграммы, демонстрирующие последовательность формирования указанных сигналов подтверждения в запоминающих устройствах FIFO с двумя различными сигналами синхронизации для портов записи и чтения данных, при использовании стандартного режима чтения представлены на рис. 174.

Временные диаграммы, поясняющие формирование выходных сигналов подтверждения Valid и Underflow в запоминающих устройствах FIFO с двумя различными сигналами синхронизации для портов записи и чтения данных

Если в создаваемом элементе FIFO-памяти применяется режим чтения данных с функцией предварительного просмотра информации FWFT, то переключение выходных сигналов подтверждения Valid и Underflow будет происходить в соответствии с временными диаграммами, приведенными на рис. 175.

Временные диаграммы, поясняющие формирование выходных сигналов подтверждения Valid и Underflow в запоминающих устройствах FIFO с двумя различными сигналами синхронизации для портов записи и чтения данных

Для включения входа сброса в состав интерфейса создаваемого запоминающего устройства FIFO следует воспользоваться индикатором состояния Reset Pin, расположенным во встроенной панели Initialization (рис. 146). Необходимый вариант режима сброса (синхронный или асинхронный) указывается с помощью двух кнопок с зависимой фиксацией Synchronous Reset и Asynchronous Reset, которые находятся в этой же встроенной панели.

Выбор дополнительных, программируемых пользователем, выходов сигналов состояния (флагов), включаемых в состав интерфейса генерируемого элемента FIFO-памяти, и определение условий переключения этих сигналов производятся с помощью диалоговой панели, представленной на рис. 153 (см. КиТ № 5 `2008, стр. 48). Для включения в состав формируемого элемента программируемого выхода сигнала PROG_FULL, предупреждающего о заполнении указанного числа ячеек (записи заданного количества слов данных), и определения его типа нужно воспользоваться полем выбора Programmable Full Type, которое расположено во встроенной панели Programmable Flags (рис. 153). Выпадающий список возможных значений этого поля содержит те же варианты, что и при подготовке описаний запоминающих устройств FIFO с одним сигналом синхронизации портов записи и чтения данных. Разработчик может выбрать дополнительный выход сигнала состояния PROG_FULL, условия переключения которого определяются одним или двумя параметрами. Значения этих параметров могут быть фиксированными или изменяемыми в процессе работы создаваемого элемента. Фиксированные значения параметров, задающих условия переключения сигнала состояния PROG_FULL, указываются при создании элемента FIFO-памяти в форме констант, определяемых в полях редактирования Full Threshold Assert Value и Full Threshold Negate Value. Изменяемые значения этих параметров загружаются в процессе функционирования формируемого запоминающего устройства в виде кода, который подается на соответствующие входные шины (PROG_FULL_THRESH или PROG_FULL_THRESH_ASSERT и PROG_FULL_THRESH_NEGATE). На рис. 176 приведены временные диаграммы, демонстрирующие последовательность переключения программируемого сигнала заполнения PROG_FULL, условия изменения состояния которого определяются одним параметром, в запоминающих устройствах FIFO с раздельными сигналами синхронизации для портов записи и чтения данных.

Временные диаграммы, демонстрирующие последовательность переключения дополнительного программируемого сигнала заполнения PROG_FULL

Временные диаграммы, поясняющие процесс изменения программируемого сигнала заполнения PROG_FULL, для которого условия переключения определяются двумя параметрами, в запоминающих устройствах FIFO с раздельными сигналами синхронизации портов записи и чтения данных представлены на рис. 177.

Временные диаграммы, поясняющие процесс формирования дополнительного программируемого сигнала заполнения PROG_FULL

Чтобы добавить в состав интерфейса создаваемого запоминающего устройства FIFO дополнительный программируемый выход сигнала PROG_EMPTY, информирующего о достижении заданного минимально-допустимого числа записанных слов данных в процессе операции чтения и определить условия его переключения, следует воспользоваться полем выбора Programmable Empty Type, которое также расположено во встроенной панели Programmable Flags (рис. 153, см. КиТ № 5 `2008, стр. 48). В выпадающем списке возможных значений этого поля представлены те же варианты, что и при подготовке описаний элементов FIFO-памяти, в которых применяется один сигнал синхронизации для портов записи и чтения данных. Условия переключения состояния сигнала PROG_EMPTY можно задавать в виде значений одного или двух параметров, которые могут, по выбору разработчика, устанавливаться на этапе подготовки описания разрабатываемого запоминающего устройства FIFO или изменяться динамически в процессе работы данного элемента. Фиксированные значения данных параметров задаются в виде констант, определяемых в полях редактирования Empty Threshold Assert Value и Empty Threshold Negate Value, а загружаемые в процессе работы — поступают в виде двоичного кода на соответствующие входные шины (PROG_EMPTY_THRESH или PROG_EMPTY_THRESH_ASSERT и PROG_EMPTY_THRESH_NEGATE) генерируемого элемента. Последовательность изменения состояния дополнительного программируемого сигнала PROG_EMPTY, условие переключения которого определяется одним параметром, демонстрируют временные диаграммы, приведенные на рис. 178.

Временные диаграммы, поясняющие процесс формирования дополнительного программируемого сигнала состояния PROG_EMPTY

Процесс формирования программируемого сигнала состояния PROG_EMPTY с различными условиями (пороговыми значениями) установки активного уровня и сброса в запоминающих устройствах FIFO с двумя независимыми сигналами синхронизации для портов записи и чтения данных показан на временных диаграммах, представленных на рис. 179.

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

Если создаваемое описание элемента FIFO-памяти предназначено для последующей реализации на основе модулей блочной памяти ПЛИС Block SelectRAM или ресурсов распределенной памяти кристалла, то в состав интерфейса этого элемента можно добавить выходные шины, на которых отображаются текущие значения счетчиков числа слов данных, записанных в память. В отличие от запоминающих устройств, работающих по принципу «первым вошел – первым вышел», тактируемых одним сигналом, в элементах FIFO-памяти с двумя различными сигналами синхронизации для портов записи и чтения данных присутствуют два счетчика (рис. 164, 165). Один из этих счетчиков тактируется сигналом синхронизации порта записи, а другой — сигналом синхронизации порта чтения. Разрядность счетчиков записанных слов данных определяется организацией соответствующего порта запоминающего устройства FIFO. Выходы каждого из этих счетчиков могут быть включены в состав интерфейса формируемого элемента FIFO-памяти. Для этой цели следует воспользоваться пятой диалоговой панелью «мастера» настройки параметров ядра FIFO Generator версии v4.1, которая приобретает вид, представленный на рис. 180.

Вид пятой диалоговой панели «мастера» настройки параметров генератора элементов памяти, работающих по принципу «первым вошел – первым вышел»

Чтобы добавить в состав интерфейса генерируемого элемента запоминающего устройства FIFO выходную шину, на которую выводятся сигналы счетчика записанных данных, относящегося к порту записи, следует установить в состояние «Включено» индикатор Write Data Count (Synchronized With Write Clk), расположенный во встроенной панели Data Count Options (рис. 180). После этого становится доступным поле редактирования Write Data Count Width, в котором нужно указать требуемую разрядность выходной шины счетчика записанных слов данных, относящегося к порту записи. По умолчанию в этом поле редактирования автоматически отображается максимально возможное значение разрядности, соответствующее организации порта записи генерируемого элемента. Если в поле редактирования Write Data Count Width задается меньшее значение, то в этом случае часть разрядов счетчика слов данных не будет отображаться на выходной шине. На рис. 181 приведены временные диаграммы, демонстрирующие последовательность переключения сигналов на выходной шине счетчика слов данных, относящегося к порту записи создаваемого запоминающего устройства FIFO.

Временные диаграммы, демонстрирующие последовательность переключения сигналов на выходной шине счетчика слов данных

Для включения в состав интерфейса формируемого элемента FIFO-памяти выходов счетчика записанных слов данных, относящегося к порту чтения, нужно перевести в состояние «Включено» индикатор Read Data Count (Synchronized With Read Clk), находящийся во встроенной панели Data Count Options (рис. 180). Количество разрядов этого счетчика, отображаемых на соответствующей выходной шине, определяется в поле редактирования Read Data Count Width, которое автоматически переключается в доступное состояние при установке значения «Включено» для параметра Read Data Count (Synchronized With Read Clk). В большинстве случаев рекомендуется использовать предлагаемое по умолчанию максимально возможное значение разрядности, соответствующее организации порта чтения создаваемого запоминающего устройства FIFO. При выборе меньшего значения параметра Read Data Count Width не все выходные сигналы счетчика данных будут отображаться на соответствующей выходной шине генерируемого запоминающего устройства. На рис. 182 представлены временные диаграммы, отображающие последовательность переключения сигналов на выходной шине счетчика данных, относящегося к порту чтения генерируемого элемента FIFO-памяти.

Временные диаграммы, демонстрирующие последовательность переключения сигналов на выходной шине счетчика слов данных

При подготовке описаний элементов памяти, работающих по принципу «первым вошел – первым вышел», с двумя различными сигналами синхронизации портов чтения и записи данных и функцией предварительного просмотра информации FWFT, которые предназначены для последующей реализации на базе ресурсов распределенной памяти кристалла или модулей блочной памяти ПЛИС Block SelectRAM, можно задействовать дополнительную логику для организации счетчиков записанных слов данных. Применение дополнительных логических ресурсов в составе этих счетчиков позволяет повысить их точность. Для использования дополнительной логики в счетчиках записанных слов данных создаваемых элементов запоминающих устройств FIFO следует установить в состояние «Включено» индикатор Use Extra Logic For More Accurate Data Counts, также расположенный во встроенной панели Data Count Options (рис. 180).

После проверки указанных значений основных параметров формируемого элемента FIFO-памяти с двумя различными сигналами синхронизации портов записи и чтения данных, отображаемых в заключительной диалоговой панели FIFO Generator Summary «мастера» настройки ядра FIFO Generator версии v4.1 (рис. 159, см. КиТ № 5 `2008, стр. 51), производится запуск процесса автоматической генерации описания этого запоминающего устройства. Примеры описаний элементов памяти, функционирующих по принципу «первым вошел – первым вышел», с раздельными сигналами тактирования портов записи и чтения данных, подготовленных с помощью параметризированного модуля FIFO Generator версии v4.1, будут рассмотрены в следующей части данной статьи.

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

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

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