Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
XilinxCourse_v2.0.doc
Скачиваний:
56
Добавлен:
22.04.2019
Размер:
3.26 Mб
Скачать

4.6.2 Регистр

Регистр представляет из себя набор триггеров D-типа, контролируемых единым тактовым сигналом и сигналом сброса. Описание регистра идентично описанию триггера D-типа, за исключением добавления разрядности. Описание 32-х разрядного регистра представлено на рисунке 4.6.3.

Рисунок 4.6.3 — Описание 32-х разрядного регистра

4.6.3 Регистровый файл

Регистровым файлом называется набор регистров с одним и более входным портом и одним и более выходным. Порты регистрового файла различаются по типу — для чтения или для записи. Порт также может быть сдвоенным, т.е. один порт одновременно может быть и на чтение, и на запись. Каждый порт обладает входным сигналом адреса, для выбора соответствующей ячейки памяти. Регистровый файл в основном используется как быстрое, временное хранилище. На основе регистрового файла можно также построить такие конструкции как очереди FIFO (First-In-First-Out), буферы и т.д.

Также можно отметить, что на этапе логического синтеза регистровые файлы могут быть переведены в распределенное или блочное представление. Распределенные регистровые файлы строятся на простой логике, доступной на FPGA. Блочное же представление регистрового файла отображается на физические блоки памяти, расположенные в FPGA. В случае больших объемов регистровых файлов лучше использовать блочный вариант, что приведет к существенной экономии ресурсов кристалла FPGA, тем не менее следует помнить о конечности данного ресурса. Если требуется описать небольшой регистровый файл, то подойдет распределенный вариант.

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

Рисунок 4.6.4 — Описание регистрового файла с одним портом по чтению и одним портом по записи

На рисунке 4.6.4 представлен вариант описания регистрового файла с одним независимым портом для чтения и одним независимым портом для записи. В данном описании используется конструкция языка Verilog HDL, описывающая двумерный массив.

4.7 Реализация последовательных схем

Ниже, будут приведены примеры, иллюстрирующие принципы проектирования последовательных цифровых схем с помощью средств Verilog HDL.

4.7.1 Двоичный счетчик

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

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

Рисунок 4.7.1 — Пример реализации двоичного счетчика

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]