Разделы презентаций


Структура ПЛИС

Содержание

Основные элементы ПЛИСВ наиболее типичном варианте ПЛИС, выполненная по технологии FPGA, состоит из прямоугольной матрицы конфигурируемых логических блоков (Configurable Logic Blocks, CLB), блоков ввода-вывода (Input/Output Block, IOB) и дополнительных блоков. Между

Слайды и текст этой презентации

Слайд 1Лекция 5. Основные элементы ПЛИС



Лекция 5. Основные элементы ПЛИС

Слайд 2Основные элементы ПЛИС

В наиболее типичном варианте ПЛИС, выполненная по технологии

FPGA, состоит из прямоугольной матрицы конфигурируемых логических блоков (Configurable Logic

Blocks, CLB), блоков ввода-вывода (Input/Output Block, IOB) и дополнительных блоков. Между CLB располагаются программируемые трассировочные линии. Между матрицей CLB и блоками ввода-вывода имеются отдельные межсоединения, которые и обеспечивают подключение внешних сигналов.

FPGA – это сокращение от английского словосочетания Field Programmable Gate Array

Основные элементы ПЛИСВ наиболее типичном варианте ПЛИС, выполненная по технологии FPGA, состоит из прямоугольной матрицы конфигурируемых логических

Слайд 3Основные элементы ПЛИС

Современные ПЛИС также содержат блоки памяти (BRAM), секции

цифровой обработки сигналов (DSP) и в отдельных случаях - аналого-

цифровые и цифроаналоговые преобразователи.
Каждый модуль двухпортовой блочной памяти емкостью 36 кбит, который может использоваться в виде двух независимых блоков объемом 18 кбит, оснащен встроенной системой обнаружения и коррекции ошибок (ECC) и специальной схемой управления, необходимой для организации запоминающих устройств, функционирующих по принципу «первым вошел – первым вышел» (FIFO).
Основные элементы ПЛИССовременные ПЛИС  также содержат блоки памяти (BRAM),  секции цифровой обработки сигналов (DSP) и

Слайд 4
В состав секций SLICEL входит логика ускоренного переноса и мультиплексоры,

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

секциях типа SLICEM, кроме логики ускоренного переноса и мультиплексоров расширения количества аргументов выполняемых функций, применяются таблицы преобразования, которые могут конфигурироваться как элементы 64-разрядной распределенной памяти или как сдвиговые регистры различной разрядности (до 32 разрядов).

Основные элементы ПЛИС

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

Слайд 5
Основной элемент для реализации логических функций ЛОГИЧЕСКИЙ ГЕНЕРАТОР 6LUT. Блоки

5LUT- статическая память.
Логический генератор (LUT) реализует любую функцию с не

более чем 6 операндами.
Кроме того возможно использование LUT блоков SLICEM в режиме с частично совмещенными входами, когда память разбивается на два фрагмента по 32 бита (формируются две логические функции с не более чем 5 операндами каждая).
При этом, поскольку в самой LUT всего 6 входов, часть входов должна быть обобщена Такой режим автоматически используется САПР.

Основные элементы ПЛИС

Основной элемент для реализации логических функций ЛОГИЧЕСКИЙ ГЕНЕРАТОР 6LUT. Блоки 5LUT- статическая память.Логический генератор (LUT) реализует любую

Слайд 6
Логические генераторы (LUT) могут также использоваться в режимах распределенной памяти

(distributed memory) и сдвиговых регистров (SHR). Поскольку LUT представляет собой

элемент статической памяти, который хранит таблицу истинности в явном виде, в SLICEM его можно использовать по прямому назначению – в качестве обычного компонента памяти.
Показанный элемент распределенной памяти имеет следующие сигналы:
– we – сигнал разрешения записи;
– d – данные для записи;
– wclk – вход тактового сигнала;
– a – адрес для записи;
– dpra – адрес для чтения, второй порт (dualportreadaddress);
– spo – выход первого порта (singleportoutput);
– dpo – выход второго порта (dualportoutput).

Основные элементы ПЛИС

Логические генераторы (LUT) могут также использоваться в режимах распределенной памяти (distributed memory) и сдвиговых регистров (SHR). Поскольку

Слайд 7
LUT может функционировать и как сдвиговый регистр, использующий следующие сигналы:
имеет

следующие сигналы:
– d – данные для записи в сдвиговый регистр;

clk – тактовый сигнал;
– a – адресный вход;
– q – выход данных.
LUT в режиме сдвигового регистра может использоваться совместно с триггером той же логической ячейки, увеличивая глубину сдвигового регистра на 1.

Основные элементы ПЛИС

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

Слайд 8
Временные диаграммы работы триггера. Сигналы PRE, CLR действуют асинхронно, то

есть установка триггера может осуществляться без привязки к фронту тактового

сигнала.
Для логической секции FPGA Xilinx существует понятие controlset. Оно соответствует набору управляющих сигналов (clk, ce, sr), которые должны быть идентичны для всех триггеров секции. Это означает, например, что невозможно использовать сигнал ce только для одного триггера в секции. Следует обратить внимание, что тактовый сигнал также включен в controlset, т.е. все триггеры должны тактироваться одним и тем же тактовым сигналом. На практике такое ограничение означает, что при необходимости использовать разные управляющие сигналы соответствующие триггеры будут помещены в разные секции.

Основные элементы ПЛИС

Временные диаграммы работы триггера. Сигналы PRE, CLR действуют асинхронно, то есть установка триггера может осуществляться без привязки

Слайд 9
Триггеры FPGA имеют гарантированное начальное значение после включения питания. Значения всех

триггеров (и других компонентов системы) записаны в конфигурационном файле, и

инициализация выполняется с помощью специальных трассировочных ресурсов. Поэтому отдельные цепи сброса, для обеспечения начального состояния триггера, являются избыточными и ухудшают проект. Самый простой способ начальной установки триггера– объявление сигнала с начальным значением:

Основные элементы ПЛИС

signal reg1 : std_logic := ‘1’;

  В этом примере на VHDL объявляется триггер с именем reg1, которому присваивается начальное значение 1. Это значение будет корректно учитываться средствами моделирования, и будет записано в конфигурационный файл FPGA.

Триггеры FPGA имеют гарантированное начальное значение после включения питания. Значения всех триггеров (и других компонентов системы) записаны в

Слайд 10
Основные элементы ПЛИС
В ПЛИС семейства VIRTEX (ARTIX-7 и Kintex-7) содержатся

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

(DSP48E1).

Вычислительные возможности блока ЦОС видны из схемы- АЛУ и блок умножения.

Основные элементы ПЛИСВ ПЛИС семейства VIRTEX (ARTIX-7 и Kintex-7) содержатся многофункциональные блоки, предназначенные для стандартных операций по

Слайд 11
В ПЛИС Xilinx 7-й серии содержатся аналого- цифровые блоки XADC
Каждый

блок содержит 2 12-разрядных аналого-цифровых преобразователя (АЦП) и мультиплексор. Кроме

того, к аналого-цифровому блоку относятся внутрикристалльные датчики напряжения питания и температуры.
Аналого-цифровой блок XADC поддерживает 17 внешних входных аналоговых каналов. Коммутация аналоговых сигналов на входы АЦП осуществляется с помощью мультиплексора. Каждый АЦП позволяет выполнять преобразование входного аналогового сигнала с частотой дискретизации 1 млн выборок/с и точностью 0,1%.
Наличие блока XADC в составе ПЛИС позволяет реализовать устройства цифровой обработки низкочастотных сигналов на базе одного кристалла без внешних АЦП.
В ПЛИС Xilinx 7-й серии содержатся аналого- цифровые блоки XADCКаждый блок содержит 2 12-разрядных аналого-цифровых преобразователя (АЦП)

Слайд 12
Семейство Artix-7
Наименьшие значения потребляемой мощности и низкой стоимостью, ориентированы на

применение в составе серийно выпускаемой аппаратуры.
CLB - общее количество

триггеров
CMT – блоки управления синхронизацией
PCIe- интерфейсы к PCI express
XADC- Аналого- цифровые преобразователи


Семейство Artix-7Наименьшие значения потребляемой мощности и низкой стоимостью, ориентированы на применение в составе серийно выпускаемой аппаратуры. CLB

Слайд 13
Семейство Кintex-7
Увеличено число ЦОС DSP48E1 и модулей двухпортовой блочной памяти

Block RAM. Используются высокоскоростные приемопередатчики RocketIO типа GTX, поддерживающие скорость

приема и передачи данных до 10,3125 Гбит/с.
Содержат аппаратный модуль интерфейса PCI Express, который поддерживает скорости передачи данных 2,5 и 5 Гбит/с
Семейство Кintex-7Увеличено число ЦОС DSP48E1 и модулей двухпортовой блочной памяти Block RAM. Используются высокоскоростные приемопередатчики RocketIO типа

Слайд 14
Семейство Virtex-7
Увеличено число ЦОС DSP48E1 и модулей двухпортовой блочной памяти

Block RAM. Используются высокоскоростные приемопередатчики RocketIO (MGT) типа GTX+GTH+GTZ, поддерживающие

скорость приема и передачи данных до 10,3125 (очень много) Гбит/с.
Содержат аппаратный модуль (блок) интерфейса PCI Express, который поддерживает (PCI Express Gen 1, 2 и 3) скорости передачи данных 2,5 и 5 Гбит/с
Семейство Virtex-7Увеличено число ЦОС DSP48E1 и модулей двухпортовой блочной памяти Block RAM. Используются высокоскоростные приемопередатчики RocketIO (MGT)

Слайд 15
Организация работы со статической памятью в ПЛИС

Организация работы со статической памятью в ПЛИС

Слайд 16
Работа со статической памятью
Внутри ПЛИС Xilinx есть специальный аппаратный ресурс

– блочная память или BRAM (Block RAM).
Эти блоки выполнены

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

Другой ресурс, который можно использовать как память – это сами конфигурационные блоки ПЛИС. Из конфигурационных блоков можно собрать логическую схему статической памяти. Тогда биты информации, хранящиеся в такой памяти будут «размазаны» или «распределены» по большей (по сравнению с BRAM, организованным локально) площади кристалла, и такая память будет называться распределенной памятью (Distributed RAM).

Работа со статической памятьюВнутри ПЛИС Xilinx есть специальный аппаратный ресурс – блочная память или BRAM (Block RAM).

Слайд 17
Работа со статической памятью
Сравнивая блочную и распределенную память, надо сказать

следующее:
Блочная память – это аппаратные блоки.
Блочная память – дорогостоящий ресурс.

Количество ее ограничено. При этом, если требуется объем памяти меньший чем объем одного блока (18 или 36 Кбит), то все равно будет использован весть блок, и неиспользованная его часть просто пропадет. При этом распределенная память может быть создана конкретного объема: ни одного лишнего конфигурационного блока не будет задействовано.
При использовании блочной памяти ее разные порты могут работать на разных частотах. Это удобно использовать для синхронизации между разными клоковыми доменами.
Схемы как блочной так и распределенной памяти создаются с использованием программы генератора процессорного ядра. В ней можно выбрать необходимый тип памяти, объем, ширины шин данных, особенности и интерфейса. После создания IP блока, работать с памятью надо через интерфейс, подобный рассмотренному на следующем слайде.
В VHDL есть возможность описать массив ячеек статической памяти с помощью сигналов типа массив и стандартных операторов.




Работа со статической памятьюСравнивая блочную и распределенную память, надо сказать следующее:Блочная память – это аппаратные блоки.Блочная память

Слайд 18
Организация работы со статической памятью в ПЛИС
entity static_ram
PORT (

clk : IN STD_LOGIC; -- тактовый сигнал
rst :

IN STD_LOGIC; -- сигнал сброса
en : IN STD_LOGIC; -- сигнал разрешения работы (опционально)
we : IN STD_LOGIC; -- write enable, сигнал определяющий операцию
записи или чтения
addr : IN STD_LOGIC_VECTOR(3 DOWNTO 0); -- шина адреса ячейки
din : IN STD_LOGIC_VECTOR(15 DOWNTO 0); -- входная шина данных
dout : OUT STD_LOGIC_VECTOR(15 DOWNTO 0) -- выходная шина данных
);
END static_ram;
Организация работы со статической памятью в ПЛИСentity static_ram PORT (  clk : IN STD_LOGIC;	-- тактовый сигнал

Слайд 19
Организация работы со статической памятью в ПЛИС
Блок памяти имеет следующие

порты:
– addra, addrb – адреса портов A и B соответственно;

dia, dib – данные для записи для портов A и B (32 бита);
– dipa, dipb – дополнительные данные для записи (4 бита);
– wea, web – входы разрешения записи (побайтно);
– clka, clkb – тактовые сигналы для портов;
– ena, enb – входы разрешения работы блока памяти (при чтении состояние выходов не обновляется, если нет разрешающего сигнала);
– regcea, regceb – разрешение работы выходных регистров;
– rsta, rstb – сброс выходных регистров (не влияет на содержимое массивов памяти);
– doa, dob – выходы данных для портов A и B (32 бита);
– dopa, dopb – дополнительные выходы данных для портов A и B (4 бита).
Организация работы со статической памятью в ПЛИСБлок памяти имеет следующие порты:– addra, addrb – адреса портов A

Слайд 20
Организация работы со статической памятью в ПЛИС
Физически размещенные в FPGA

блоки памяти являются 18-битными. Такая разрядность позволяет реализовывать схемы контроля

четности, когда каждые 8 бит имеют дополнительный 9-й бит для хранения бита четности. Соответственно, каждые 16 бит имеют 2 дополнительных бита четности, а 32 – 4 бита. Для удобства работы с дополнительными битами в графическом представлении модуля они выделены в отдельные шины dipa, dipb, dopa, dopb.
Дополнительные биты не являются автоматически заполняемыми и представляют собой разряды, доступные для записи в них произвольных значений. Разработчик может выбирать требуемую ему разрядность, включая 1, 2, 4, 9, 18 или 36 бит, в особых случаях- до 72 бит.
Организация работы со статической памятью в ПЛИСФизически размещенные в FPGA блоки памяти являются 18-битными. Такая разрядность позволяет

Слайд 21
Организация работы со статической памятью в ПЛИС

Организация работы со статической памятью в ПЛИС

Слайд 22
Организация работы со статической памятью в ПЛИС

Организация работы со статической памятью в ПЛИС

Слайд 23
Организация работы со статической памятью в ПЛИС: двухпортовая память
library IEEE;
use

IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity rams_16 is
port(clka : in std_logic;
clkb : in std_logic;
ena

: in std_logic;
enb : in std_logic;
wea : in std_logic;
web : in std_logic;
addra : in std_logic_vector(5 downto 0);
addrb : in std_logic_vector(5 downto 0);
dia : in std_logic_vector(15 downto 0);
dib : in std_logic_vector(15 downto 0);
doa : out std_logic_vector(15 downto 0);
dob : out std_logic_vector(15 downto 0));
end rams_16;
Организация работы со статической памятью в ПЛИС: двухпортовая памятьlibrary IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;entity rams_16 isport(clka : in std_logic;clkb

Слайд 24
Организация работы со статической памятью в ПЛИС: двухпортовая память
architecture syn

of rams_16 is
type ram_type is array (63 downto 0) of

std_logic_vector(15 downto 0);
shared variable RAM : ram_type;
begin
process (CLKA)
begin
if CLK 'event and CLK = ‘1‘ then
if ENA = ’1’ then
if WEA = ’1’ then
RAM(conv_integer(ADDRA)) := DIA;
end if;
DOA <= RAM(conv_integer(ADDRA));
end if;
end if;
end process;
Организация работы со статической памятью в ПЛИС: двухпортовая памятьarchitecture syn of rams_16 istype ram_type is array (63

Слайд 25
Организация работы со статической памятью в ПЛИС
process (CLKB)
begin
if CLKB 'event

and CLKB = ‘1‘ then
if ENB = ’1’ then
if WEB

= ’1’ then
RAM(conv_integer(ADDRB)) := DIB;
end if;
DOB <= RAM(conv_integer(ADDRB));
end if;
end if;
end process;
end syn;
Организация работы со статической памятью в ПЛИСprocess (CLKB)beginif CLKB 'event and CLKB = ‘1‘ thenif ENB =

Слайд 26
Термин:
IP cores (IP-ядра, от англ. Intellectual Property — интеллектуальный продукт.


В FPGA (ПЛИС) под Hard IP-Core понимают специализированные области кристалла,

выделенные для определенных функций. В этих областях реализованы блоки неизменной структуры, спроектированные по методологии ASIC (как области типа БМК или схем со стандартными ячейками), оптимизированные для заданной функции и не имеющие средств её программирования.

В случае использования данного вида ядер размер площади, используемой на кристалле, сокращается, улучшаются характеристики быстродействия, но в данном случае происходит потеря универсальности.
Термин:IP cores (IP-ядра, от англ. Intellectual Property — интеллектуальный продукт. В FPGA (ПЛИС) под Hard IP-Core понимают

Слайд 27
Термин:
Приложение CoreGenerator входит в состав САПР фирмы Xilinx и предлагает

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

их в ПЛИС (IP-ядер). С помощью CoreGenerator имеется возможность создания шаблонов на языке Verilog, которые потом будут использованы как instance (см. componentinstantiation) в проектах пользователя. Генерация компонентов с помощью CoreGenerator обладает рядом преимуществ:
– IP-ядра, как правило, представляют собой верифицированные компоненты, имеющие качественное размещение на кристалле, и вследствие этого способные работать на высокой тактовой частоте;
– ряд специфичных ресурсов ПЛИС, например, модули формирования тактовой частоты, достаточно сложны для освоения, однако вносят в проект полезные функциональные возможности, поэтому рекомендуются к использованию; соответственно, CoreGenerator предоставляет возможности для их быстрого конфигурирования с последующим добавлением к проекту.

Термин:Приложение CoreGenerator входит в состав САПР фирмы Xilinx и предлагает разработчику графический интерфейс быстрого конфигурирования стандартных цифровых

Слайд 28

Запускаем генератор и выбираем тип IP ядра

Запускаем генератор  и выбираем тип  IP ядра

Слайд 29

Выбираем параметры
памяти, в частности,
в частности ширину
данных

(Data Width),
количество данных (Depth – глубина), тип создаваемой памяти

(Memory Type)
Выбираем параметры памяти, в частности, в частности ширину данных (Data Width), количество данных (Depth – глубина),

Слайд 30

Создаем и подключаем
файл coe- файл коэффициентов,
после этого формируется

память
по заданным параметрам

Создаем и подключаемфайл coe- файл коэффициентов, после этого формируется память по заданным параметрам

Слайд 31

Коммутационная система ПЛИС
Трассировочные ресурсы ПЛИС:
а) Stratix IV фирмы

Altera с использованием технологии DirectDrive;
б, в) фирмы Xilinx с использованием

технологии ExpressFabric: б) Virtex-4; в) Virtex-5
Коммутационная система ПЛИСТрассировочные ресурсы ПЛИС: а) Stratix IV фирмы Altera с использованием технологии DirectDrive;б, в) фирмы

Слайд 32

Коммутационная система ПЛИС
Пример организации взаимодействия между логическими блоками

Коммутационная система ПЛИСПример организации взаимодействия между логическими блоками

Слайд 33

Блоки ввода- вывода
Каждый доступный разработчику ввод- вывод (pin) может

быть сконфигурирован как вход, выход или универсальный вход-выход.

Зачастую возможен выбор

рабочих напряжений, для разработчика- чем меньше напряжение, тем на большей частоте можно работать, но тем меньше помехозащищенность.

Внешние контакты ПЛИС в САПР
Vivado

set_property IOSTANDARD LVCMOS18 [all_inputs]
set_property IOSTANDARD LVCMOS18 [all_outputs]
create_clock -period 1.600 -name CLK [get_ports clk]
set_property PACKAGE_PIN N15 [get_ports clk]

Блоки ввода- выводаКаждый доступный разработчику ввод- вывод (pin) может быть сконфигурирован как вход, выход или универсальный

Слайд 34

Благодарю за внимание!

Благодарю за внимание!

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика