Проектирование устройств на сигнальных процессорах: Учебное пособие (Проектирование цифровых устройств аппаратуры связи на ЦСП семейства ADSP-21xx), страница 13

·  Детализированный алгоритм работы узла с учётом системы инструкций и особенностей архитектуры процессора с комментарием, показывающим соответствие обобщенному алгоритму.

·  Место, занимаемое алгоритмом  устройства или его частями, в полном алгоритме работы передатчика или приёмника  для реального времени.

·  Распределение регистров и ячеек памяти для хранения обрабатываемой информации.

·  Подпрограмму(ы) на языке ассемблера или фрагмент(ы) программы, если он(они) не поддаётся выделению в подпрограмму.

Каждый тип процессора достаточно универсален, но имеет немало особенностей и ограничений. Конечная цель этого этапа состоит в получении программы, которая заставит конкретный тип процессора  выполнить требуемый алгоритм. Разработка ПО будет описана применительно к ЦУ, реализуемому на процессоре ADSP-218x. Однако, последовательность разработки и большая часть рекомендаций справедливы и для других процессоров.

6.1. Предварительные замечания

Разработка ПО для ЦСП фирмы Analog Devices имеет свою специфику. Она обусловлена тем, что  наборы микроопераций и микроинструкций отличны для семейств процессоров каждой из фирм. Поэтому рассчитывать на применение опубликованных фрагментов программ практически не приходится. Для некоторых процессоров широкого применения известны литературные источники [Клингман], в которых приводятся готовые фрагменты программ для типовых задач обработки. Они обычно оформлены в виде подпрограмм с указанием условий их использования. При соответствующей переработке некоторые из приведенных в литературе алгоритмов, точнее, идей их построения, могут быть позаимствованы. Задача эта требует творческого подхода.

Нельзя забывать, что ЦСП решает задачу с определенным физическим содержанием в результате взаимодействия системы из аппаратных и программных средств. Поэтому в процессе разработки ПО нельзя отрываться ни от физического содержания задачи, ни от тех возможностей, которые предоставляют аппаратные средства.

6.2. Рекомендуемая последовательность разработки ПО

Эмпирический подход к разработке ПО не обходится без ошибок и неувязок, многочисленных переделок, что вызывает большие затраты времени на разработку и отладку программы и не даёт уверенности в получении правильного и оптимального решения. В литературе из-за дефицита площади обычно приводится лишь окончательный вид программного продукта, а все этапы его разработки опускаются.

Для курсового проектирования ЦУ предлагается более строгий подход, когда разработка программы разбита на чёткие этапы, на каждом из которых выполняются несложные действия, находящие документальное отражение. Это позволяет разработать программу без ошибок даже при первом в жизни проектировании ПО ЦУ. По мере накопления опыта допустимы некоторые упрощения процесса разработки ПО, но это сопровождается повышением вероятности возникновения ошибок.

Рекомендуемая последовательность разработки ПО представлена в таблице 6.1. Каждый из этапов заканчивается получением конкретного результата, являющегося основанием для выполнения следующего этапа.

Таблица 6.1— Этапы проектирования ЦУ

Наименование этапа

Итог этапа

1. Начальный этап проектирования.

2. Разработка программного обеспечения устройства.

2.1. Детализация алгоритма с учётом системы команд процессора.

2.2. Распределение регистров и ячеек памяти для хранения величин.

2.3. Выражение алгоритма через обозначения регистров и коды условий.

2.4. Выбор инструкций операций и переходов

2.5. Составление программы на языке ассемблера.

2.7. Организация управления обменом.

3. Разработка функциональной схемы устройства

Обобщенный графический алгоритм и структурная схема устройства.

Детализированный алгоритм в физических обозначениях величин.

Диаграмма занятости регистров и ячеек памяти.

Детализированный алгоритм в символических обозначениях.

Комментарий к детализированному алгоритму

Программа на ассемблере.

Схема организации обмена.

Функциональная схема устройства.