Диссертация (Методы, алгоритмы и устройства распознавания речи в ассоциативной осцилляторной среде), страница 14
Описание файла
Файл "Диссертация" внутри архива находится в папке "Методы, алгоритмы и устройства распознавания речи в ассоциативной осцилляторной среде". PDF-файл из архива "Методы, алгоритмы и устройства распознавания речи в ассоциативной осцилляторной среде", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст 14 страницы из PDF
53). Дляполучения аргумента максимума используется шифратор.12Дифференциал⋮Рис. 53. Структура блока распознавания.109ШифраторВ структуре модуля можно выделить три блока (рис 54):накопитель размером × для хранения потоков спайков длиной ,1.отображающих вероятности ( ) наблюдения символа , = 1, … , ;арифметический блок с памятью, выполняющий накопление потока2.спайков, отображающего искомую вероятность log ;блок управления, контролирующий подачу данных из накопителя в3.арифметический блок.НакопительБлок( )Управленияlog АрифметическийблокРис. 54.
Структура модуля, выполняющего вычисление log для СММ .Дляреализацииустройствавмикросхеме(программируемойпользователем или заказной) необходимо описать его либо схемно, либо наязыке описания цифровой аппаратуры (Hardware Description Language –HDL).Последнийспособстал,фактически,стандартомвобластиавтоматизации проектирования цифровых систем [77].
Наиболее частоиспользуемымиязыкамиявляютсяVHDLиVerilog.Обаязыкастандартизованы и имеют поддержку в современных САПР ПЛИС. Онипозволяют отразить три аспекта, присущие любой цифровой схеме:функциональный, временной и структурный [78]. По составленному HDLописанию устройства проводится имитационное моделирование, а затем110автоматически синтезируется файл конфигурации для программированияПЛИС.ВажнейшимдостоинствомVHDLиVerilogявляетсяихстандартизованность и переносимость кода. Это означает, что устройстводостаточно описать один раз, абстрагируясь от элементной базы, на которойпланируется его выполнение, чтобы затем была возможность реализовать егов различных микросхемах. При этом описание составляется на уровнерегистровых передач (Register Transfer Level – RTL), а встроенный в САПРсинтезатор HDL, используя технологические библиотеки и пользовательскиепараметры, составит по RTL-описанию схему на вентильном уровне (списоксоединений – netlist) [78].
Для составления RTL-описаний HDL предлагаетразличные стили написания кода:поведенческое описание, когда раскрывается алгоритм, реализованныйв устройстве;структурное описание, когда из простых элементов, описанных наповеденческом уровне, собираются составные компоненты – производитсявосхождение от низшего уровня иерархии к высшему.Весь процесс проектирования цифрового устройства с помощью HDLможно разбить на следующие этапы [78]:1.оформление технического задания на проектирование;2.создание описания устройства на выбранном языке HDL;3.имитационное моделирование HDL-описания устройства;4.синтез по HDL-описанию цифрового устройства схемы на вентильномуровне;5.упаковка (fitting) вентильного описания в выбранную микросхему;6.для ПЛИС: программирование микросхемы.В данной работе вся аппаратная реализация была выполнена на языкеVHDL, а моделирование проводилось с помощью САПР Quartus II 13.1 WebEdition фирмы Altera.
Так как VHDL и Verilog эквивалентны по своимвозможностям и одинаково полно поддерживаются в современных САПР,111автор выбрал VHDL в качестве средства описания аппаратуры из личныхпредпочтений.ПовыполненнойнаVHDLаппаратнойреализацииблокараспознавания в средах Quartus II 13.1 Web Edition фирмы Altera и ISE 14.7Web Pack были синтезированы схемы на вентильном уровне, в дальнейшемупакованные в ПЛИС этих фирм (см. раздел 5.3).Рассмотрим аппаратную реализацию модуля . Для реализациимодуля , соответствующего рассмотренной в разделе 4.3 программноймодели распознавателя на АОС, необходимо обеспечить хранение 256 слов(цепочек спайков) по 256 бит, т.е. синтезировать накопитель объемом 8Кбайт.
Средства VHDL позволяют описывать память с произвольнымдоступом, фактически, любого объема и сложности, однако при упаковкереализации одного модуля в ПЛИС аппаратные затраты будут настольковелики, что размещение нескольких модулей, а также других компонентовблока распознавания в одном кристалле станет просто невозможным.
Дляисследования роста аппаратных затрат реализации модуля в ПЛИС былосоставленоегоповеденческоеописание,базирующеесянапримеререализации синхронной памяти в [78]. На рисунке 55 показаны зависимостьколичества логических элементов (ЛЭ) и регистров ПЛИС Altera от длиныцепочки спайков при постоянном значении разрядности шины адреса(определяемой объемом словаря кодовой книги векторного квантования),равном 8. Учитывая, что для рассмотренной в главе 4 системы распознаванияголосовых команд модулей потребуется 100, такая «прямая» реализациямодуля на VHDL является неэффективной.112Рис. 55. Зависимость аппаратных затрат для поведенческой реализации модуля отдлины потока спайков.Подобная проблема не впервые встает при разработке аппаратнойреализации АОС. В [79] описан метод использования внутренней памятиПЛИС,позволяющийпреодолетьдефицитресурсовмикросхемы,возникающий при описании накопителя.
Этот прием использовался дляреализации модуля . В соответствие со структурной схемой на рис. 54, атакже необходимостью использовать внутреннюю память ПЛИС, накопительдля хранения последовательностей спайков ( ) выделяется в отдельныйблок. Этот блок реализуется с помощью мегафункции (megafunction)LPM_RAM_IO,символкоторойизображеннарис.56.Главнымипараметрами этого блока являются ширина шины адреса LPM_WIDTHAD,ширина шины данных LPM_WIDTH и имя файла инициализации памяти(memory initialization file) LPM_FILE. С помощью последнего можнозаполнитьнакопительначальнымизначениями.Компиляциясхемы,включающей один накопитель LPM_RAM_IO (рис.
56) привела к затратам113Рис. 56. Схематичное изображение мегафункции LPM_RAM_IO, позволяющейзадействовать внутреннюю память ПЛИС.всего2логическихэлементов,однаковнутреннейпамятибылоизрасходовано 65536 бит.Кроме накопителя, в модуле присутствует арифметический блок спамятью, состоящий из клеточных ансамблей «сумматор». Его реализация наVHDL приведена в приложении 3, а на рисунке 57 показан синтезированныйв Quartus II схемный символ13.
Полученный компонент может бытьпараметризован по длине цепочки спайков (параметр spikes_flow_length). Егоинтерфейс включает следующие входы и выходы: CLK – синхровход, DI –входная шина данных, serial_out – выход для последовательного чтенияданных со сдвигом, SRD – установка режима последовательного чтения сосдвигом, CNT – установка режима логического суммирования данных на DI ссодержимымрегистра,RST–сброс.Всеизменениясостоянияразработанного компонента – сложение с сохранением, сброс, чтение сосдвигом, происходят только по фронту синхросигнала CLK. Временнаядиаграмма работы компонента приведена на рисунке58. На нейпродемонстрированы режим сложения с сохранением, а затем за 4 тактапоследовательноесчитываниецепочкиспайков.Послеэтогодемонстрируется сброс с помощью RST.13Quartus II автоматически формирует символ по VHDL-описанию.
Таким образом, при проектированииможно совмещать описание устройства на VHDL и с помощью схем.114Рис. 57. Схематичное изображение арифметического блока модуля .Рис. 58. Временная диаграмма работы арифметического блока модуля Модуль описан функционально-логической схемой, включающейрассмотренныевышекомпоненты,моделирующиенакопительиарифметический блок (рис. 59). Аппаратные затраты после компиляциисоставили 258 логических элементов, 257 регистров ПЛИС и 65536 битвнутренней памяти. При этом чтобы сэкономить на входных контактах, длязаполнения накопителя потоками спайков, которые моделируют вектор( ), был использован файл инициализации памяти.115116Рис.
59. Схема модуля .Анализ интенсивностей потоков спайков, выходящих из модулей ,выполняется с помощью клеточного ансамбля «Дифференциал». Дляописания дифференциала на VHDL удобно выделить в его поведении двапараллельных процесса, формирующих выходные потоки 1 и 2 . При этомскаждымпроцессомнеобходимосвязатьсдвигающийрегистр,моделирующий замкнутый осциллятор соответствующего выхода.
Нарисунке 60 приведен схемный символ разработанной аппаратной реализациидифференциала, обрабатывающего два потока спайков. Соответствующееему VHDL-описание вынесено в приложение 3. Входы Q и S соответствуютинформационным входам дифференциала, на которые подаются потокиспайков. Получение нового выходного значения происходит по фронту CLK.При этом, чтобы изменить состояние дифференциала, его необходимовыбрать, установив на входе EN высокий уровень. Анализируя входныепотоки, дифференциал переходит в стационарное состояние, когда один изегозамкнутыхосцилляторовнасыщается,адругой–полностьюостанавливается (т.е. его интенсивность становится равно нулю).
Для того,чтобы повторно использовать дифференциал, был предусмотрен синхронныйвход RST, сбрасывающий заряды осцилляторов в нулевое значение. Наконец,вразработанномVHDL-описаниипредусмотренапараметризациядифференциала по емкости замкнутых осцилляторов (параметр charge_size,на рис. 60 равный 4).117Рис. 60.
Схематичное изображение аппаратной реализации дифференциала (символ вQuartus II).В таблице 9 приведен тест, составленный для проверки аппаратнойреализации дифференциала (сигнал CLK заменен на номер такта n). Емкостьзамкнутых осцилляторов была выбрана равной 4, так что уже на 5-й тактможно заметить влияние обратной связи замкнутых осцилляторов. Нарисунке61приведенавременнаядиаграмма,полученнаявходеимитационного моделирования. Видно, что результат моделированиясовпадает с рассчитанными аналитически значениями выходов.Входные значенияnВыходные значенияQ(n)S(n)RST(n)EN(n)1 + 12 + 111101112100110300010041001105100110601011070101018110110910001010011100Таблица 9.
Тестирующая последовательность для аппаратной реализацииклеточного ансамбля «Дифференциал».118Рис. 61. Временная диаграмма работы аппаратной реализации клеточного ансамбля«Дифференциал».На рисунке 62 изображена схема блока распознавания, включающаядва модуля , т.е. W=2. По результатам синтеза, эта схема заняла 526логических элементов, 524 регистра и 131072 бита внутренней памяти.Таким образом, для работы с разработанной аппаратной реализациейблокараспознаваниянеобходимопредусмотретьналичиевнешнихустройств, осуществляющих обучение системы, загрузку полученных приобучении цепочек спайков в модули блока распознавания и управлениережимами его работы.119120Рис. 62. Схема блока распознавания с двумя модулями 5.2.Обзор типов программируемых пользователем микросхем.Программируемые Логические Интегральные Схемы (ПЛИС) – этоэлектронный компонент, используемый для построения цифровых схем, укоторого логика работы определяется не при изготовлении, а задаетсяпосредствомпрограммирования[80,81].Приклассификациипрограммируемых интегральных микросхем ПЛИС иногда ассоциируюттолько с одним типом архитектур – программируемыми пользователемвентильными матрицами (Field Programmable Gate Array – FPGA) (как в [80]),но чаще под этим именем объединяют все виды программируемыхинтегральных микросхем.