Разрабатываемая система представляет собой комплекс для проектирования аппаратных решений, эффективно реализующих сложные алгоритмы обработки данных. В основе системы лежит оптимизирующий компилятор языка высокого уровня в описание аппаратуры. Интеграция с системами высокоуровневого проектирования цифровых устройств Winter [3] и IEESD [3] дает широкие возможности для моделирования, отладки и тестирования разрабатываемой системы.
Наиболее перспективная область применения системы - разработка специализированных процессоров для встроенных систем. Использование специально разработанных для конкретной задачи схемных решений может иметь преимущество перед использованием серийных моделей микроконтроллеров.
Эффективность специализированных схемных решений объясняется более эффективным использованием аппаратных ресурсов, в частности, возможностью параллельного выполнения инструкций и обращений к памяти. Многие задачи, требующих интенсивных вычислений, могут эффективно использовать возможность параллельного исполнения. К ним относятся и задачи обработки аудио и видеоинформации. Это делает возможным использование специализированных схемных решений в различных портативных устройствах, для которых важны высокая производительность.
Альтернативными решениями являются использование VLIW и DSP процессоров. Использование нашей технологии является более эффективным в случае, когда алгоритм обработки может быть значительно ускорен на счет распараллеливания. Возможности параллельной обработки процессоров ограничены относительно небольшим количеством инструкций или единиц данных. Кроме этого, VLIW технология требует жесткого определения групп одновременно исполняемых инструкций в исполняемом коде. Это накладывает дополнительные ограничения на возможность распараллеливания.
Используемая в нашей системе технология построения схемы на основе микропрограммных автоматов позволяет распараллеливать произвольное количество инструкций и лишена указанного выше недостатка VLIW процессоров.
Используя нашу систему, разработчик описывает алгоритм работы устройства на традиционном языке программирования высокого уровня без явного описания параллелизма. Компилятор анализирует программу, выделяет независимые блоки, которые могут исполняться одновременно, и генерирует соответствующую схему.
Использование традиционного последовательного языка программирования значительно облегчает разработку и отладку программы. Анализатор может обнаружить возможность распараллеливания как отдельных инструкций, так и целых фрагментов программы.
Система включает в себя следующие компоненты: