Анализ применимости программируемых логических интегральных схем в управляющих системах
В последнее время наиболее часто используемыми типами архитектур ПЛИС являются CPLD и FPGA [22÷42].
CPLD (Complex Programmable Logic Device) - программируемые логические устройства, эксплуатирующие энергозависимую память (Flash или EEPROM) для сохранения настроек.
Устройство CPLD состоит из матрицы однотипных логических макроячеек (MC) (рисунок 1.13) [43].
Рисунок 1.13 - Структура макроячейки ПЛИС CPLD
ПЛИС типа CPLD включают в себя блоки ввода/вывода (SPLD) и макроячейки (см. рисунок 1.14), объединённых в единую шину (рисунок 1.15). ПЛИС этих серий отличаются между собой числом функциональных
элементов.
Рисунок 1.14 - Структура CPLD
Устройства CPLD включают мартицы одноплановых логических макроячеек (MC).
Микросхема CPLD включает ряд макроячеек [44], установленных на одном кристалле. Макроячейки последовательно соединены с устройствами ввода-вывода параллельными шинами. Подобная структура макроячеек и их комбинированные соединения способствуют реализации различных проектировочных и модульных решений [45, 46].
FPGA (Field Programmable Gate Array) - ПЛИС типа FPGA созданы для осуществления более сложных проектов, т.к. они имеют большее число эквивалентных вентилей, порядка несколько сотен миллионов. Подобная функциональность способствует соединению нескольких процессорных систем на одном кристалле. Основной характеристикой ПЛИС данного типа является функционал конфигурируемых логических блоков (КЛБ), размещённые по поверхности кристалла [47-49].
ПЛИС с типом FPGA включают один или несколько простейших логических элементов, внутри которых заложена система перекодировки (Look-Up Table - LUT) [50,51].
Структура ПЛИС с архитектурой FPGA представлена на рисунках 1.15 и 1.16.
Основными преимущества ПЛИС являются [52]:
- высокое быстродействие обработки данных;
- объём до 10 млн. эквивалентных вентилей на кристалл;
- системная частота до 420 МГц;
- совместимость языков программирования (VHDL, Verilog и др.);
- низкое энергопотребление.
На данный момент одной из наиболее часто применимых при реализации систем управления является FPGA модели Spartan-3, с 90нм технологией [53]. Микросхемы FPGA Spartan-3E (рисунок 1.17), имеют от 100 тыс. до 1,6 млн. эквивалентных вентилей.
Рисунок 1.17 - ПЛИС Spartan-3E внешний вид
Структурная схема компонентов отдельных секций ПЛИС Spartan-3 и
Spartan-3E представлена на рисунке 1.18, а ее технические характеристики сведены в таблицах 1.12 и 1.13.
Таблица 1.12
| ПЛИС | Системные вентили | Логиче ские ячейки | Блоки ОЗУ, Кбит | Блоки умножения | Максимально е число программируе мых выводов | Распределенна я память, бит |
| XC3S50 | 50 тыс. | 1728 | 72 | - | 124 | 12 К |
| XC3S200 | 200 тыс. | 4320 | 216 | 12 | 173 | 30 К |
| XC3S400 | 400 тыс. | 8064 | 288 | 16 | 264 | 56 К |
| XC3S1000 | 1 млн. | 17280 | 432 | 24 | 391 | 120 К |
| XC3S1500 | 1,5 млн. | 29952 | 576 | 32 | 487 | 208 К |
| XC3S2000 | 2 млн. | 46080 | 720 | 40 | 565 | 320 К |
| XC3S4000 | 4 млн. | 62208 | 1728 | 96 | 712 | 432 К |
| XC3S5000 | 5 млн. | 74880 | 1872 | 104 | 784 | 520 К |
Таблица 1.13
| ПЛИС | Системны е вентили | Логиче ские ячейки | Блоки ОЗУ, Кбит | Блоки умножен ия | Максимально е число программиру емых выводов | Распределен ная память, бит |
| XC3S100E | 100 тыс. | 2160 | 72 | 4 | 108 | 15 К |
| XC3S250E | 250 тыс. | 5508 | 216 | 12 | 172 | 38 К |
| XC3S500E | 500 тыс. | 10476 | 360 | 20 | 232 | 73 К |
| XC3S1200E | 1,2 млн. | 19512 | 504 | 28 | 304 | 136 К |
| XC3S1600E | 1,6 млн. | 33192 | 648 | 36 | 376 | 231 К |
Рисунок 1.18 - Структурная схема ПЛИС Spartan-3E
Технические характеристики ПЛИС Spartan-3
Технические характеристики ПЛИС Spartan-3E
Архитектура ПЛИС Spartan-6 приведена на рисунке 1.19 а ее технические характеристики сведены в таблицу 1.14 [54,55].
Рисунок 1.19 - Архитектура FPGA Spartan-6
Таблица 1.14
Технические характеристики ПЛИС Spartan-3E
| Кристалл XC6S | LX4 | LX9 | LX16 | LX25 | LX45 | LX75 | LX100 | LX150 |
| Секции (4 6-LUT + 8 FF) | 600 | 1430 | 2278 | 3758 | 6822 | 11662 | 15 822 | 23 038 |
| Логические ячейки | 3840 | 9152 | 14 579 | 24 051 | 43 661 | 74 637 | 101 261 | 147 443 |
| Триггеры | 4800 | 11 440 | 18 224 | 30 064 | 54 576 | 93 296 | 126 576 | 184 304 |
| Блоки памяти BRAM (по 18 кбит) | 12 | 32 | 32 | 52 | 116 | 172 | 268 | 268 |
| Распределенная память (max), кбит | 75 | 90 | 136 | 229 | 401 | 692 | 976 | 1355 |
| Общая емкость BRAM, кбит | 216 | 576 | 576 | 936 | 2088 | 3096 | 4824 | 4824 |
| Контакты (max) | 132 | 200 | 232 | 266 | 358 | 400 | 480 | 576 |
| Блоки синхронизации (CMT) | 2 | 2 | 2 | 2 | 4 | 6 | 6 | 6 |
| Дифференциальные пары (max) | 66 | 100 | 116 | 133 | 179 | 200 | 240 | 288 |
| Число аппаратных секций DSP48A1 | 8 | 16 | 32 | 38 | 58 | 132 | 180 | 180 |
| Контроллер памяти | 0 | 2 | 2 | 2 | 2 | 4 | 4 | 4 |
| PCI Express блок | - | - | - | - | - | - | - | - |
| Индустриальный диапазон (I) | L1,- 2 | -L1,-2 | -L1,-2 | -L1,-2 | -L1,-2 | -L1,-2 | -L1,-2 | -L1,-2 |
| Конфигурационная память, Мбит | 2,7 | 3,7 | 6,4 | 11,9 | 19,6 | 26,5 | 33,8 |
Сравнительные характеристики ПЛИС Spartan семейства Xilinx
сведены в таблицу 1.15.
Таблица 1.15
Сравнительные характеристики ПЛИС Spartan.
| Число блоков | Размер блока | Общий объем | Fmax | |
| Spartan-3A DSP | 104 | 18 Кбит | 2268 КБит | 320 МГц |
| Spartan-3 | 126 | 18 Кбит | 1872 КБит | 250 МГц |
| Spartan-6 | 180 | 18 Кбит | 4824 КБит | 320 МГц |
В качестве примера ниже приведен программный код для управления
температуры на базе FPGA с использованием spartan3 [56]:
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity fed_ch0 is
port (clk: in std_logic);
led: out std_logic_vector(7 downto 0);
md: out std_logic;
dm: out std_logic;
nb: out std_logic;
end fed_ch0;
architecture Behavioral of fed_ch0 is
type state is (spi,conversion,transmission);
signal presentstate: state: = spi;
signal f: std_logic;
type arr is array (0 to 12) of std_logic_vector (9 downto 0);
signal store: arr;
begin
process(clk)
variable i,j,k : integer := 0;
variable tot: std_logic_vector(11 downto 0) := "000000000000";
begin
if clk'event and clk = '1' then
if presentstate = spi then
if i
Еще по теме Анализ применимости программируемых логических интегральных схем в управляющих системах:
- 4.4. Методы государственного регулирования сельского хозяйства
- 1.1. Сущность, значение и место контроля в управлении экономикой
- 1.1. Сущность, значение и место контроля в управлении экономикой
- 8. Автоматизированные методы анализа устной речи
- 25. Информационное обеспечение управления.
- 26. Миссия компании и ее отражение в маркетинговых коммуникациях
- 49 Значение системы дыхания. Общая схема дыхательной системы. Нейрогуморальная регуляция дыхания. Этапы дыхания.
- Наркомании и опиатные системы мозга
- ПРИЛОЖЕНИЕ №8 ЗАПИСКИ НА МАНЖЕТАХ
- Вопрос о классификации сложноподчиненных предложений
- 78. Нтр и переход к постиндустриальной цивилизации.
- Философия математики, ее возникновение и этапы эволюции.
- Формально-логические законы мышления.
- 4. Философия и наука: проблема специфики и взаимодействия
- Генезис теории управления и принятия управленческих решений в предпринимательской деятельности