Поисковое проектирование модели ПЛИС для построения системы цифровой обработки сигналов
Современные семейства ПЛИС фирмы Xilinx, их характеристики и значимость в процессе построения систем цифровой обработки сигналов. Создание базы параметров, фактов и запрещенных комбинаций для решения открытой задачи поискового проектирования модели ПЛИС.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 14.12.2012 |
Размер файла | 3,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
СОДЕРЖАНИЕ
ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
ВВЕДЕНИЕ
1. ПЛИС И СИСТЕМЫ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ
1.1 ПЛИС фирмы Xilinx
1.2 Архитектура современных ПЛИС фирмы Xilinx
1.2.1 Архитектура логических ячеек
1.2.2 Блочная память
1.2.3 Блоки цифровой обработки сигналов
1.2.4 Скоростные последовательные приемопередатчики
1.2.5 Блоки ввода-вывода
1.3 Сравнительный анализ ПЛИС на примере КИХ фильтра
2. РЕШЕНИЕ ОТКРЫТОЙ ЗАДАЧИ ПОИСКОВОГО ПРОЕКТИРОВАНИЯ МОДЕЛИ ПЛИС ДЛЯ ПОСТРОЕНИЯ СИСТЕМЫ ЦОС
2.1 Постановка задачи
2.2 Формирование начальной базы параметров и удачных/неудачных фактов
2.3 Формирование базы запрещенных комбинаций
2.4 Решение открытой задачи с использованием Решателя Открытых Задач
2.5 Блок качественной оценки
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЯ
ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
· ЦОС: Цифровая Обработка сигналов (DSP - Digital Signal Processing)
· ПЛИС: Программируемые Логические Интегральные Схемы (PLD)
· СБИС: (специализированная) Сверх Большая Интегральная Схема (Application Specific Integral Circuit - ASIC)
· РОЗ: Решатель Открытых Задач
· ПЗУ: Постоянное Запоминающее Устройство
· ЛЯ: Логическая Ячейка
· LUT: Look-Up Table - логическая таблица, таблица истинности
· КИХ фильтр: фильтр с конечной импульсной характеристикой
· САПР: Система Автоматизированного Проектирования (CAD)
· ISE: Integrated Software Environment - САПР фирмы Xilinx
ВВЕДЕНИЕ
Цифровая обработка сигналов (ЦОС, DSP) - область науки и техники, в которой изучаются принципы, методы и алгоритмы обработки сигналов средствами вычислительной техники. Данное направление зародилось в 1950-х годах и использовалось в основном в оборонных отраслях в первую очередь для решения задач радиолокации, обработки гидроакустических и тепловизионных сигналов.
Системы цифровой обработки сигналов широко применяются в различных областях современной техники, и их распространение растет с каждым годом. Вот только некоторые из отраслей, которые трудно себе представить сегодня без ЦОС [1, 2]:
§ Военная (радары, локаторы, шумоподавители, генераторы помех, связь, шифраторы)
§ Медицинская (измерительные приборы, мониторинг систем жизнеобеспечения)
§ Автомобильная (обработка информации от всевозможных датчиков, диагностика)
§ Аудио системы (кодирование и распознавание звука, аудио-процессоры)
§ Видео системы (цифровое ТВ, сжатие видео, распознавание образов)
§ Связь (спутники, коммутаторы, мобильные телефоны)
В данной работе будут подробно изучены современные семейства ПЛИС фирмы Xilinx, рассмотрены их основные характеристики ПЛИС, а также их значимость для построения систем цифровой обработки сигналов. На основании этого будет составлена начальная база (параметры поискового проектирования модели ПЛИС, примеры удачных и неудачных фактов, а также запрещенные комбинации) для Решателя Открытых Задач (РОЗ). В процессе «обучения» Решателя планируется получить наиболее удачные комбинации параметров и определить оптимальную модель ПЛИС для реализации на ней системы цифровой обработки сигналов согласно выбранным критериям.
Техническое задание на курсовую работу приведено в приложении А.
1. ПЛИС И СИСТЕМЫ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ
1.1 ПЛИС фирмы Xilinx
Программируемые логические интегральные схемы (ПЛИС) представляют собой одно из самых интересных и быстро развивающихся направлений современной цифровой микроэлектроники. За последнее десятилетие наблюдался бурный рост рынка этих устройств и существенное улучшение их характеристик. Прогнозы в этой области на ближайшее время представляются самыми оптимистичными [1, 6].
С появлением ПЛИС проектирование цифровых микросхем перестало быть уделом исключительно крупных предприятий с объемами выпуска в десятки и сотни тысяч кристаллов. Проектирование и выпуск небольшой партии уникальных цифровых устройств стало возможным в условиях проектно-конструкторских подразделений промышленных предприятий, в исследовательских и учебных лабораториях и даже в условиях домашних радиолюбительских рабочих мест. Промышленно выпускаемые «заготовки» программируемых микросхем с электрическим программированием и автоматизированным процессом перевода схемы пользователя в последовательность импульсов программирования делают проектирование новых цифровых устройств сравнимым с разработкой программного обеспечения.
Привлекательность данной технологии заключается в предоставляемой конечному пользователю возможности быстрого создания цифровых устройств с произвольной внутренней структурой. По сравнению со специализированными цифровыми микросхемами СБИС (ASIC - Application Specific Integral Circuit), цикл разработки устройств на ПЛИС занимает значительно меньшее время и неизмеримо дешевле (благодаря тому, что изменение принципиальной электрической схемы выполняется путем перепpoграммирования одного и того же экземпляра микросхемы) [1, 6].
В настоящее время ведущими мировыми производителями ПЛИС являются фирмы Xilinx и Altera. Каждая из них выпускает целый спектр продукции, включая ПЛИС с различной архитектурой, флеш-ПЗУ для хранения конфигурации, САПР, средства программирования и отладки. Немаловажным является тот факт, что САПР минимальной конфигурации этих фирм распространяется бесплатно, а его возможности вполне достаточны для освоения данной технологии и разработки цифровых устройств начального и среднего уровня.
В настоящее время компания Xilinx выпускает несколько серий ПЛИС двух типов [1]:
* FPGA - Field Programmable Gate Array - устройства, использующие для хранения конфигурации энергонезависимую память (Flash или EEPROM);
* CPLD - Complex Programmable Logic Device - устройства, использующие для хранения конфигурации энергозависимую память, которая требует инициализации после включения питания.
Микросхемы ПЛИС типа FPGA появились в 1985 году по инициативе компании Xilinx, предложившей «микросхему-конструктор» - полупроводниковый кристалл с цифровыми компонентами без жестко зафиксированных металлических соединений, формирующих конкретную схему. Соединениями в FPGA можно управлять путем замыкания транзисторных ключей, во множестве размещенных на том же кристалле. На протяжении десятилетий характеристики FPGA постоянно улучшались, объем выпуска увеличивался, а спектр применений расширялся. В настоящее время можно выделить следующие подсемейства выпускаемых серий ПЛИС на примере семейства Virtex-5 [2, 4]:
- LX - логическая обработка данных;
- LXT - логическая обработка данных с высокоскоростными последовательными интерфейсами;
- SXT - цифровая обработка сигналов (DSP) с высокоскоростными последовательными интерфейсами;
- TXT - цифровая обработка сигналов (DSP) с высокоскоростными последовательными интерфейсами удвоенной производительности;
- FXT - процессорная система и сверхвысокоскоростной обмен данными;
На рис. 1 представлены современные серии ПЛИС Xilinx [1].
Рис. 1. Современные ПЛИС фирмы Xilinx
Рассмотрим архитектуру ПЛИС на примере микросхемы семейства
Spartan-3 (рис. 2).
Прим.: семейство Spartan™-3 специально разработано для использования в электронных устройствах, рассчитанных на большие тиражи и недорогие комплектующие [1, 4, 6].
Рис. 2. Структурная схема кристалла ПЛИС Spartan-3
На рис. 2 изображены 5 фундаментальных программируемых элементов архитектуры ПЛИС семейства Spartan-3:
- Конфигурируемый логический блок - КЛБ. На базе КЛБ реализуется комбинаторная и синхронная логика, включая базовые запоминающие элементы.
- Блок ввода-вывода - БВВ. БВВ осуществляют коммутацию выводов корпуса микросхемы с внутренней конфигурируемой логикой. БВВ поддерживают большинство сигнальных стандартов ввода-вывода, существующих в настоящее время.
- Блок памяти. Каждый блок может конфигурироваться как двухпортовое ОЗУ ёмкостью 18 кбит.
- Блок умножителя. Встроенный умножитель 18x18 бит.
- Цифровой блок управления синхронизацией - DCM (Digital Clock Manager).
В данной работе будут подробно рассмотрены и использованы в поисковом проектировании параметры ПЛИС семейства Spartan-6, Virtex (с 4й по 7ю серию), а также Artix-7 и Kintex-7 (7 серия ПЛИС наряду с Virtex-7).
1.2 Архитектура современных ПЛИС фирмы Xilinx
Возрастание сложности ПЛИС приводит к тому, что ознакомление только с технической документацией не всегда позволяет дать развернутую картину того, как именно производить выбор ПЛИС для конкретного проекта с учетом особенностей архитектуры и характеристик установленных на кристалле элементов [1, 2].
Исходя из этого, в данной работе перед непосредственно процессом поискового проектирования модели ПЛИС будет проведена работа по указанию на наиболее значимые новые свойства ПЛИС и те следствия, которые важны для построения системы цифровой обработки сигналов.
1.2.1 Архитектура логических ячеек
На протяжении длительного периода времени (до 2005г.) стандартным решением для реализации логической ячейки (ЛЯ) ПЛИС была конфигурация «4-входовая таблица истинности + триггер» (4-LUT + FF). Очевидной реализацией такой ЛЯ являлся 16-разрядный сдвиговый регистр или однопортовое синхронное ОЗУ емкостью 16х1. Две соседних ЛЯ могут быть сконфигурированы как двухпортовое ОЗУ 16х1 с записью и чтением по одному адресу и чтением по другому адресу. Если необходимо иметь ОЗУ большой емкости, то оно строится на базе нескольких ЛЯ. Такое ОЗУ распределено по площади ПЛИС и поэтому называется распределенным (Distributed RAM) [4].
После 2005г. с появлением семейства ПЛИС Virtex-5, выполненных по технологии 65 нм, эволюция архитектуры ЛЯ пошла более быстрыми темпами. В Virtex-5 вместо стандартной конфигурации ЛЯ 4-LUT + FF была введена конфигурация 6-LUT + FF, а начиная с семейств Virtex-6, Spartan-6 (технологии производства 40 и 45 нм соответственно) и до сегодняшнего дня еще более прогрессивная конфигурация 6-LUT + 2*FF (рис. 3, 4). Соответственно 6-входовая таблица истинности (6-LUT) может конфигурироваться как 32-разрядный сдвиговый регистр или блок однопортовой памяти с организацией 64х1 (рис. 5) [1, 2]. Т.е. добавление новых входов произошло действительно за счет увеличения емкости конфигурационной памяти (сразу в 4 раза), а не за счет добавления мультиплексоров. Также комбинация «генератор + мультиплексоры» позволяет реализовать не всякую логическую функцию, в отличие от физически увеличенной емкости памяти для хранения таблиц истинности.
Значение перехода от 4-LUT к 6-LUT трудно переоценить. Прежде всего, для сложных проектов существенно уменьшается число последовательно ЛЯ, реализующих функцию для большого числа входов. Экономия ячеек при этом не так важна, как важен, что в цепях комбинаторной логики оказывается в среднем в полтора раза меньше ячеек, что соответственно во столько же раз уменьшает задержку распространения сигнала.
Рис. 3. Эволюция архитектуры логической ячейки семейства Virtex
Рис. 4. Эволюция архитектуры логической ячейки семейства Spartan
Рис. 5. Изменения в реализации распределенной памяти на 6-LUT
К примеру, тестирование возможностей Virtex-5 в сложных проектах с большим числом сложных логических функций показало уменьшение числа логических уровней на 25 - 30% [1, 2]. На рис. 6 проиллюстрирована проблема, связанная с увеличением числа уровней логики. Сигнал от выхода первого триггера ко входу второго последовательно проходит через две LUT (задерживаясь после каждой на задержку tЛ), а также по трассировочной цепи между двумя LUT (добавляется задержка tТР). Таким образом, увеличение числа логических уровней прохождения сигнала может существенно снизить реальную частоту работы ПЛИС в проекте
Рис. 6. Проблема увеличения числа уровней логики.
Семейства Virtex-6, Spartan-6, как уже было обозначено выше, имеют еще более прогрессивную архитектуру ЛЯ 6-LUT + 2*FF. Заметим, что изменения коснулись не только Virtex, но и Spartan, таким образом, традиционно более дешевые ПЛИС Spartan нового поколения имеют полнофункциональную логическую ячейку, как и Virtex-6. Второй триггер может быть использован как для более глубокой конвейеризации, так и для реализации режима, в котором логический генератор используется как два 5-входовых генератора.
В целом, новая ячейка представляет собой вид ресурса ПЛИС, который улучшает характеристики проектов без необходимости специального вмешательства разработчика. Средства синтеза автоматически реализуют конструкции HDL на новых ячейках, эффективно используя и 6-входовые логические генераторы, и второй триггер. В то же время разработчик может дополнительно обратить внимание на состав аппаратных ресурсов, реализуя такие узлы, которые обеспечат «наиболее плотное прилегание к аппаратуре» [2].
1.2.2 Блочная память
Одним из немаловажных ресурсов ПЛИС для построения систем ЦОС является блочная память. Начиная с семейства Virtex-5, емкость базового блока увеличена ровно в 2 раза и составляет теперь 36 Кбит. Тем не менее, каждый блок может быть использован как два независимых блока по 18 Кбит. Дополнительно в составе блока присутствуют цепи, облегчающие построение модулей FIFO (очереди) и устройства коррекции ошибок. Логика FIFO обеспечивает флаги «FIFO полон», «FIFO пуст», а также флаги «FIFO почти полон», «FIFO почти пуст» с программируемыми порогами срабатывания (рис. 7) [1, 2]. Память может использоваться с шириной данных от 1 до 72 разрядов. В 72-разрядном варианте доступен только так называемый «простой двухпортовый режим», в котором один порт используется для чтения, а другой - для записи. В остальных вариантах доступен «истинный двухпортовый режим», при котором порта могут использоваться как для чтения, так и для записи.
Рис. 7. Архитектура блочной памяти Virtex-5
Частота работы блочной памяти в семействах Virtex-5 достигает 550 МГц, а ее емкость - почти 12 Мбит. Для сравнения: в семействах Virtex-6 максимальная емкость блочной памяти составляет 38 Мбит, а в Virtex-7 - 68 Мбит. Качественные изменения, произошедшие в способе организации блочной памяти, соответствую общей тенденции увеличения пропускной способности интерфейсов обмена между памятью и арифметическими устройствами. По оценке производителя, устройства Virtex-5 в 4.4 раза превосходят своих предшественников Virtex-4 по пропускной способности памяти, что немаловажно для построения систем цифровой обработки сигналов, а также высокопроизводительных параллельных вычислений.
1.2.3 Блоки цифровой обработки сигналов
С блочной памятью обычно ассоциированы аппаратные умножители. Как правило, блочная память хранит коэффициенты цифровых фильтров. Однако с увеличением уровня интеграции и распространением софт-процессоров появилась возможность реализовать на том же кристалле не только блоки ЦОС, но и управляющий процессор (например MicroBlaze). Поэтому количество блоков DSP (ЦОС) растет чуть медленнее, чем количество блоков памяти.
Напомним, что основной операцией в задачах ЦОС является умножение с накоплением (Multiply-and-Accumulate - MAC).
Структурная схема блока DSP48E семейства Virtex-5 показана на рис.8.
Рис. 8. Блок DSP48E семейства Virtex-5
В этом блоке вместо умножения двух 18-разрядных операндов стало доступно перемножение 25-разрядного числа на 18-разрядное. Аккумулятор заменен 48-разрядным сумматором-вычитателем. Кроме того, возможно каскадирование блоков DSP с применением выделенных трассировочных ресурсов в пределах одной колонки. Наконец, добавлен независимый 48-разрядный вход и возможность суммирования трех операндов в пределах одного блока. Отметим также повышение тактовой частоты до 550 МГц (500 МГц у Virtex-4) и примерно 40%-ное снижение потребляемой мощности по сравнению с Virtex-4 [1, 2].
Семейства Virtex-6 и Spartan-6 имеют большее количество блоков DSP (в младшей ПЛИС Virtex-6 SXT их больше чем в любой из микросхем Virtex-5 SXT). Следует отметить качественные изменения этих блоков, которые стали называться XtremeDSP (DSP48E1S). Нововведением по сравнению с семейством Virtex-5 является предварительный сумматор (pre-adder). Этот модуль является хорошим примером технического решения, которое при небольших аппаратных затратах позволяет получить существенный выигрыш при реализации определенного класса алгоритмов, а именно цифровых фильтрах с симметричными коэффициентами. В таких проектах мы имеем двукратное уменьшение количества требуемых для реализации блоков XtremeDSP.
В табл. 1 показаны сводные характеристики производительности в задачах ЦОС для FPGA семейств Virtex разных поколений.
Табл. 1. Сводная таблица производительности FPGA Xilinx в задачах цифровой обработки сигналов
Прим.: все частоты указаны для исполнения ПЛИС с наиболее быстрым классом скорости (speed grade)
Из таблицы видно, что пиковая производительность возрастает в 2 раза при переходе к каждому новому семейству, что достигается прежде всего соответствующим двукратным ростом количества блоков цифровой обработки сигналов. Тактовая частота при этом возрастает приблизительно на 10% относительно предыдущего семейства. Это означает, что получение максимальной отдачи от FPGA серии SX возможно при глубоком распараллеливании процессов обработки, например при реализации многоканальных фильтров высоких порядков.
1.2.4 Скоростные последовательные приемопередатчики
Высокоскоростные последовательные приемопередатчики (transivers, трансиверы) играют немаловажную роль при проектировании системы ЦОС. В связи с этим можно выделить появление ПЛИС серии Spartan-6 LXT, содержащих блоки GTP (как и в ранних устройствах серии Virtex-5). Данные трансиверы позволяют передавать данные со скоростью до 3.75 Гбит/с, что дало реальную возможность создания недорогих устройств, содержащих такие интерфейсы на базе гигабитных приемопередатчиков, как Gigabit Ethernet, SATA и PCI Express.
Появление второго поколения интерфейса PCI-E (PCI Express 2.0), который работает на скорости до 5 Гбит/с уже не позволило использовать трансиверы GTP в качестве аппаратной платформы. Однако появление устройств серии Virtex-5 FXT и более поздних серий ПЛИС позволило решить эту проблему. В указанных сериях появились более скоростные приемопередатчики GTX, обеспечивающие пропускную способность данных до 6.5 Гбит/с. Наконец, настоящим событием стало появление в составе ПЛИС серии Virtex-6 HXT еще более скоростных трансиверов GTH, обеспечивающие пропускную способность данных до 11.18 Гбит/с. Данные приемопередатчики являются лидером в своей области и используются в самых современных ПЛИС 7й серии фирмы Xilinx.
Тенденция к увеличению пропускной способности приемопередатчиков стала поводом к отказу от устаревших GTP и использованию трансиверов GTX, GTH в микросхемах ПЛИС начиная с серии Virtex-6. Вполне возможно, что через 2-3 года появятся еще более скоростные приемопередатчики, которые вытеснят GTX, а может быть и GTH.
1.2.5 Блоки ввода-вывода
Из основных улучшений, касающихся блоков ввода-вывода (I/O Banks) стоит, пожалуй, отметить увеличение скорости обмена с 1.2 Гбит/с у ПЛИС Virtex-5 до 1.4 Гбит/с в устройствах серии Virtex-6. По сравнению с огромным прогрессом скоростных приемопередатчиков, казалось бы, небольшое улучшение. Однако в семействе Virtex-6 можно наблюдать интересное добавление - динамическое управление входным импедансом, что позволяет реализовать интерфейс HSLVDCI - High-Speed Low Voltage Dynamically Controlled Impedance. Этот интерфейс отличается пониженным потреблением энергии, поскольку позволяет отключать терминаторы динамически (см. рис. 9).
В данном случае показан пример реализации скоростной двунаправленной шины. При чтении данных требуется установка резисторов pull-up и pull-down, что и реализуется с помощью соответствующей настройки блока ввода/вывода. При записи данных терминаторы уже не требуются, однако в предыдущих поколениях FPGA они оставались бы подключенными к выходному буферу, обуславливая повышенное потребление тока. Динамическое управление импедансом позволяет отключать терминаторы, когда соответствующий вывод переключается в режим выхода.
Рис. 9. Динамическое отключение терминаторов при работе с двунаправленными шинами
Что касается количества контактов, доступных пользователю (Max User I/O pins), современные ПЛИС фирмы Xilinx, начиная с Virtex-4, демонстрируют примерно одинаковые показатели: от 320 до 960 у Virtex-4, от 360 до 1200 у Virtex-6. Особняком стоит серия Virtex-7, предоставляющая пользователю от 840 до 3600 контактов. Применительно к системам ЦОС количество пользовательских контактов не является определяющим показателям при выборе модели ПЛИС.
1.3 Сравнительный анализ ПЛИС на примере КИХ фильтра
В п. 1.2 были описаны все основные параметры современных ПЛИС фирмы Xilinx, а также были приведены оценки этих параметров в процессе эволюции ПЛИС непосредственно производителем.
В данном разделе мы проведем небольшой сравнительный анализ реализации КИХ фильтра (спроектированный автором данной курсовой работы в рамках выпускной бакалаврской работы) на ПЛИС серии Spartan-3 и Kintex-7. VHDL описание КИХ фильтра приведено в приложении В.
В качестве объектов для сравнительного анализа возьмем микросхемы xc3s200-4-ft256 (серия Spartan-3) и xc7k160t-3-fbg484 (серия Kintex-7). Выбор в пользу данных микросхем был обусловлен следующими критериями:
- возможность проследить эволюционные изменения параметров ПЛИС, начиная с технологии производства 90 нм и до современных микросхем, выполненных по технологии 28 нм;
- возможность оценить преимущества современных ПЛИС с точки зрения построения на них систем ЦОС.
Немаловажным фактом также является наличие моделей ПЛИС в библиотеке САПР ISE WebPack версии 14.2 фирмы Xilinx. В большей степени это относится к 7й серии ПЛИС, т.к. в библиотеке присутствуют только младшие микросхемы семейств Artix-7 и Kintex-7 данной серии.
Итак, сравнительный анализ будем проводить по результатам отчета синтезатора XST, встроенного в САПР ISE WebPack.
Далее приведены отчеты синтеза проекта КИХ фильтра на ПЛИС xc3s200-4-ft256 и xc7k160t-3-fbg484 соответственно.
Как видно из отчетов синтезатора, вне зависимости от модели ПЛИС, ключевые элементы схемы (2х-портовое ОЗУ, ПЗУ, умножитель, аккумулятор) были верно определены. Отчет синтеза проекта на ПЛИС xc7k160t-3-fbg484 включает также информацию об использованных мультиплексорах, находящихся в логических ячейках наряду с таблицей истинности (LUT) и триггерами (FF).
Мы видим, что конфигурация логической ячейки 6-LUT + 2*FF позволила немного уменьшить кол-во задействованных LUT'ов, а также число полностью задействованных ЛЯ с 139 до 64 штук. Наличие 2х триггеров в логической ячейке позволяет добавлять триггера на уровне HDL описания, задействуя при этом ЛЯ с неиспользуемыми или на половину используемыми триггерами в своем составе. Таких ЛЯ в данном проекте получилось 75 штук, что вместе с 6-входовой таблицей истинности (6-LUT) позволяет использовать микросхему xc7k160t-3-fbg484 в небольших проектах, связанных с логической обработкой данных.
Что касается отчетов синтезатора применительно к системам ЦОС, отметим резко уменьшившееся в процентном отношении кол-во занятых блоков памяти BRAM, которые к тому же поддерживают логику FIFO (см. п.1.2.2). Реализация умножения с накоплением реализуется теперь на специальном блоке ЦОС (XtremeDSP - cм. п. 1.2.3) и не требует дополнительных регистров и сумматоров, как это было в реализации проекта на микросхеме xc3s200-4-ft256. Не оставим без внимания и тот факт, что переход на более современную микросхему ПЛИС xc7k160t-3-fbg484 позволил увеличить тактовую частоту работы КИХ фильтра почти на 20 МГц, что является хорошим показателем даже для такого относительно небольшого устройства.
Резюмируем итоги сравнительного анализа. Микросхема ПЛИС xc7k160t-3-fbg484 серии Kintex-7, которая не является флагманом в своем семействе, имеет в своем составе 325 блока памяти BRAM общей емкостью 11.7 Мбит, а также 600 специализированных блоков ЦОС DSP48E1S. Помимо этого в данной ПЛИС имеются трансиверы с пропускной способностью до 12.5 Гбит/с. Все это в совокупности с относительно невысокой стоимостью (по сравнению с семейством Virtex-7) делает данную микросхему достаточно привлекательной для реализации на ней систем ЦОС. Информация, полученная в результате проведенного в данном разделе сравнительного анализа, поможет нам в последующем для постановки задачи поискового проектирования модели ПЛИС для построения на ней системы ЦОС, а также формировании начальной базы параметров и удачных/неудачных фактов.
2. РЕШЕНИЕ ОТКРЫТОЙ ЗАДАЧИ ПОИСКОВОГО ПРОЕКТИРОВАНИЯ МОДЕЛИ ПЛИС ДЛЯ ПОСТРОЕНИЯ СИСТЕМЫ ЦОС
2.1 Постановка задачи
Решение задачи поискового проектирования модели ПЛИС для реализации конкретного проекта является непростым процессом. Связано это прежде всего с возрастанием сложности ПЛИС, а также дифференцированием подсемейств, направленных на реализацию конкретных задач (см. п. 1.1). Поэтому в данной работе рассмотрим более узкую задачу, а именно, выбор модели ПЛИС для построения на ней системы цифровой обработки сигналов (см. п.1.2).
Перечислим основные характеристики ПЛИС, необходимые для решения поставленной задачи:
- технология производства;
- устройство секции;
- количество логических ячеек;
- напряжение питания ядра;
- емкость блочной памяти;
- количество блоков цифровой обработки сигналов;
- максимальное количество доступных контактов;
- тип приемопередатчиков;
- стоимость микросхемы.
За внешние показатели качества были приняты:
- площадь кристалла;
- тактовая частота работы ПЛИС;
- производительность в задачах цифровой обработки сигналов;
- пропускная способность последовательных интерфейсов.
Непосредственно связанные с внешними показателями качества и основополагающие требования при выборе модели ПЛИС:
- технология производства;
- емкость блочной памяти;
- количество блоков цифровой обработки сигналов;
- тип приемопередатчиков.
Дадим некоторые пояснения по поводу выбора внешних показателей качества и непосредственно связанных с ними требованиями при выборе ПЛИС. Переход к новым технологиям производства позволяет выпускать ПЛИС с той же площадью кристалла, что их предшественники, но с гораздо большими ресурсами (см. п. 1.2.1) и тактовой частотой работы. Благодаря этому возможно собирать сложные высокопроизводительные системы ЦОС, состоящие из сотен (а иногда и тысяч) специализированных ПЛИС в относительно небольших по размеру корпусах.
Емкость блочной памяти BRAM играет не последнюю роль в работе систем ЦОС. В современных системах блочная память хранит коэффициенты цифровых фильтров, а также является буфером для входных данных (этому способствует поддержка логики FIFO в блоках BRAM - см. п. 1.2.2). Поэтому достаточная емкость блочной памяти для работы системы ЦОС среднего уровня в настоящее время составляет порядка 20-30 Мбит [2].
Еще одним важным параметром является наличие высокоскоростных приемопередатчиков (трансиверов). Это позволяет реализовывать на их базе такие интерфейсы как Gigabit Ethernet, SATA и PCI Express (см. п. 1.2.4). К примеру, для реализации PCI Express 3.0 (работающего на скорости до 8 Гбит/с) требуются трансиверы GTH (обеспечивающие пропускную способность данных до 13.1 Гбит/с в Virtex-7), а для последней 4й версии (PCI-E 4.0 до 16 Гбит/с) необходимы трансиверы GTZ 28 Гбит/с, которые имеются только в самых старших ПЛИС Virtex-7 [1].
Прим.: интерфейс PCI Express 4.0 пока еще проходит стандартизацию (официальные сроки - до 2015г.) поэтому в нашей базе параметров мы не рассматривали приемопередатчики стандарта GTZ.
Наиболее значимым показателем при построении систем ЦОС является производительность в задачах ЦОС (см. табл.1 и п. 1.2.3). Чтобы обеспечить высокое значение данного параметра, ПЛИС должна обладать достаточным количеством специализированных блоков DSP48E1S. В настоящее время этот показатель находится на уровне 800 и более блоков [2].
В табл. 2 приведено сравнение микросхем ПЛИС серий Virtex-5, Virtex-6 и Virtex-7 с одинаковой площадью кристалла (размер корпуса) по основным характеристикам [1,2].
Прим.: число доступных контактов как видно из табл. 2 не является важным параметром в нашей задаче и приведено для общей информации.
Табл. 2. Сводная таблица характеристик ПЛИС разных технологий производства
Параметр/ Модель ПЛИС |
XC5VSX95T (Virtex-5) |
XC6VSX475Т (Virtex-6) |
XC7VX690Т (Virtex-7) |
|
Технология производства |
65 нм |
40 нм |
28 нм |
|
Кол-во ЛЯ (4-LUT + FF) |
94 тыс. |
476 тыс. |
693 тыс. |
|
Общая емкость BRAM |
8.7 Мбит |
38 Мбит |
52.9 Мбит |
|
Кол-во блоков DSP48E1 |
640 |
2016 |
3600 |
|
Размер корпуса, мм |
35*35 мм |
|||
Макс. тактовая частота |
до 550 МГц |
до 600 МГц |
до 1 ГГц |
|
Пиковая производительность, GMAC/S |
380 |
1200 |
2000 |
|
Тип и пропускная способность приемопередатчиков |
GTP до 3.75 Гбит/с |
GTX до 6.5 Гбит/с |
GTH до 13.1 Гбит/с |
|
Макс. кол-во доступных контактов |
640 |
840 |
1000 |
2.2 Формирование начальной базы параметров и удачных/неудачных фактов
Определив предметную область, составим начальную базу данных. В ней будут содержаться все параметры, являющиеся важными при поисковом проектировании модели ПЛИС для построения на ней системы ЦОС, а также значения этих параметров. Начальная база параметров и их значений приведена в табл. 3.
Прим.:
1) Кол-во логических ячеек - в базе Решателя: Кол-во ЛЯ (4-LUT + FF). Параметр, оценивающий логические возможности ПЛИС. Указано в пересчете на стандартную ячейку с 4х-входовой таблицей истинности и триггером.
2) Кол-во блоков ЦОС - в базе Решателя: Кол-во блоков DSP.
3) Максимальное кол-во доступных контактов - в базе Решателя: Max User I/O Pins - число пользовательских контактов.
4) Значения параметра стоимости микросхемы были получены исходя из цен на «граничные» ПЛИС по запросу в “КТЦ Инлайн Груп”. За «граничные» ПЛИС были приняты XC4VSX25 серии Virtex-4 и XC7V2000T серии Virtex-7.
Из всего пространства параметров, руководствуясь проведенными в п.1, п. 2.1 исследованиями, в начальную базу были сформированы и занесены 3 удачных и 3 неудачных факта. Эти факты приведены в табл. 4.
Табл. 3. Пространство параметров
№ п.п. |
Параметры/Значения |
1 |
2 |
3 |
4 |
5 |
|
1 |
Технология производства |
90 нм |
65 нм |
40 - 45 нм |
28 нм |
||
2 |
Устройство секции |
4*4-LUT + 4*FF |
4*6-LUT + 4*FF |
4*6-LUT + 8*FF |
|||
3 |
Кол-во логических ячеек |
до 54 тыс. |
54 - 110 тыс. |
110 - 240 тыс. |
240 - 480 тыс. |
свыше 480 тыс. |
|
4 |
Напряжение питания ядра |
1.2 В |
1.0 В |
0.9 В |
|||
5 |
Емкость блочной памяти |
до 6 Мбит |
6 - 15 Мбит |
15 - 28 Мбит |
28 - 68 Мбит |
||
6 |
Кол-во блоков ЦОС |
до 64 |
64 - 128 |
128 - 288 |
288 - 864 |
свыше 864 |
|
7 |
Максимальное кол-во доступных контактов |
до 520 |
520 - 720 |
720 - 1200 |
|||
8 |
Тип приемопередатчиков |
GTP |
GTX |
GTH |
|||
9 |
Стоимость микросхемы |
до 400 |
400 - 1500 |
1500 - 7000 |
7000 - 20000 |
свыше 20 тыс. |
Табл. 4 Примеры удачных и неудачных фактов из начальной базы фактов
№ |
Тип факта |
Имя факта |
Вес |
Вектор значений |
|||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|||||
1 |
Удачный |
Удач-1 |
0 |
40-45нм |
4*6-LUT + 8*FF |
110 - 240 тыс. |
1.0 В |
15 - 28 Мбит |
128 - 288 |
до 520 |
GTХ |
7 - 20 тыс. |
|
2 |
Удачный |
Удач-2 |
0 |
40-45нм |
4*6-LUT + 8*FF |
240 - 480 тыс. |
0.9 В |
15 - 28 Мбит |
128 - 288 |
520 - 720 |
GTH |
7 - 20 тыс. |
|
3 |
Удачный |
Удач-3 |
0 |
28 нм |
4*6-LUT + 8*FF |
110 - 240 тыс. |
0.9 В |
15 - 28 Мбит |
128 - 288 |
520 - 720 |
GTH |
7 - 20 тыс. |
|
4 |
Удачный |
Удач-4 |
0 |
28 нм |
4*6-LUT + 8*FF |
240 - 480 тыс. |
0.9 В |
15 - 28 Мбит |
288 - 864 |
720 - 1200 |
GTH |
7 - 20 тыс. |
|
5 |
Удачный |
Удач-5 |
0 |
28 нм |
4*6-LUT + 8*FF |
свыше 480 тыс. |
0.9 В |
28 - 68 Мбит |
свыше 864 |
720 - 1200 |
GTH |
свыше 20 тыс. |
|
6 |
Неудачный |
Неудач-1 |
0 |
90 нм |
4*4-LUT + 4*FF |
до 54 тыс. |
1.2 В |
до 6 Мбит |
до 64 |
до 520 |
GTP |
до 400 |
|
7 |
Неудачный |
Неудач-2 |
0 |
65 нм |
4*6-LUT + 4*FF |
54 - 110 тыс. |
1.0 В |
6 - 15 Мбит |
64 - 128 |
520 - 720 |
GTX |
400 - 1500 |
|
8 |
Неудачный |
Неудач-3 |
0 |
65 нм |
4*6-LUT + 4*FF |
110 - 240 тыс. |
1.0 В |
6 - 15 Мбит |
128 - 288 |
720 - 1200 |
GTX |
1500 - 7000 |
|
9 |
Неудачный |
Неудач-3 |
0 |
65 нм |
4*6-LUT + 4*FF |
54 - 110 тыс. |
1.0 В |
6 - 15 Мбит |
128 - 288 |
720 - 1200 |
GTX |
1500 - 7000 |
|
10 |
Неудачный |
Неудач-3 |
0 |
65 нм |
4*6-LUT + 4*FF |
110 - 240 тыс. |
1.0 В |
6 - 15 Мбит |
64 - 128 |
520 - 720 |
GTX |
1500 - 7000 |
2.3 Формирование базы запрещенных комбинаций
Ни одна открытая задача поискового проектирования не обходится без предварительного выделения запрещенных комбинаций параметров из всего пространства параметров. В нашей задаче проектирования модели ПЛИС для построения системы ЦОС это особенно важно. Связано это прежде всего с тенденциями развития ПЛИС. Микросхемы, выполненные по вновь введенной технологии производства, предоставляют качественно новые ресурсы и большее их количество по сравнению со своими предшественниками. Исходя из этого, все запрещенные комбинации будут «привязаны» к технологии производства ПЛИС.
В данной работе было принято решение наиболее полно обозначить множество запрещенных комбинаций и решить открытую задачу.
Расширенный набор запрещенных комбинаций приведен в редакторе запрещенных комбинаций начальной базы Решателя. Количество запрещенных комбинаций в расширенном наборе составило 47 шт. (см. базу Решателя). Перечислим некоторые запрещенные комбинации из расширенного набора:
Табл. 5
№ п.п. |
Параметры ЗК |
№ п.п. |
Параметры ЗК |
|
1 |
Технология производства 90 нм |
30 |
Технология производства 28 нм |
|
Устройство секции 4*6-LUT + 4*FF |
Кол-во блоков DSP |
|||
2 |
Технология производства 90 нм |
36 |
Технология производства 28 нм |
|
Устройство секции 4*6-LUT + 8*FF |
Тип приемопередатчиков GTP |
|||
5 |
Технология производства 40-45 нм |
8 |
Технология производства 90 нм |
|
Устройство секции 4*6-LUT + 4*FF |
Тип приемопередатчика GTX |
|||
9 |
Технология производства 90 нм |
40 |
Технология производства 65 нм |
|
Тип приемопередатчика GTH |
Стоимость, $ 7000-20000 |
|||
11 |
Технология производства 28 нм |
43 |
Технология производства 40-45 нм |
|
Тип приемопередатчика GTP |
Стоимость, $ 400-1500 |
|||
23 |
Технология производства 28 нм |
47 |
Технология производства 28 нм |
|
Емкость BRAM до 6 Мбит |
Стоимость, $ 1500-7000 |
2.4 Решение открытой задачи с использованием Решателя Открытых Задач
Для того, чтобы начать решение задачи с помощью РОЗ, необходимо создать начальную базу параметров (рис. 10).
Рис. 10. Начальная база параметров
Рис. 11. База удачных фактов
Рис. 12. База неудачных фактов
Далее зададим начальную базу удачных и неудачных фактов, а также запрещенные комбинации (рис. 11 - 13). На основании начальных данных, получим с помощью Решателя вид начальной функции выбора. По окончании процесса обучения мы получим вид конечной функции выбора (табл. 6) на основании результатов обучения Решателя (табл. 7) и сделаем выводы о правильности полученного решения открытой задачи.
Рис. 13. База запрещенных комбинаций
Табл. 6
Вид начальной функции выбора |
|||||||
№п.п. |
Параметры/Значения |
1 |
2 |
3 |
4 |
5 |
|
1 |
Технология производства |
-5 |
-20 |
15 |
10 |
||
2 |
Устройство секции |
-5 |
-20 |
25 |
|||
3 |
Кол-во логических ячеек |
-5 |
-10 |
0 |
0 |
5 |
|
4 |
Напряжение питания ядра |
-5 |
-15 |
-20 |
|||
5 |
Емкость блочной памяти |
-5 |
-20 |
20 |
5 |
||
6 |
Кол-во блоков ЦОС |
-5 |
-10 |
5 |
-20 |
20 |
|
7 |
Максимальное кол-во доступных контактов |
0 |
-30 |
0 |
|||
8 |
Тип приемопередатчиков |
-5 |
-15 |
20 |
|||
9 |
Стоимость микросхемы |
-5 |
-5 |
-15 |
20 |
5 |
|
Вид конечной функции выбора |
|||||||
№ п/п |
Параметры/Значения |
1 |
2 |
3 |
4 |
5 |
|
1 |
Технология производства |
-19895 |
-19780 |
29465 |
10210 |
||
2 |
Устройство секции |
-31165 |
-28520 |
59685 |
|||
3 |
Кол-во логических ячеек |
-19895 |
10571 |
2894 |
2894 |
3088 |
|
4 |
Напряжение питания ядра |
-22885 |
9226 |
13659 |
|||
5 |
Емкость блочной памяти |
-17595 |
-21620 |
17617 |
17617 |
||
6 |
Кол-во блоков ЦОС |
-16445 |
-14835 |
-19792 |
25536 |
17723 |
|
7 |
Максимальное кол-во доступных контактов |
-4922 |
4428 |
494 |
|||
8 |
Тип приемопередатчиков |
-40135 |
-49684 |
-63467 |
|||
9 |
Стоимость микросхемы |
-14720 |
-15410 |
16396 |
14127 |
-393 |
Рассчитаем глубину целеполагания:
H=(N-I)/M, где:
N - число входных параметров;
M - число внешних показателей качества поискового проектирования;
I - число параметров, непосредственно связанных с внешними показателями качества.
H = (9 - 4)/4 = 1.25 > 0, что является хорошим показателем.
Переходим к процессу обучения Решателя.
Схематично алгоритм процесса обучения Решателя приведен на рис. 14.
Вид Решателя на первом шаге решения приведен на рис. 15.
Параллельно с процессом обучения Решателя мы будем вести протокол, представленный в табл. 7.
Рис. 14. Алгоритм процесса обучения решателя открытых задач
Рис. 15. Первый шаг обучения Решателя
Табл. 7
Протокол обучения Решателя открытых задач |
||||||||
Уровень знаний |
Общее число фактов |
Число порожд. гипотез |
Число обнаруженных запрещенных комбинаций |
Число обнаруженных подтвержденных гипотез |
Число обнаруженных противоречий |
|||
полож. (оцен. БКО) |
отриц. (оцен. БКО) |
всего |
||||||
1 |
10 |
91 (6) |
31 (116) |
122 |
185 |
31 |
91 |
|
2 |
132 |
31 (0) |
61 (92) |
92 |
238 |
61 |
31 |
|
3 |
224 |
61 (2) |
31 (90) |
92 |
239 |
33 |
59 |
|
4 |
316 |
61 (2) |
31 (90) |
92 |
206 |
29 |
63 |
|
5 |
408 |
91 (1) |
61 (151) |
152 |
285 |
62 |
90 |
|
6 |
560 |
151 (5) |
31 (177) |
182 |
362 |
36 |
146 |
|
7 |
742 |
144 (17) |
31 (158) |
175 |
383 |
44 |
131 |
|
8 |
917 |
164 (21) |
31 (174) |
195 |
264 |
52 |
143 |
|
9 |
1112 |
61 (2) |
31 (90) |
92 |
165 |
29 |
63 |
|
10 |
1204 |
81 (12) |
31 (100) |
112 |
200 |
43 |
69 |
|
11 |
1316 |
31 (0) |
31 (62) |
62 |
77 |
31 |
31 |
|
12 |
1378 |
0 (7) |
62 (55) |
62 |
54 |
55 |
7 |
|
13 |
1440 |
133 (5) |
32 (160) |
165 |
325 |
37 |
128 |
|
14 |
1605 |
52 (16) |
31 (77) |
93 |
129 |
47 |
46 |
|
15 |
1698 |
53 (13) |
31 (71) |
84 |
55 |
42 |
42 |
|
16 |
1782 |
0 (1) |
54 (53) |
54 |
75 |
53 |
1 |
|
17 |
1836 |
0 (2) |
32 (30) |
32 |
35 |
30 |
2 |
Из протокола мы видим, что начиная с 15го шага число сгенерированных Решателем гипотез и число найденных в них запрещенных комбинаций устойчиво уменьшается, а также на 16м и 17м шагах доля опровергнутых БКО гипотез сократилась до 7%, что говорит об очень высоком уровне обученности Решателя. В связи с эти на 17м шаге решение было остановлено и из всех полученных ранее локальных максимумов было выбрано лучшее решение на 8м шаге (рис. 16).
Рис. 16. Наилучшее решение
Наилучшему решению наиболее соответствует микросхема ПЛИС XC7VX550T серии Virtex-7 [1]. Эта микросхема включает в себя 554 тыс. эквивалентных ячеек 4*4-LUT + 4*FF, 42 Мбит блочной памяти, 2880 блоков DSP48E1, а также 64 трансивера стандарта GTH пропускной способностью до 13.1 Гбит/с. Стоит отметить, что данная ПЛИС действительно находится в ценовом диапазоне от 7 до 20 тысяч долларов, т.к. не обладает самыми высокими характеристиками по кол-ву логических ячеек и высокоскоростных приемопередатчиков (трансиверов).
Графики зависимостей числа сгенерированных Решателем гипотез, а также числа подтвержденных и опровергнутых БКО гипотез представлены на рис. 17.
Рис. 17. Зависимости числа гипотез от уровня знаний Решателя
All - общее число сгенерированных Решателем гипотез, Oprov - число опровергнутых БКО гипотез, ZK - число обнаруженных ЗК
Рассчитаем коэффициент сокращения переборов, который поможет нам оценить эффективность работы Решателя
Ксп = (Nполн - Nнач) / Nоцен, где:
Nполн - полное число переборов;
Nнач - число фактов в начальной базе знаний;
Nоцен - число оцененных фактов в процессе обучения Решателя.
Ксп = (162000 - 10)/1836 ? 88 - очень достойный результат, показывающий высокий уровень обученности Решателя.
Рассчитаем коэффициент «новизны» наилучшего решения:
где:
n - количество параметров,
|T(1)| - количество удачных фактов в начальной базе,
i - номер параметра,
q - номер удачного факта в начальной базе,
tiq - значение i-го параметра в q-ом удачном факте,
Ki - количество значений i-го параметра в начальной базе.
,
что говорит о достаточной степени новизны найденного решения
Рассчитаем коэффициент достоверности:
,
где НО - число сгенерированных гипотез на последнем шаге, а - кол-во всех сгенерированных гипотез в процессе решения.
Отсюда: , что говорит о хорошей достоверности решения.
С учетом полученных значений весовых коэффициентов из конечной функции выбора (Cij - см. табл. 6) проранжируем параметры в порядке убывания по формуле:
.
Ранжирование приведено в табл. 8.
Табл. 8
№ параметра |
Параметр |
w |
|
2 |
Устройство секции |
90850 |
|
1 |
Технология производства |
49360 |
|
6 |
Кол-во блоков ЦОС |
45328 |
|
5 |
Емкость блочной памяти |
39237 |
|
4 |
Напряжение питания ядра |
36544 |
|
9 |
Стоимость микросхемы |
31806 |
|
3 |
Кол-во логических ячеек |
30466 |
|
8 |
Тип приемопередатчиков |
23332 |
|
7 |
Максимальное кол-во доступных контактов |
9350 |
Как видно из таблицы 8, верхние строчки занимают параметры, являющиеся основополагающими при выборе ПЛИС в данной задаче, что говорит о достаточно высоком уровне решения задачи.
Приведем некоторые нелинейные составляющие (из 39) на последнем шаге.
Табл. 9
Нелинейные составляющие |
||||
№ |
Вес |
Параметр |
Значение |
|
1 |
-27069 |
Max User I/O Pins |
720-1200 |
|
Кол-во блоков DSP |
288-864 |
|||
Напряжение питания ядра |
0.9 В |
|||
Технология производства |
40-45 нм |
|||
Тип приемопередатчиков |
GTH |
|||
Устройство секции |
4*6-LUT + 8*FF |
|||
11 |
-174174 |
Напряжение питания ядра |
1.0 В |
|
Технология производства |
40-45 нм |
|||
Тип приемопередатчиков |
GTP |
|||
Устройство секции |
4*6-LUT + 8*FF |
|||
20 |
-47598 |
Max User I/O Pins |
до 520 |
|
Напряжение питания ядра |
1.0 В |
|||
Стоимость, $ |
1500-7000 |
|||
Технология производства |
40-45 нм |
|||
Тип приемопередатчиков |
GTX |
|||
Устройство секции |
4*6-LUT + 8*FF |
|||
39 |
-31587 |
Емкость блочной памяти |
15 - 28 Мбит |
|
Стоимость, $ |
1500-7000 |
|||
Технология производства |
40-45 нм |
2.5 Блок качественной оценки
Одной из важнейших задач данной курсовой работы является взаимодействие Решателя и блока качественной оценки (БКО). Схематично взаимодействие эксперта, Решателя и БКО представлено на рис. 18.
Блок качественной оценки является отдельной библиотекой BKO.dll, динамически подключаемой к Решателю Открытых Задач. Подключение модуля БКО производится в меню «Настройки» Решателя (рис. 19). Данный блок обеспечивает анализ данных, принимаемых от решателя, и производит оценку поступающих гипотез на основе заложенных в него критериев сравнения.
Рис. 18. Взаимодействие эксперта и решателя открытых задач с блоком качественной оценки
В основной форме БКО приведена информация по всем сгенерированным Решателем гипотезам, а именно: №гипотезы, вес гипотезы, параметры гипотезы. В разделе «Оценивать гипотезы» можно выбрать какие гипотезы оценивать (3 варианта выбора). Далее необходимо нажать кнопку «Оценить» - будет произведена непосредственно оценка гипотез. Положительно оцененные гипотезы выделяются зеленым цветом, отрицательно - синим. Кроме этого в основную форму выводятся кол-во положительно и отрицательно оцененных БКО гипотез, а также подтверждений и противоречий в оценке с Решателем (рис. 20).
Необходимо отметить тот факт, что Решатель подсчитывает обнаруженные запрещенные комбинации в сгенерированных им гипотезах, но не оповещает БКО должным образом о гипотезах, в составе которых имеются запрещенные комбинации; тем самым Решатель предоставляет возможность их оценки, что некорректно. Учитывая это, на БКО была возложена функция проверки гипотез, поступивших от Решателя, на наличие в их составе запрещенных комбинаций.
Листинг главного модуля БКО приведен в приложении Б.
Рис. 19. Подключение БКО к Решателю
Рис. 20. Основная форма БКО
Непосредственно процедура оценки гипотез блоком качественной оценки описана в модуле BKOMainForm.pas (см. приложение Б).
ЗАКЛЮЧЕНИЕ
цифровой сигнал база запрещенная комбинация
В данной работе было проведено поисковое проектирование модели ПЛИС для построения системы цифровой обработки сигналов.
Решатель Открытых Задач был успешно обучен, получено решение данной задачи, а также были произведены расчеты необходимых для анализа коэффициентов и построены графики зависимостей. Для создания и отладки блока качественной оценки использовалась среда Delphi 7 Second Edition.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Веб-сайт ЗАО “КТЦ Инлайн Груп” - официальный дистрибьютор фирмы Xilinx. Режим доступа: http://plis.ru/
2. Веб-сайт «Компоненты и технологии - журнал об электронных компонентах». Режим доступа: http://kit-e.ru/index.php
3. Дзегеленок И.И. Открытые задачи поискового проектирования. Учебное пособие по курсу "Основы инженерного проектирования". - М.: Изд-во МЭИ, 1991. - 66 с.
4. Поляков А.К. Языки VHDL и Verilog в проектировании цифровой аппаратуры на ПЛИС. Учебное пособие для вузов. - М.: Изд. дом МЭИ, 2012. - 220с.
5. Поляков А.К. Языки VHDL и Verilog в проектировании цифровой аппаратуры. - М.: СОЛОН-Пресс, 2003. - 320 с.
6. Потехин Д.С., Тарасов И.Е. Разработка систем цифровой обработки сигналов на базе ПЛИС. - М.: Горячая линия - Телеком, 2007. - 248с.
ПРИЛОЖЕНИЕ А
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ
Институт автоматики и вычислительной техники
Кафедpа ВМСиС
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ
по дисциплине: "Поисковое проектирование вычислительных систем”
Тема: Поисковое проектирование модели ПЛИС для построения системы цифровой обработки сигналов
Студент: Байков Д.А.
Группа: А-09-08
1. Содержание проекта
Необходимо поставить и решить открытую задачу поискового проектирования оптимальной модели ПЛИС, направленную на получение искомого знания.
Основные характеристики ПЛИС:
- технология производства;
- устройство секции;
- количество логических ячеек;
- напряжение питания ядра;
- емкость блочной памяти;
- количество блоков цифровой обработки сигналов;
- максимальное количество доступных контактов;
- тип приемопередатчиков;
- стоимость микросхемы.
Цель работы - осуществить выбор ПЛИС с оптимальными сочетаниями параметров с точки зрения проектировщика системы цифровой обработки сигналов, используя Решатель открытых задач.
В данной работе за основополагающие при выборе модели ПЛИС были выбраны следующие критерии:
- технология производства;
- емкость блочной памяти;
- количество блоков цифровой обработки сигналов;
- тип приемопередатчиков.
В данной работе за внешние показатели качества были приняты:
- площадь кристалла;
- тактовая частота работы ПЛИС;
- производительность в задачах цифровой обработки сигналов;
- пропускная способность последовательных интерфейсов.
Также необходимо программно реализовать блок качественной оценки (БКО) с последующим его подключением к Решателю открытых задач (РОЗ) для автоматической оценки гипотез.
2. График выполнения работы
Этап выполнения |
Срок выполнения |
|
1. Утверждение технического задания |
6 - 9 нед. |
|
2. Сдача проекта на проверку руководителя |
13 нед. |
|
3. Корректировка проекта по замечаниям |
14 нед. |
|
4. Защита проекта |
15-16 нед. |
|
5. Подведение итогов конкурса |
17 нед. |
Студент: Байков Д.А.
Руководитель: Дзегелёнок И. И.
ПРИЛОЖЕНИЕ Б
Листинг главного модуля БКО
unit BKOMainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, slConst, slClasses, slLibs, StdCtrls, ComCtrls;
type
TfmBKOMain = class(TForm)
lvSolverHipothesis: TListView;
pnLeft: TPanel;
btnAppreciate: TButton;
rgAppreciate: TRadioGroup;
pnBottom: TPanel;
ButtonPanel: TPanel;
btnOK: TButton;
btnCancel: TButton;
Good: TLabel;
Bad: TLabel;
GoodCount: TLabel;
BadCount: TLabel;
ApCount: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure rgAppreciateClick(Sender: TObject);
procedure lvSolverHipothesisClick(Sender: TObject);
procedure btnAppreciateClick(Sender: TObject);
procedure lvSolverHipothesisCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
private
FSolverBase: TSolverBase;
FRateFuncInfo: rRateFuncInfo;
procedure MarkHipothesisForAppreciate;
function AppreciateHipothesis(ASolverBase: TSolverBase): boolean;
function MarkedHipothesisCount: integer;
public
property HipSolverBase: TSolverBase read FSolverBase write FSolverBase;
function GetRateFuncInfo: rRateFuncInfo;
constructor Create(AOwner: TComponent; var ASolverBase: TSolverBase); reintroduce; overload;
end;
implementation
{$R *.dfm}
{ TfmBKOMain }
//Функция оценки гипотез
function TfmBKOMain.AppreciateHipothesis(ASolverBase: TSolverBase): boolean;
var
i,nS,nUS: integer;
stehnology, sblockram, sdsp, stransiver: string; // считываем в эти переменные
ssection, spower, sprice, slogic: string; // значения параметров
begin
with lvSolverHipothesis do begin
Items.BeginUpdate;
//Обнуляем число оцененных гипотез
FRateFuncInfo.iSuccess:=0;
FRateFuncInfo.iUnSuccess:=0;
//и счетчики противоречий и подтверждений
nS:=0; nUS:=0;
try
//Начинаем проверку списка гипотез
for i := 0 to Items.Count - 1 do
if Items[i].Checked then begin
tehnology := Items[i].SubItems.ValueFromIndex[7];
// Технология производства
bram := Items[i].SubItems.ValueFromIndex[2]; // Емкость блочной памяти
dsp := Items[i].SubItems.ValueFromIndex[3]; // Кол-во блоков DSP
transiver := Items[i].SubItems.ValueFromIndex[8];
// Тип приемопередатчика
power := Items[i].SubItems.ValueFromIndex[5];
// Напряжение питания ядра
section := Items[i].SubItems.ValueFromIndex[9]; // Устройство секции
price := Items[i].SubItems.ValueFromIndex[6]; // Стоимость
logic := Items[i].SubItems.ValueFromIndex[4]; // Количество ЛЯ
pins := Items[i].SubItems.ValueFromIndex[1]; // Число контактов
//Проверяем гипотезы на наличие запрещенных комбинаций
if ((tehnology = '90 нм')
and ((section = '4*6-LUT + 4*FF') or (section = '4*6-LUT + 8*FF')
or (logic = '240 - 480 тыс.') or (logic = 'свыше 480 тыс.')
or (power = '1.0 В') or (power = '0.9 В')
or (bram = '6 - 15 Мбит') or (bram = '15 - 28 Мбит') or (bram = '28 - 68 Мбит')
or (dsp = '128 - 288') or (dsp = '288 - 864') or (dsp = 'свыше 864')
or (pins = '720 - 1200')
or (transiver = 'GTX') or (transiver = 'GTH')
or (price='1500 - 7000') or (price='7000 - 20000') or (price='свыше 20000')
) or
(tehnology = '65 нм')
and ((section = '4*6-LUT + 8*FF')
or (logic = 'свыше 480 тыс.')
or (power = '0.9 В')
or (bram = '28 - 68 Мбит')
or (dsp = 'свыше 864')
or (transiver = 'GTH')
or (price='7000 - 20000') or (price='свыше 20000')
) or
(tehnology = '40-45 нм')
and ((section = '4*4-LUT + 4*FF') or (section = '4*6-LUT + 4*FF')
or (logic = 'до 54 тыс.')
or (power = '1.2 В')
or (bram = 'до 6 Мбит')
or (dsp = 'до 64')
or (price='до 400') or (price='400 - 1500') or (price='свыше 20000')
) or
(tehnology = '28 нм')
and ((section = '4*4-LUT + 4*FF') or (section = '4*6-LUT + 4*FF')
or (logic = 'до 54 тыс.')// or (logic = '54 - 110 тыс.')
or (power = '1.2 В')
or (bram = 'до 6 Мбит')// or (bram = '64 - 128')
or (dsp = 'до 64') or (dsp = '64 - 128')
or (pins = 'до 520')
or (transiver = 'GTP')
or (price='до 400') or (price='400 - 1500') or (price='1500 - 7000')
))
then ZKflag:= true
else ZKflag:= false;
//Если гипотеза удовлетворяет необходимым условиям, то считаем ее положительной
if ((tehnology = '28 нм') or (tehnology = '40-45 нм'))
Подобные документы
История развития логических схем с программируемой и репрограммируемой структурами, рост уровня их интеграции и взаимосвязь между ними. Краткий обзор основных семейств Плис фирмы Xilinx. Детальный обзор архитектур и характеристик серий семейства Spartan.
контрольная работа [1,2 M], добавлен 13.06.2013Проектирование цифровых устройств на ПЛИС фирмы Xilinx с применением языка VHDL, использование систем Leonardo Spectrum, Foundation Express и Integrated Synthesis Environment (ISE). Синтез и реализация проекта, разработка регистровой схемы и умножителя.
курсовая работа [2,3 M], добавлен 28.06.2009Понятие информации, автоматизированных информационных систем и банка данных. Общая характеристика описательной модели предметной области, концептуальной модели и реляционной модели данных. Анализ принципов построения и этапы проектирования базы данных.
курсовая работа [1,7 M], добавлен 18.01.2012Обзор моделей анализа и синтеза модульных систем обработки данных. Модели и методы решения задач дискретного программирования при проектировании. Декомпозиция прикладных задач и документов систем обработки данных на этапе технического проектирования.
диссертация [423,1 K], добавлен 07.12.2010Состав, параметры технических средств. Выработка общего ключа для шифрования/расшифровки сообщения. Структура подключения ПЛИС с персональным компьютером по Ethernet. Модули формирования электронно-цифровой подписи. Архитектура стандарта Gigabit Ethernet.
дипломная работа [3,6 M], добавлен 13.09.2017Определение принципов работы с САПР Xilinx WebPACK. Особенности проектирования простейших комбинационных схем на базе ПЛИС. Описание устройства на языке VHDL, набор тестовых воздействий и временные диаграммы его работы. Размещение устройства на кристалле.
лабораторная работа [318,7 K], добавлен 28.05.2012Преобразование аналоговой формы первичных сигналов для их обработки с помощью ЭВМ в цифровой n-разрядный код, и обратное преобразование цифровой информации в аналоговую. Практическая реализация схем аналого-цифровых и цифро-аналоговых преобразователей.
реферат [89,2 K], добавлен 02.08.2009Использование цифровых сигналов для кодирования информации, регистрации и обработки; унификация операций преобразования на всех этапах ее обращения. Задачи и физическая трактовка процессов идеальной интерполяции сигналов алгебраическими полиномами.
реферат [1,3 M], добавлен 12.03.2011Современные системы обработки данных. Автоматизированная информационная система. Понятие информационной и динамической модели. Появление множества разнотипных систем, отличающихся принципами построения и заложенными в них правилами обработки информации.
презентация [36,0 K], добавлен 14.10.2013Техническая характеристика сигналов в системах цифровой обработки. Описание программ для обработки цифровой и синтезированной звуковой информации, шумоподавление звука. Профессиональная обработка звука и звуковой волны: сжатие, запись, сэмплирование.
курсовая работа [82,9 K], добавлен 01.03.2013