Аннотация:Существует множество языков для описания и синтеза цифровых устройств, наиболее распространенными из которых на данный момент являются Verilog и VHDL. К сожалению, данные языки являются достаточно низкоуровневыми, и не поддерживают абстракции, доступные в таких высокоуровневых языках программирования как C++, Python или Haskell. В данной работе предлагается прототип нового языка описания и синтеза цифровых устройств, основанный на функциональной парадигме, и использующий регулярные выражения. Предполагается, что синтезируемое устройство может быть описано как конечный автомат, поведение которого описывается условным выражением. В качестве условий выступают условия на входную последовательность, заданные в виде регулярных выражений. Для определения выходного символа по входному слову находится первое по порядку регулярное выражение, которому входное слово удовлетворяет, и значение выходного символа определяется по формуле, соответствующей данному регулярному выражению. Если входное слово не удовлетворяет ни одному из регулярных выражений, то значение выходного символа находится по специальной формуле, используемой по умолчанию. В результате выполнения работы были решены следующие задачи:
1) Разработан прототип нового языка описания и синтеза цифровых устройств.
2) Написана эффективная реализация транслятора для данного языка, генерирующего эквивалентное описание цифрового устройства на языке Verilog.