Интерфейс ADM является внутренним стандартом компании «Инструментальные системы».
Он определяет правила подключения субмодулей ADM и базовых модулей.
Ключевым элементом интерфейса является ADM FPGA. Первоначально использовались ПЛИС серий FLEX10K и Acex 1K от Altera. В 2003 году начался переход на ПЛИС Xilinx. Используются практически все серии ПЛИС, от Spartan 2E до Kintex Ultrascale. Базовым элементом проекта FPGA является «тетрада».
Эта статья именно об этом.
Базовая версия интерфейса ADM на базе ПЛИС Altera называется «Интерфейс ADM».
Классическая реализация.
Ее особенностью является наличие в ПЛИС блока из шестнадцати регистров.
Часть регистров обслуживала FIFO, а часть регистров была выделена для обслуживания субмодуля.
С ростом сложности изделий шестнадцати регистров стало недостаточно.
для организации управления ситуация осложняется тем, что на многих базовых модулях к ПЛИС подключено всего пять-шесть ножек, на большее просто не хватает. В такой ситуации логичным решением является организация косвенной адресации.
, но при этом необходимо оставить быстрый доступ к регистрам FIFO. В результате появилась новая реализация, которая получила название «Прогрессивная реализация интерфейса ADM».
Логическая реализация
Главный элемент – блокнот. Тетрада — это логический объект, имеющий четыре регистра с прямой адресацией и 1024 регистра с косвенной адресацией.
Логическая организация тетрады показана на рисунке:
Прямые регистры:
- STATUS – регистр состояния FIFO, содержит флаги FIFO.
- ДАННЫЕ – регистр данных FIFO.
- IND_ADR – регистр косвенного адреса
- IND_DATA – регистр косвенных данных
- Группа 1 – командные регистры, адреса от 0x000 до 0x0FF.
- Группа 2 – константы, адреса от 0x100 до 0x1FF.
- Группа 3 – непосредственные регистры, адреса от 0x200 до 0x3FF.
Это позволяет использовать теневую RAM для чтения из регистров.
А использование теневой оперативной памяти позволяет резко сократить ресурсы ПЛИС для организации обратного чтения из регистров.
Из-за теневой оперативной памяти пришлось ввести определенную процедуру сброса тетрады; необходимо сформировать сигнал сброса и записать во все командные регистры значение 0. В группе констант хранится самая важная информация о тетраде.
Прежде всего, это идентификатор блокнота, номер версии, а также наличие и направление работы ФИФО.
Идентификатор тетрады однозначно идентифицирует набор регистров.
Прямые регистры позволяют реализовать регистры с любым поведением, включая дополнительные регистры состояния.
Следует помнить, что реализация регистров чтения потребует реализации мультиплексора, который является пожирателем ресурсов ПЛИС.
Рекомендуется размещать наибольшее количество регистров в группе команд и минимальное количество в непосредственной группе.
В настоящее время для организации теневой оперативной памяти всех тетрад используется только один блок памяти ПЛИС.
Это позволяет организовать в каждой тетраде 32 командных регистра и 32 константы.
Это число можно увеличить в любой момент, но пока это не требуется.
В прошивке ПЛИС может быть шестнадцать блокнотов.
Каждая тетрада управляет своей полной частью интерфейса.
В качестве примера приведен состав ноутбуков для прошивки модуля FMC107P и субмодуля FM216x250MDA
- TRD_MAIN — управление общими ресурсами
- BPI_FLASH — доступ к загрузочной FLASH
- TRD_DDS9956 — управление синтезатором
- PIOX_STD — управление цифровым портом
- TRD_FM216x250MDA_ADC — управление АЦП на субмодуле
- TRD_DDR3x — управление памятью DDR
- TRD_FM216x250MDA_DAC — управление ЦАП на субмодуле
Реализация на VHDL
Проект FPGA написан на VHDL. Для подключения блокнота используются специальные типы данных, что резко сокращает объем текста.На данный момент существует три типа подключения.
Во-первых, они различаются шириной шины данных, во-вторых, типом сигналов подключения.
Тип 1 – ширина шины данных 64 бита.
Используется с сигнальными процессорами и интерфейсом PCI Express v1.1 x8. Тип 2 – ширина шины данных 128 бит. Используется с интерфейсом PCI Express v2.0 x8. Тип 3 – ширина шины данных 512 бит. Используется с интерфейсом PCI Express v3.0 x16. Во всех случаях тактовая частота шины составляет до 266 МГц.
Если максимальная производительность не требуется, рекомендуется снизить тактовую частоту, чтобы облегчить трассировку FPGA. Базовым типом данных является тип bl_cmd. Введите bl_cmd
Теги: #FPGA #adm #xilinx #xilinx #FPGAtype bl_cmd is record
-
Что Планшетные Пк Могут Сделать Для Вас
19 Oct, 24 -
Онлайн-Курс Сертификации Cisco
19 Oct, 24 -
Китайская Пишущая Машинка
19 Oct, 24 -
Хабраюзерские Истории?
19 Oct, 24 -
Первое Правило Веб-Дизайнера
19 Oct, 24 -
15-Летняя Газета Кодов И Рекламы
19 Oct, 24