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

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




































Главная

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

Модернизация более ранней разработки устройства на базе микроконтроллера MCS-48, предназначенного для увлажнения дыхательной смеси. Проектная процедура ПЛИС типа SOPC, реализованная на базе микроконтроллера MCS-48. Проектирование структурной схемы.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
1.2 Постановка задачи проектирования
2.1 Построение функциональной модели
3.1 Проектирование основных компонентов блока Cnt_ADC
3.2 Проектирование управляющего автомата Avt_ADC
3.3Тестирование программного описания автомата
3.4 Разработка общей структуры блока Cnt_ADC
3.5 Проектирование общей схемы сборки проекта из отдельных фрагментов
4.2 Нормы затрат на проектирование и внедрения микропроцессорной системы
4.3 Расчет эксплуатационных расходов
4.4 Расчет и построение диаграммы общей стоимости системы
4.5 Расчет прибыли разработчика системы
4.6 Расчет затрат, связанных с покупкой, внедрением и использованием системы и их окупаемости
5. Раздел безопасности и жизнедеятельности и охраны труда
5.2 Рекомендации по организации труда и отдыха
5.7 Расчет искусственного освещения
5.9 Электробезопасность и пожаробезопасность
5.10 Статическое электричество и молниезащита
Роль и значение компьютеров в современной жизни общеизвестны. Аппаратные методы решения задач также важны и в ряде случаев незаменимы. Многие приложения, такие как моделирование динамических объектов, управление движением (особенно управление движением совокупности объектов), обработка сигналов и изображений в реальном времени, реалистичная компьютерная графика, связаны с многократным выполнением сравнительно простых операций, причем требуют выполнения до нескольких миллиардов операций в секунду.
Последовательное выполнение большого числа элементарных шагов при компьютерном решении задачи занимает относительно большое время. Кроме того, независимость аппаратных средств от сложности решаемой задачи имеет и оборотную сторону -- даже для простейших задач нужны блоки, образующие компьютер в целом. Таким образом, простые задачи и задачи, которые должны решаться в реальном масштабе времени, могут привести к необходимости применения аппаратных вариантов решения.
Для создания аппаратных средств решения задач нужен набор различных элементов, узлов и устройств. Такой набор можно реализовать на микросхемах разного уровня интеграции: малого (МИС), среднего (СИС), большого (БИС) и сверхбольшого (СБИС). Применение БИС/СБИС и исключение из схемы МИС и СИС существенно улучшает параметры аппаратуры (стоимость, быстродействие, надежность, экономичность по потребляемой мощности и др.).
Для некоторых разновидностей СБИС программируемой логики возможна реконфигурация в оперативном режиме, т. е. без извлечения микросхемы из работающей системы и с высокой скоростью. Оперативное программирование микросхем -- путь для новых принципов построения аппаратуры.
В связи с этим тема дипломного проекта «Проектирование операционных устройств с микропрограммным управлением» является актуальной.
Цель дипломного проекта: на примере разработки микропроцессорной системы модернизировать более раннюю разработку устройства на базе микроконтроллера MCS-48, предназначенного для увлажнения дыхательной смеси.
Под операционным устройством понимают вычислительный узел, способный многократно выполнять любое преобразование из набора, предусмотренного для этого узла, каждый раз, когда на него поступает сигнал, инициирующий преобразование (команда). Часто реализация команды требует последовательного выполнения нескольких шагов. Это может быть связано с тем, что на некоторых шагах используются результаты, полученные на предыдущих шагах, или с тем, что данные поступают, а результаты должны выдаваться в определенной последовательности, или с наличием ограничений на затраты оборудования.
При высоких требованиях к производительности элементарные действия стараются распределять между несколькими параллельно работающими блоками, причем для алгоритмов, предусматривающих использование результатов некоторого шага на последующих шагах, применяют конвейерную реализацию. Однако при умеренных требованиях по производительности с целью уменьшения объема оборудования однотипные операции выполняют последовательно в одном и том же блоке, даже если операции функционально независимы.
Часто становится оправданной частичная перестройка функций операционных блоков в процессе исполнения команды. Элементарное действие в этом случае называют микрооперацией. Несколько одновременно выполняемых действий объединяются микрокомандой. Последовательность микрокоманд, исполняемых в процессе реализации команды, называют микропрограммой.
Языки проектирования дискретных устройств, позволяют описать любой алгоритм в последовательной форме, т. е. через последовательность операторов присваивания и принятия решений. Однако более удобный и чаще используемый подход к проектированию операционных блоков вычислительных устройств заключается в разделении устройства на два блока -- устройство управления и операционный блок. При этом в операционном блоке выполняются преобразования данных, а устройство управления обеспечивает необходимую последовательность микроопераций, выполняемых в операционном блоке, передавая на входы операционного блока управляющие сигналы (микрокоманды). Последовательность действий, а значит управляющих сигналов, зависит как от результатов выполнения операций в операционном блоке, так и от внешних сигналов.
Управляющий блок удобно описывать в форме конечного автомата того или иного типа. Операционный блок обычно представляют как набор регистров, логических блоков, буферных схем, а также коммутируемых связей между ними.
В данном дипломном проекте рассматривается проектная процедура ПЛИС типа SOPC реализованная на базе микроконтроллера MCS-48.
В состав разрабатываемой системы должен входить 12 -разрядный аналого-цифровой преобразователь, записывающий по запросу параллельный код в буферное ОЗУ емкостью 256 двенадцатиразрядных слов, 8 входов и 8 выходов, для дискретных сигналов и блок сравнения двух входных восьмиразрядных кодов с содержимым регистра установок, которое задается программным обеспечением МП-ядра и сохраняет значения текущих установок. Использование схем класса СИС и МИС должно быть в модернизированном варианте минимизировано за счет применения схем программируемой логики.
На начальном этапе проектирования необходимо разделить функции между программным обеспечением, опирающимся на стандартные компоненты микроконтроллерной части системы, и специфическим аппаратным обеспечением.
Для размещения программного обеспечения требуется 16 Кбайт памяти. Стандартное для всех МП-систем оборудование.
1.2 Постановка задачи проектирования
В рамках данного дипломного проекта при анализе возможных вариантов реализации МП -ядра ограничиться рассмотрением вариантов, базирующихся на MCS -51, поскольку при этом упрощается процедура перевода большинства решений MCS -48 на MCS -51. В качестве элементов программируемой логики будем ориентироваться на продукцию фирмы Altera. Это допустимо, поскольку проектируемый прибор не должен обладать каким-либо исключительными свойствами -- малым потреблением мощности, обеспечением секретности разработки (наличием битов секретности), требованием радиационной стойкости и, соответственно, ориентации на ПЛИС с пережигаемыми перемычками.
Реализация проекта возможна в различных вариантах. В соответствии с заданием анализироваться будут варианты, имеющие в качестве МП-ядра тот или иной вариант контроллера MCS -51.
К основным можно отнести следующие варианты реализации:
1) использование обычного контроллера семейства MCS -51, автономных средств аналого-цифровой обработки и размещение всей дискретной части проекта в ПЛИС (для конкретности будем ориентироваться на ПЛИС фирмы Altera);
2) использование БИС класса SOPC generic фирмы Altera и мегафункции фирмы CAST для реализации МП -ядра;
3) использование микроконтроллера, совместимого по системе команд с MCS -51 со встроенными средствами аналого-цифровой обработки (для определенности будем ориентироваться на применение БИС ADuC812 фирмы Analog Devices), и реализация недостающих дискретных элементов в ПЛИС фирмы Altera;
4) использование БИС класса SOPC фирмы Triscend семейства Е5, содержащей в качестве МП -ядра встроенный микроконтроллер 8032 и конфигурируемую логику типа FPGA, и реализация внешнего аналого -цифрового преобразования (для определенности протокола будем ориентироваться на применение БИС AD7892 фирмы Analog Devices).
Первый вариант реализации (рисунок 1) предполагает использование в качестве МП -ядра классической микросхемы MCS -51 (одну из БИС фирмы Atmel) и применение БИС ПЛ фирмы Altera для реализации недостающих дискретных компонентов. Необходимый объем памяти команд требует использования БИС семейства AT87F55 или АТ89С55 либо применения внешней памяти команд (EEPROM Insraction), что в свою очередь предполагает включение в состав ПЛИС специального регистра, защелкивающего старшие разряды адреса, -- Reg_BD. Требуемые объем и скорость заполнения буферной памяти заставляют при выборе типа ПЛИС ориентироваться на семейства, содержащие встроенные блоки ОЗУ -- т. е. типа FLEX10K. Последнее заставляет включить в состав устройства специальное загрузочное ПЗУ (память конфигурации ПЛИС). Суммарные затраты на комплектацию устройства составят сумму в несколько десятков долларов. Конструктивно (как видно из рисунка) система должна содержать 5 или 6 корпусов ИС.
Рисунок 1- Вариант реализации проекта на БИС МК фирмы Atmel и БИС ПЛ фирмы Altera
Второй вариант реализации имеет укрупненную функциональную схему, соответствующую приведенной на рисунке 2. Основу проекта составляет ПЛИС класса SOPC generic, конфигурация которой включает МП -ядро (на базе стандартной мегафункции) и требуемую дополнительную логику: выходной регистр Reg_D , регистр формирования адреса памяти команд Rеg_BD, входные регистры Reg_A, Reg_B и Reg_C, буфурное ОЗУ (RAM) и автоматы, управляющие работой ADC и ОЗУ (Avt_RAM). Помимо БИС ПЛ схема содержит дополнительные элементы: ИС времязадающего генератора (OSC), ИС ПЗУ конфигурации (EEPROM config), ИС ПЗУ команд (EEPROM Instuction), ИС аналогового коммутатора (MUX) и ИС АЦ преобразователя (ADC). Поскольку мегафункция микроконтроллера в этом варианте реализации требует (в зависимости от скоростных требований) от 2400 до 2860 логических ячеек, то для воплощения проекта понадобится БИС ПЛ класса не ниже 10К50.
Рисунок 2 - Вариант реализации проекта на БИС ПЛ класса SOPC generic
Стоимость ее в варианте семейства FLEX10K превысит 200 долларов, поэтому ориентация на такой проект будет экономически неоправданной при выпуске даже опытной партии устройств. Реализация этого варианта может иметь смысл только для ускорения проектных работ. Перевод проекта на более современные типы ПЛИС (например, схемы класса АСЕХ) существенно улучшает экономические показатели (стоимость БИС не превысит 30 долларов), однако это приводит к необходимости построения системы с различными (5 и 3,3) уровнями питающих напряжений.
Третий вариант реализации (рисунок 3) является самым экономичным по числу требуемых для реализации системы числа микросхем. Основу схемы образуют две БИС (БИС ADuC812 фирмы Analog Devices и БИС ПЛ фирмы Altera). БИС ADuC812 фирмы Analog Devices разработчики отнесли к классу микропреобразователей (MicroConverter), поскольку она содержит на одном кристалле микроконтроллер, память, АЦП и ЦАП. Для реализации устройства дополнительно потребуется одна БИС конфигурационного ПЗУ (EPROM) и одна ИС времязадающего генератора (OSC).
Рисунок 3 - Вариант реализации проекта на БИС ADuC812 и BИC ПЛ EPX10K10
Структура устройства, конфигурируемого в БИС ПЛ, сохраняет элементы предыдущих вариантов. Стоимость БИС класса ADuC812 фирмы Analog Devices не превышает 15 долларов, но и стоимость БИС ЕРХ10К10 фирмы Altera чуть больше 10 долларов. Приобретение средств, сопровождающих разработку, может потребовать затрат порядка 100 долларов.
Последний вариант рисунок 4, опирающийся на продукцию фирмы Triscend, потребует для своей реализации, помимо БИС семейства Е5, четырех схем СИС (организация БИС семейства Е5 позволяет объединить в одной БИС ПЗУ память команд МК и память конфигурации БИС ПЛ -- EEPROM). Блоки, реализуемые конфигурируемой системной логикой (CSL) кристалла Е5, функционально совпадают с блоками, размещенными в БИС ПЛ предыдущего варианта.
Рисунок 4- Вариант реализации проекта на БИС ПЛ класса SOPC фирмы Triscend E5
Стоимость БИС семейства в зависимости от тактовой частоты и количества конфигурируемых ячеек системной логики может колебаться от 10 до 100 долларов. Сформулированные требования повлекут за собой использование ИС с логическими ресурсами, характерными для БИС типа ТЕ5002, что значительно удорожит проект до 170 долларов. Основным достоинством последнего варианта, помимо минимизации числа корпусов ИС, является высокая надежность продукции, простота отладки опытной партии и легкость контроля конечной продукции при серийном изготовлении. Именно это и позволяет на нем остановиться. Дополнительными факторами, определяющими целесообразность реализации проекта на кристаллах типа SOPC (в примере -- БИС фирмы Triscend), является возможность совершенствования и модернизации проекта, включая полное изменение аппаратной и программной начинки кристалла (т. е., практически, реализацию других проектов), без каких -либо конструктивных изменений.
2.1 Построение функциональной модели
Функции между SW и HW к стандартным для всех МП-систем оборудование соответствуют рисунку 5. Необходимость аппаратной реализации сравнения содержимого регистра установок с данными каналов В и С, так же как аппаратная поддержка режима записи данных в блок памяти (RAM) и управление работой аналого-цифрового преобразователя (ADC) связаны со скоростными требованиями к обработке соответствующих данных. На рисунке требуемые блоки управления имеют названия C n t _ c m p , c n t _ A D C и будут использоваться в дальнейшем описании.
Рисунок 5 - Функциональная схема аппаратно реализуемых фрагментов проекта
Для этого этапа проектирования характерно (как минимум, предварительное) согласование внешних и внутренних (между SW и HW) интерфейсных функций разрабатываемой системы. В нашем примере сигналом, инициирующим запись блока данных (128 слов) в память, является сигнал start, а квитирующим сигналом, определяющим допустимость начала нового цикла записи, является нулевое значение сигнала Busy. Запись в память должна производиться в последовательности: старшие 8 разрядов результата преобразования, младшие 4 разряда того же результата. О завершении записи блока данных программное обеспечение МП-ядра должно быть проинформировано выставлением сигнала прерывания int.
Блочная схема устройства приведена на рисунке 6. На рисунке 6 опущены соединения БИС SOPC с загрузочным ПЗУ и схемой тактового генератора. Элементы структуры должны опираться на ресурсы программируемой логики кристалла Е5 (CSL -логики). Функциональное назначение блоков следует из их названий. Схема укрупненно отображает следующие процессы.
Блок Cnt_Adc отвечает за управление отдельными циклами преобразования и запись одиночных данных от аналого-цифрового преобразователя в промежуточном регистре. Блок обеспечивает прием блока данных заданной длины и формирует сигналы, требуемые для записи принимаемых от АЦП данных в ОЗУ МП.
Блок Cnt_cmp обеспечивает процедуру сравнения сигналов, поступающих в порты МП А и В, и формирует необходимые внешние сигналы управления "больше", "меньше" или "равно". Выбор рабочего канала определяется входным сигналом В/С.
Следующим шагом является обоснованный выбор средств, при помощи которых будут проектироваться отдельные фрагменты проекта. Как правило, специфические характеристики, свойственные проектируемым фрагментам, позволяют определить рациональность применения того или иного проектного средства. Для данного проекта, в аппаратной части Е5 можно выбрать ряд блоков, реализация которых целесообразна с привлечением различных средств. операционный микроконтроллер схема
Для реализации блока управления приемом информации от аналого-цифрового преобразователя (блок cnt_Adc) будем ориентироваться на возможности, предоставляемые компилятором Synplify фирмы Synplicity. Окончательным результатом работы компилятора при этом будет импортируемый модуль на языке EDIF. Поскольку в качестве входной информации для Synplify должен использоваться текстовый файл на языке VHDL, то для подготовки текстового описания этого блока будут применяться программные пакеты фирмы Mentor Graphic. Представляется следующая последовательность работ: графический ввод и составление тестовой процедуры Test-Bench с использованием САПР HDL Designer, а затем верификация полученного VHDL -описания с помощью САПР Model Technology.
Рисунок 6 - Блок-схема устройства, реализуемого программируемой CSL-логикой кристалла Е5
Важное значение в реализации проекта имеет принятое решение об привлекаемых средствах проектирования. На этапах проектирования практически всегда приходится обращаться к базовой САПР фирмы-производителя кристалла SOPC. Для выбранного типа БИС SOPC семейства Е5 фирмы Triscend необходимо ориентироваться на САПР под названием FastChip. Допустимые для проектирования в САПР FastChip направления проектного потока приведены на рисунке 7.
Рисунок 7 - Проектный поток в FastChip
Существование альтернативных вариантов выполнения проектного потока связано с возможностью или необходимостью привлечения на определенных ветвях проектирования САПР сторонних фирм. Так как в состав FastChip не включены компиляторы для МК типа 8051, то подготовка программной части проекта обязательно требует привлечения каких -либо систем проектирования, ориентированных на разработку программного обеспечения для MCS -51. Формально, проектирование может выполняться на любой системе проектирования, но наилучшая стыковка с FastChip выполняется для небольшого числа систем проектирования. Наилучшее и гарантированное согласование обеспечивается при использовании инструментальных средств разработки фирмы Keil Software (www.keil.com) для семейства микроконтроллеров 8051. Средства проектирования фирмы Keil поддерживают все стадии разработки программного обеспечения. Программные средства включают средства компиляции с языков ассемблера и С, интегрированную среду разработки, содержащую отладчик и моделировщик. Для разработки однопроцессорных многозадачных систем могут привлекаться средства операционной системы реального времени RTX 51, входящей в состав САПР Keil Software.
3.1 Проектирование основных компонентов блока Cnt_ADC
Функционально блок СNT_АDС решает следующую задачу -- обеспечивает управление процедурой получения блока данных от АЦП и передачу ее в память МП, опираясь на ресурсы контроллера ПДП, встроенного в микропроцессорную часть кристалла. Решение этой задачи сопровождается решением двух вложенных подзадач:
формированием необходимой последовательности сигналов, управляющих работой АЦП, для получения 12 -разрядного кода результата с обеспечением его временного сохранения;
формированием необходимой последовательности сигналов, управляющих передачей сохраненных данных в память МП.
Общая структура блока Cnt_ADC приведена на рисунке 8. Ключевым элементом схемы является автомат управления Avt_ADC. Операционная часть фрагмента содержит два регистра Reg_Buf1 и Reg_Buf2 для промежуточного хранения 8 - и 4 -разрядных частей данных от АЦП, мультиплексор мuх, счетчик Count, отвечающий за длину принимаемого блока данных.
Триггеры Т1 и Т2 введены в схему устройства для синхронизации сигналов асинхронно работающих блоков -- АЦП и автомата. Функциональное назначение управляющих сигналов очевидно. Сигналы, квитирующие обмен блока данных, -- start, Busy. Сигналы, квитирующие управление одиночным циклом преобразования АЦП, -- nconvst, nЕОС. Сигналы, обеспечивающие передачу данных от АЦП, -- ncs, nRD и сигнал Load, обеспечивающий запись данных Data в регистры промежуточного хранения Reg_Buf1 и Reg_Buf2. Сигнал Load используется одновременно для наращивания значения счетчиком count числа принятых слов. Начальный сброс счетчика осуществляется сигналом Res_count. Состояние сигнала End_count указывает заполнение буфера памяти.
Разбиение передачи 12 -разрядных кодов на две посылки потребовало разбиения регистра на две части (8 и 4 разряда) и введения сигнала ОЕ, управляющего съемом информации из этих частей. Мультиплексор мuх обеспечивает подключение выхода выбранного промежуточного регистра (Reg_Buf) к МП для передачи данных в память. Для одиночной передачи данных по каналу прямого доступа к памяти (DMA) служит система квитирующих сигналов Req _ DMAИAck _ DMA.
Автомат синхронный -- тактовый сигнал clk, сигнал асинхронного сброса -- Rst.
Рисунок 8 - Структура блока Cnt_ADC
3.2 Проектирование управляющего автомата Avt_ADC
Возможный алгоритм работы автомата Avt_Aoc блока cnt_ADС, отвечающий протоколу, необходимому для правильной работы БИС AD7892 фирмы Analog Devices, может иметь вид, соответствующий схеме переходов автомата, приведенной на рисунке 9. Схема переходов при помощи графического редактора пакета HDL Designer Series фирмы Mentor Graphics была занесена в соответствующий диаграммный файл.
Автомата Avt_ADC, управляющего считыванием данных из АЦП во временный регистр Reg_Buf и записью этих данных в память МП, и поддерживающего для этих обменов требуемое взаимодействие квитирующих сигналов.
Основу алгоритма образует циклическая последовательность смены состояний, определяющая выполнение 128 циклов обрабатываемого блока.
Исходно (по сигналу Rst и по завершении цикла записи блока данных) автомат находится в состоянии IDLE_ST. В этом состоянии автомат формирует сигнал Busy, сигнализирующий о готовности к приему блока данных от АЦП, и сигнал Res_count, обнуляющий счетчик числа циклов записи count, и продолжает находиться в состоянии IDLE_ST до появления сигнала start, который приводит к переходу автомата в последующее состояние START_ST. В этом состоянии формируется сигнал запуска процедуры преобразования: сигнал nconvst устанавливается в 0.
В состоянии WAIT1_ST автомат остается до тех пор, пока не поступит сигнал готовности данных от ADC -- сигнал nЕОС не станет равным нулю.
В состоянии LOAD_ST формируются сигнал квитирования nRD для АЦП, сигнал запуска записи данных Load от ADC в промежуточный регистр и сигнал запроса DMА_Req к контроллеру ПДП. Одновременно с запросом подготавливается передача в МП старшего байта данных из регистра, для чего формируется сигнал ОЕ.
В состоянии WАIТ2_sт формируется сигнал ОЕ. В этом состоянии автомат остается до тех пор, пока не появится сигнал ACK_DMA, подтверждающий готовность МП к приему данных по каналу ПДП. По этому сигналу выходные данные Reg_Buf1, находящиеся на выходе мультиплексора, переписываются в ОЗУ.
В состоянии DMA_ST формируются новый сигнал запроса Req _ DMA к контроллеру ПДП и подготавливается передача в МП младших 4 -х разрядов данных из регистра Reg_Buf2, для чего снимается сигнал ОЕ.
Автомат безусловно переходит из состояния DMA_ST в состояние WAIT3_ST. В этом состоянии он остается до тех пор, пока не появится сигнал ACK_DMA, подтверждающий готовность МП к приему данных по каналу ПДП.
В состоянии ENDTR_ST анализируется сигнал End_Count. Если сигнал End_count равен 1, что соответствует завершающему 128 циклу приема оцифрованных данных от АЦП, то автомат переводится в начальное состояние IDLE_ST, в противном случае автомат переходит в состояние START_ST, запускающее новый цикл преобразования.
Рисунок 8 - Граф-схема переходов автомата управления Avt_ADC
Для автомата с помощью программы пакета HDL Designer Series фирмы Mentor Graphics была выполнена трансляция диаграммы.
USE ieee.std_logic_l164.all; USE ieee.std_logic_ariht.all;
PORT(Clk, Start, Rst, nEOC, Ack_DMA, End_Count : in std_logic; nConvSt, Busy, Load, Req_DMA, OE, nRD, Res_Count: out std_logic); END Avt ADC;
USE ieee.std_logic_1164.all; USE ieee.std_logic_ariht. all;
TYPE state_values IS (IDLE_ST, START_ST, WAIT1_ST, LOAD_ST, WAIT2_ST, DMA_ST, WAIT3_ST, ENDTR_ST,);
SIGNAL current_state, next_state: state_values; BEGIN
current_state <= IDLE_ST; -- Reset Values ELSIF rising_edge(Clk) then
current_state <= next_state; -- Default Assignment To Internals END IF; END PROCESS cloced;
NEXTSTATE: PROCESS (current_state, Start, nEOC, Ack_DMA, End_Count) BEGIN
Busy <= ' 1'; Load <= '0'; ReqDMA <= '0'; OE <= '0'; nRD <= '0'; Res_Count <= '0';
next_state <= WAIT1_ST; WHEN WAIT1 ST =>
next_state <= LOAD_ST; END IF; WHEN LOAD_ST => Load <= '1'; nRD <= '0'; Req_DMA <= '1'; OE <= '1';
next_state <= WAIT2_ST; WHEN WAIT2_ST => OE <= '1'; IF Ack_DMA = '1' THEN
next_state <= DMA_ST; END IF; WHEN DMA_ST =>
Req_DMA <= '1'; next_state <= WAIT3_ST; WHEN WAIT3_ST =>
next_state <= ENDTR_ST; END IF; WHEN ENDTR_ST =>
next_state <= START_ST; END IF; WHEN OTHERS =>
next_state <= IDLE_ST; END CASE; END PROCESS nextstate; -- Concurrent Statements END fsm;
3.3Тестирование программного описания автомата
Для проверки правильности составления и работоспособности автоматов необходимо проведение тестовых испытаний. Возможны разные подходы к организации тестирования. Наибольшее распространение получили следующие варианты:
1) программа САПР, создающая текстовое описание автомата (такая как, например, программа StateCAD), проверяет наличие комбинаций входных сигналов, соответствующих неопределенному направлению перехода автомата, и поэтому требует формирования полного перечня входных сигналов, однозначно определяющих направления переходов.
2) САПР может обеспечивать так называемый режим анимации. В этом режиме САПР последовательно проходит по всем состояниям автомата. Переход в очередное активное состояние осуществляется путем установки желаемых значений входных сигналов. Таким образом, в интерактивном режиме разработчик может проверить все нужные состояния, переходы и значения выходных переменных, меняя на каждом шаге значения входных переменных.
В общем случае проверка работоспособности автомата (созданного любым способом) может осуществляться на основании традиционных методов создания тестирующих программ (Test -Bench). Современные САПР упрощают этот подход, предлагая автоматическое создание тестового блока Test -Bench. Возможности автоматизации изменяются в достаточно широких пределах: от автоматического формирования только интерфейса блока Test -Bench до автоматического формирования последовательности входных сигналов, обеспечивающей перебор всех возможных состояний автомата. Для рассматриваемого примера проектирования было целесообразно ориентироваться на возможности пакета HDL Designer в части формирования тестирующих программ Test -Bench. Поэтому пакет был запущен на создание Test-Bench и автоматически сформировал ENTITY для тестирующей программы. Для заполнения архитектурного тела можно использовать любые редакторы, входящие в состав HDL Designer, например графический редактор описания потоков Flow Chart или редактор таблиц истинности Truth Table.
3.4 Разработка общей структуры блока Cnt_ADC
Описание блока Cnt_ADC может, ориентироваться на различные возможности и средства описания, предоставляемые САПР HDL Designer. Наиболее компактным и быстрым способом спецификации блока является создание его текстового описания. Для демонстрации возможностей САПР HDL Designer воспользуемся структурным редактором САПР и будем ориентироваться на использование элементов стандартных библиотек пакета. Структурная схема блока cnt_ADC приведена на рисунке 9. При ее составлении использовались стандартные элементы библиотеки HDL Designer ModuleWare:
четырехразрядный банк триггеров df f;
восьмиразрядный банк триггеров dff;
один восьмиразрядный мультиплексор Omux2;
Необходимость подключения ко входу мультиплексора четырехразрядной константы нуля диктуется требованием выравнивания разрядностей, записываемых по каналу данных ПДП.
В состав блока включен и ранее разработанный и протестированный модуль автомата Avt_Adc.
Рисунок 9 - Структурная схема блока управления Cnt_ADC
3.5 Проектирование общей схемы сборки проекта из отдельных фрагментов
На верхнем уровне иерархии для реализации рассматриваемого устройства рисунок 10 из библиотеки элементов САПР FastChip можно использовать следующий набор библиотечных настраиваемых модулей:
- Три группы восьмиразрядных элементов (в результате образующих традиционные входные порты МП -ядра):
входные контакты -- Inp_A, Inp_B, Inp_c;
входные буферные регистры RD -- Reg_A, Reg_B , Reg_c;
адресные селекторы -- AdrSel_A, AdrSel_B, AdrSel__C.
- Две группы восьмиразрядных элементов (в результате образующих традиционные выходные порты МП -ядра):
выходные буферные каскады WR -- WR_D , WR_Ust;
- Для организации ввода данных в ОЗУ по линии ПДП требуется использование входного буфера Reg _ DMA и связанного с ним селектора адреса DMA.
Кроме библиотечных модулей в схему необходимо импортировать файлы EDIF, определяющие конструкцию блоков Cnt _ ADC и Cnt_cmp. Для подключения управляющих сигналов к входам автомата Cnt_ADC используется модуль входных контактов -- Inp_cnt.
Понятие параметризированных модулей соответствует возможности настроить выбранный библиотечный элемент на определенный режим функционирования, на определенную разрядность данных, их полярность и т. д.
Построение проекта в САПР Triscend FastChip состоит в образовании требуемой схемы из используемых в проекте модулей путем описания соединения модулей между собой. Модули будут соединены друг с другом, если к их выводам приписать цепи (net) с одинаковыми именами. Схема соединений непосредственно не отображается на экране, поэтому необходимо следить за правильностью соединений.
После определения структуры аппаратной части проекта (ресурсов CSL) разработчик задает расположение внешних контактов аппаратной части системы по периметру кристалла.
Следующий шаг проектной процедуры связан с проверкой корректности построения конфигурируемой части проекта. САПР проверяет правила создания проекта и выдает предупреждения или сообщения об ошибках. Проектировщику сообщаются имена неподключенных цепей или цепей, имеющих несколько источников сигналов, и т. д.
После проверки корректности САПР может быть запущена на выполнение процедуры распределения логических ресурсов по кристаллу и образования системы их соединений. Результатом этой процеду
Проектирование операционных устройств с микропрограммным управлением курсовая работа. Коммуникации, связь, цифровые приборы и радиоэлектроника.
Курсовая Работа По Анализу Финансового Состояния Предприятия
Реферат: Утворення давньоруської держави: проблеми походження, суспільного устрою і розпаду
Новая Эра Паустовский Аргумент К Сочинению
Курсовая работа по теме Цитрамон плюс и его получение
Доклад: Хламидийные инфекции
Курсовая работа по теме Ленд-лиз в Мурманской области
Проверка Реферата На Уникальность Онлайн Бесплатно
Демократия И Права Человека И Гражданина Курсовая
Я И Другие Структура Сочинения
Развитие Предпринимательства В Казахстане Реферат
Образец Сочинения По Заданиям
Курсовая работа: Расчет комбинированной автоматической системы регулирования температуры на выходе печи F02
Книга: Коран перевод Эльмира Кулиева 2
Отчет По Практике Анализ Финансового Состояния
Сочинение 9.3 На 100 Баллов
Главные Заповедники России Реферат
Реферат: Развитие организации продвижения товаров на рынок
Лекция 4. ЭКОНОМИЧЕСКИЙ РОСТ И ЭКОНОМИЧЕСКИЙ ЦИКЛ
Лекция по теме Линейное уравнение с одной переменной
Реферат: Эволюционно-генетическая концепция происхождения этики
Топографические и геодезические работы - Геология, гидрология и геодезия отчет по практике
Бухгалтерский учет расчетов с поставщиками, покупателями и анализ платежеспособности предприятия - Бухгалтерский учет и аудит курсовая работа
Інформаційне забезпечення функціонування інституту президента України - Государство и право курсовая работа


Report Page