тема магистрской работы: "Разработка подсистемы САПР и верификации автомата Мура на ПЛИС" | ||
Разработка подсистемы САПР и верификации автомата Мура на ПЛИС1. Элементная база и языки описания устройствМикросхемы, программируемые пользователем, открыли новую страницу в истории современной микроэлектроники и вычислительной техники. Они сделали БИС/СБИС, предназначенные для решения специализированных задач, стандартной продукцией электронной промышленности со всеми вытекающими из этого положительными следствиями: массовое производство, снижение стоимости микросхем, сроков разработки и выхода на рынок продукции на их основе. Программируемые логические интегральные схемы делятся на ряд классов, наиболее часто используются два из них: CPLD и FPGA. В сложных программируемых логических схемах CPLD (Complex Programmable Logic Devices) несколько блоков объединяются средствами программируемой коммутационной матрицы. В CPLD могут входить сотни блоков и десятки тысяч эквивалентных вентилей. Архитектуры CPLD разрабатываются фирмами Altera, Atmel, Lattice Semiconductor, Cypress Semiconductor, Xilinx и другими. Воздействуя на программируемые соединения коммутационной матрицы ПМЛ, входящих в состав CPLD, можно реализовать требуемую схему. Микросхемы программируемых пользователями вентильных матриц FPGA (Field Programmable Gate Arrays) в своей основе состоят из большого числа конфигурируемых логических блоков, расположенных по строкам и столбцам в виде матрицы, и трассировочных ресурсов, обеспечивающих их межсоединения. Получение конкретного проекта на базе FPGA, как и на основе других ПЛИС, реализуется воздействием на программируемые межсоединения, в ходе которого обеспечивается замкнутое состояние одних участков и разомкнутое – других. Обращаться к изготовителю FPGA при этом не требуется. В течение первых лет развития ПЛИС они были представлены архитектурами CPLD и FPGA в "чистом" виде. Каждая из этих архитектур имеет свои достоинства и недостатки. Стремление к сочетанию достоинств CPLD и FPGA и рост уровня интеграции БИС/СБИС привели к появлению ПЛИС с комбинированной архитектурой. Класс ПЛИС с комбинированной архитектурой не имеет таких четких границ, как классы CPLD и FPGA, отличается большим разнообразием вариантов и различной степенью близости к тому или иному классическому классу ПЛИС. Языковое описание устройства – это текст, сохраняемый в некотором файле или нескольких файлах, которые в совокупности составляют представление разработчика о проекте и используются на всех последующих этапах проектирования, в том числе при синтезе устройства и его моделировании. Тексты описаний в большинстве языков проектирования дискретных устройств по составу синтаксических конструкций и по интерпретации результатов их исполнения (физического или модельного) очень схожи с традиционными языками программирования. Поэтому часто такое текстовое описание называют программой на языке проектирования, или, коротко, HDL-программой, а конструкции, описывающие способ формирования результатов, – операторами. На данный момент существует несколько языков описания устройств – VHDL, Verilog, Altera HDL. В данной работе используется язык VHDL. Проект в системе проектирования VHDL представлен совокупностью иерархически связанных текстовых фрагментов, называемых проектными модулями.
Различают первичные и вторичные проектные модули, при этом: Декларация Entity – определяет имя проекта и, необязательно, его интерфейс, то есть порты и параметры настройки. Подчиненное Entity архитектурное тело описывает тем или иным способом функционирование устройства и (или) его структуру. Пакет – набор объявлений вводимых пользователем типов, переменных, констант, подпрограмм и тому подобное. Декларация пакета определяет только смысл глобальных для проекта идентификаторов. Тело пакета содержит расшифровку порядка вычисления процедур и функций пакета, определение локальных имен. Каждому Entity сопоставляется одно или несколько архитектурных тел. Декларация пакета не требует обязательного присутствия тела пакета. Несколько вторичных модулей, соответствующих одному первичному, составляют набор возможных альтернативных реализаций объекта, представленного первичным модулем. Например, одному Entity может соответствовать несколько архитектурных тел, отличающихся степенью детализации описания и даже алгоритмом преобразования данных, определенных в Entity. Первичные и соответствующие им вторичные модули могут сохраняться в различных файлах или записываться в один. Важно лишь, чтобы они были скомпилированы в общую проектную библиотеку, причем первичный модуль компилируется раньше подчиненного ему вторичного. При записи первичного и вторичного модуля в одном файле первичный модуль записывается ранее соответствующего ему вторичного. 2. Структура программыПрограмма состоит из следующих модулей:
2.1. Ввод алгоритмаОсновные характеристики логической схемы УА определяются граф-схемой реализуемого алгоритма управления. Для упрощения процесса ввода ГСА в систему, она представляется в виде абстрактного описания на специализированном языке, описывающем как связи между вершинами, так и содержимое вершин. Для пояснения синтаксических конструкций языка описания ГСА используются так называемые формы Бэкуса-Науэра, служащие для описания грамматик формальных языков. Язык включает следующие конструкции:
Структура файла с описанием ГСА имеет следующий вид: Предлагаемый язык описания ГСА имеет следующие особенности:
2.2. Формирование классовВ один класс bk включается одно или несколько состояний am автомата Мура, соответствующих одному состоянию эквивалентного автомата Мили, т. е. состояния имеющие переходы в одну и ту же вершину графа. Это приводит к сокращению числа строк прямой структурной таблицы ПСТ. 2.3. Замена переменных X на PДля сокращения количества анализируемых величин необходимо произвести замену переменных X на PgОP, где разрядность G кода P(Pg) определяется максимальным количеством логических условий X, которые задают переходы из одного состояния. 4. Формирование классов совместимых микрооперацийСовместимыми называются микрооперации, принадлежащие различным наборам микроопераций.
Литература:
|
||