Модуль накопления для задач многомерной мессбауэровской спектрометрии
Первыми представителями программируемых ИС явились
программируемые логические матрицы ПЛМ, программируемая матричная логика ПМЛ и
базовые матричные кристаллы БМК, называемые также вентильными матрицами. ПМЛ и
ПЛМ в английской терминологии часто объединяются термином PLD, Programmable logic Devices.
Развитие БИС/СБИС с программируемой и репрограммируемой
логикой оказалось настолько перспективным направлением, что привело к созданию
новых эффективных средств разработки цифровых систем, таких
как CPLD (Complex PLD),
FPGA (Field Programmable Gate Array) и SPGA (System Programmable Gate Array).
Основой программируемых логических матриц служит
последовательность элементов И и ИЛИ. В структуру также входят блоки входных и
выходных буферных каскадов (рис. 3.1)
Входные буферы, как правило, предназначены для преобразования однофазных входных
сигналов в парафазные и формирования сигналов необходимой мощности для питания
матрицы элементов И.
Выходные буферы обеспечивают необходимую нагрузочную
способность выходов, разрешают или запрещают выход ПЛМ на внешние шины с
помощью сигнала OE, а иногда
выполняют и более сложные действия.
Переменные x1…xm подаются через входные буферные
каскады на входы элементов И, и в матрице И образуют L термов. Терм – это конъюнкция, связывающая входные
переменные, представленные в прямой или инверсной форме. Число формируемых
термов равно числу выходов матрицы И.
Термы подаются далее на входы матрицы ИЛИ, т.е. на входы
дизъюнкторов формирующих выходные функции. Число дизъюнкторов равно числу
вырабатываемых функций N.
Воспроизводимые функции являются комбинациями из любого числа термов,
формируемых матрицей И. Какие именно термы будут выработаны и какие комбинации
этих термов составят входные функции, определяется программированием. Таким
образом, ПЛМ способна реализовать систему N логических функций от M аргументов, содержащую не более L термов.
Принцип программирования основан на том, что в матрицах
имеются системы горизонтальных и вертикальных связей , в узлах которых при
программировании создаются или ликвидируются связи. В качестве узлов связей используются диоды. До
программирования все перемычки целы и диоды связи размещены во всех узлах
координатной сетки. При программировании в схеме остаются только необходимые
элементы связи, а ненужные устраняются пережиганием перемычек.
Логическая мощность ПЛМ зачастую используется не полностью.
Это проявляется, в частности, при воспроизведении типичных функций, не имеющих
больших пересечений друг с другом по одинаковым термам. В таких случаях
возможность использования выходов любых конъюнкторов любыми дизъюнкторами
становится излишним усложнением. Отказ от этой возможности означает
использование не программируемой, а заданной матрицы ИЛИ. Структура в которой
выходы матрицы И жёстко распределены между элементами ИЛИ получила название ПМЛ. В сравнении с ПЛМ схемы ПМЛ имеют
меньшую гибкость, т.к. матрица ИЛИ фиксирована, но их изготовление дешевле и
использование проще.
Отдельной ветвью в развитии программируемых интегральных схем
являются базовые матричные кристаллы (вентильные матрицы с масочным
программированием). Основа первых БМК – совокупность регулярно расположенных на
кристалле базовых ячеек (БЯ), между которыми имеются свободные зоны (каналы)
для создания соединений. БЯ занимают внутреннюю область БМК, в которой они
расположены по столбцам, и содержат группы нескоммутированных элементов
(транзисторов, резисторов и др.). В периферийной области размещены ячейки
ввода-вывода. Потребитель может реализовать на основе БМК некоторое множество
устройств определённого класса, задав тот или иной вариант рисунка
межсоединений компонентов. Основной характеристикой БМК помимо числа
эквивалентных вентилей является трассировочная способность, которая
определяется площадью отводимой для межэлементных связей в ортогональных
направлениях. Недостаточная трассировочная способность приводит к уменьшению
числа задействованных при построении базовых ячеек. Избыточная трассировочная
способность ведёт к нерациональному использованию кристалла, что понижает
уровень интеграции БМК и повышает его стоимость. Для решения подобных проблем
строятся многослойные БМК, при этом число слоёв межсоединений может составлять
от 2 до 6 и более.
Ранее перечисленные архитектуры ПЛИС, содержащие небольшое
количество ячеек, к настоящему времени морально устарели и применяются для
реализации относительно простых устройств, для которых не существует готовых ИС
средней степени интеграции [8]. Для реализации крупных проектов они не
пригодны.
Развитие технологий, опыт использования программируемых
интегральных логических схем (ПЛИС) приводит к выводу, что это максимально
удобная в освоении и применении элементная база, альтернативы которой зачастую
не найти. Последние годы характеризуются резким ростом плотности упаковки
элементов на кристалле, многие ведущие производители либо начали серийное
производство, либо анонсировали ПЛИС с эквивалентной ёмкостью более одного
миллиона эквивалентных вентилей на кристалл.
Современные ПЛИС классифицируются по
конструктивно-технологическому типу программируемых элементов. Число
программируемых двухполюсников (программируемых точек связи ПТС) в ПЛИС зависит
от сложности и может доходить до нескольких миллионов. Наиболее характерны
следующие виды программируемых ключей:
-
перемычки типа antifuse
-
ЛИЗМОП
транзисторы с двойным затвором
-
ключевые
транзисторы, управляемые триггерами памяти конфигурации (теневым ЗУ) [7].
Программирование с помощью перемычек antifuse является однократными.
Высококачественные перемычки фирмы Actel компактны, имеют очень малые токи в первоначальном (непроводящем)
состоянии (порядка10-15А). Перемычка образована трёхслойным
диэлектриком с чередованием слоёв оксид-нитрид-оксид. Программирующий импульс напряжения
пробивает перемычку и создаёт проводящий канал из поликремния между
электродами. Величина тока, создаваемого импульсом программирования, влияет на
диаметр проводящего канала (например ток 5 мА создаёт перемычку с сопротивление
600 Ом, ток 15мА – 100 Ом) [7].
Элементы EPROM
и EEPROM на ЛИЗМОП (МОП-структуры с лавинной
инжекцией заряда) транзисторах с плавающих затвором используются в ПЛИС, где с
помощью программируемой памяти задаётся конфигурация схемы. Стирание старой
конфигурации в ПЛИС на основе EPROM
требует длительного (около 1 часа) облучения УФ-излучением. Такие микросхемы
имеют ограничение количества циклов перепрограммирования из-за деградации
свойств полупроводниковых материалов под воздействием ультрафиолета. Технология
EEPROM, для обновления не требует
извлечения микросхемы, допускает достаточно большое число циклов стирания (104…106).
Процесс стирания и обновления конфигурации занимает время порядка миллисекунд.
В последнее время схемотехника EEPROM
совершенствуется и всё больше вытесняет схемотехнику EPROM. Технология программируемой памяти применяется в ПЛИС
типа CPLD.
В качестве программируемого
элемента связи в ПЛИС FPGA
используется транзисторный ключ, управляемый триггером, показанный на рис.3.2
Ключевой транзистор Т2 замыкает или размыкает участок АВ в
зависимости от состояния триггера. При программировании на линию выборки
подаётся высокий потенциал, и транзистор Т1 включается. С линии записи-чтения
подаётся сигнал, устанавливающий триггер в состояние «1» и «0».
Загрузка соответствующих
данных в память конфигурации программирует ПЛИС. Быстрый процесс оперативного
программирования может производиться неограниченное число раз. При выключении
питания конфигурация теряется. Каждый раз при включении питания необходим
процесс инициализации (конфигурирования) схемы - загрузка данных из
энергонезависимой памяти [1].
ИС класса ПЛМ и ПМЛ имеющие структуру весьма удобную для
построения цифровых автоматов положили начало развития архитектуры
программируемых коммутируемых матричных блоков (ПКМБ), которые представляют
собой ПЛИС содержащую несколько матричных логических блоков, объединённых
коммутационной матрицей. ПЛИС типа ПКМБ, как правило, имеют высокую степень
интеграции (до 10 тыс. эквивалентных вентилей). К этому классу относятся ПЛИС
семейства MAX5000, MAX7000 фирмы Altera, схемы XC7000, XC9500
фирмы Xilinx и др. ПЛИС
класса ПКМБ в зарубежной литературе получили название CPLD (Complex PLD).
Архитектурно CPLD
состоят из центральной коммутационной матрицы, множества функциональных блоков
ФБ (макроячеек) и блоков ввода-вывода на периферии кристалла. Система
коммутации построена на основе непрерывных связей, что даёт хорошую
предсказуемость задержек сигналов в связях. Программируемая матрица соединений
(PIA) позволяет соединить выход любого ЛБ
с входами других и обеспечить связи с вертикальными и горизонтальными линиями.
Как и во всех ПЛИС, логические операции производятся в ЛБ, которые соединяются
в единую систему с помощью ПМС. Каждый ЛБ содержит 16 макроячеек. Классическим
представителем CPLD являются
микросхемы семейства MAX7000,
фирмы Altera, имеющими память конфигурации типа EEPROM. В настоящее время выпускаются ПЛИС MAX7000, MAX7000A, MAX7000B, MAX7000E, MAX7000S.
Семейства MAX7000A и MAX7000B рассчитаны на работу в системах с
напряжением питания 3,3 и 2,5В соответственно, ПЛИС MAX7000S
является дальнейшим развитием 5-вольтового MAX7000, с возможностью программирования в системе (ISP, In-system programmability) и периферийного сканирования в
соответствии со стандартом IEEE Std. 1194.1 JTAG. Фрагмент структуры CPLD MAX7000S
дающий достаточно полное представление о ней изображён на рисунке 3.3а.
В отличие от архитектуры MAX7000 ПЛИС MAX7000S имеют дополнительную возможность использования
двух глобальных тактовых сигналов GCLK1 и GCLK2 и сброса GCLR, а также сигналы разрешения выходов ОЕ.
Логический блок обеспечивает построение как комбинационных
цепей, так и схем с элементами памяти. Одна из макроячеек логического блока
изображена на рисунке 3.3б.
При недостатке собственных термов внутри макроячейки, можно
воспользоваться дополнительными ресурсами двух типов логических расширителей
общего (разделяемого) и параллельного.
Блок ввода-вывода даёт возможность гибкого управления разрешением
выходного буфера. ПМС формирует глобальные сигналы разрешения выходов ОЕ,
допуская возможность перевода выходов ПЛИС в третье состояние. ПЛИС MAX7000S поддерживают аппаратную эмуляцию выходов с открытым
коллектором, кроме того, может программироваться и скорость изменения выходов
сигналов с целью предупреждения возможных паразитных колебаний при
переключении.
Продолжением линии БМК стали программируемые пользователем
вентильные матрицы ППВМ (FPGA).
Логические блоки таких ПЛИС состоят из одного или нескольких относительно
простых логических элементов (коммутируемых логических блоков КЛБ), в основе
которых лежит таблица перекодировки, программируемый мультиплексор, D-триггер и цепи управления. Таких
простых элементов может быть достаточно большое количество (у современных ПЛИС
ёмкостью до 1 миллиона вентилей число логических элементов достигает нескольких
десятков тысяч). Таким образом, архитектуру ППВМ можно представить в виде
структуры БМК, где вместо базовых ячеек находятся КЛБ. В английской терминологии
данный класс микросхем называется FPGA (Field Programmable Gate Array). К наиболее известным FPGA
относятся ПЛИС семейства XC2000,
XC3000, XC4000, XC5000 и Spartan,
Virtex фирмы Xilinx, ACT1,ACT2 фирмы Actel, а также семейства FLEX8000 фирмы Altera, некоторые ПЛИС Atmel
и Vantis [8].
В качестве КЛБ могут использоваться:
-
транзисторные
пары, простые логические вентили и т.п.
-
логические модули на основе мультиплексоров
-
логические модули на основе программируемых ПЗУ
Наиболее важные характеристики КЛБ отражаются двумя
параметрами зернистость и функциональность.
Первое свойство связано с тем, какие минимальные единицы логики (транзистор, вентиль,
логический модуль) можно применить для составления нужной схемы. Второе
свойство показывает насколько велики логические возможности КЛБ. Т.о. оба
параметра взаимопротивоположны. Мелкозернистые ЛБ фирмы Crosspoint Solution содержат цепочки транзисторов. Между
цепочками транзисторов имеются трассировочные каналы, в которых могут быть
реализованы необходимые межсоединения. Крупнозернистый блок в микросхемах XC4000E фирмы Xilinx
в качестве основы имеет три функциональных логических преобразователя, ряд
программируемых мультиплексоров и два триггера. Такой блок способен реализовать
более сложные функции, что ведёт к упрощению программируемой части
межсоединений. Иными словами, меняя зернистость можно выиграть в одном и
проиграть в другом.
Системы межсоединений, как и логические блоки, реализуются в
широком диапазоне архитектурных и технологических решений. Линии связи в FPGA как правило сегментированы, т.е.
составлены из сегментов различной длины, соединённых программируемыми связями.
Короткие сегменты затрудняют реализацию длинных связей,
длинные – коротких. Поэтому применяют иерархическую систему связей с
несколькими типами межсоединений для передачи на разные расстояния, такое
решение позволяет строить системы с максимальной коммутируемостью КЛБ при
минимальном количестве ключей и задержки сигналов, а также предсказуемость
последних, что облегчает программирование [7].
Критерий трассировочной способности системы межсоединений
отображает возможность создания в FPGA множества схем типового применения (только с помощью программируемых
перемычек).
Объединение достоинств FPGA и CPLD
привело к созданию ПЛИС смешанной архитектуры (общего названия для этого типа
ПЛИС пока не придумано, фирма Altera
пользуется термином Field Programmable Gate Arrays FLEX). Микросхемы FLEX содержат реконфигурируемые модули памяти РМП. Впервые такая
встроенная память появилась в семействе FLEX
10K [7] (рис.3.4).
Логические элементы (ЛЭ) объединяются в группы – логические
блоки. Внутри логических блоков ЛЭ соединяются посредством глобальной
программируемой матрицы соединений. Локальная и глобальная матрицы соединений
имеют непрерывную структуру – для каждого соединения выделяется непрерывный
канал.
Дальнейшее развитие архитектур идёт по пути создания комбинированных
архитектур, сочетающих удобство реализации оперативно реконфигурируемых систем,
характерных для FPGA структур и
многоуровневых ПЛИС с удобством реализации цифровых автоматов на CPLD архитектурах. В продукции наиболее
известных производителей ПЛИС можно выделить микросхемы APEX 20K/KE (рис.3.5) фирмы
Altera и Virtex фирмы Xilinx.
Стоит отметить, что при всех своих достоинствах такие ПЛИС пока мало популярны
из-за высокой стоимости [7].
В таких микросхемах уровень интеграции доведён до нескольких
миллионов эквивалентных вентилей, а быстродействие до тактовых частот 500…600
МГц. На таких кристаллах можно поместить целую систему (в зарубежной литературе
принят термин System-On-Chip, SOC), включающую процессорную часть,
память, интерфейсные схемы и др.
Компоненты этих систем разрабатываются отдельно и хранятся в
виде файлов параметризованных модулей. На базе таких виртуальных компонентов с
помощью систем автоматизированного проектирования электронных устройств EDA (Electronic Design Automation) создаётся окончательная структура SOC-микросхем.
Характер проектирования существенно зависит от вида
применяемой элементной базы. Небольшие устройства для реализации которых
используются ПЛИС малой степени интеграции разрабатываются, как правило
«вручную», когда проектирование сводится к построению таблицы программирования
(прошивки), на основании которой обеспечиваются необходимые межсоединения.
Все современные методики проектирования ЦУ на базе схем
программируемой логики высокой сложности основаны на применении САПР. Новейшие
САПР предоставляют широкий набор инструменты для проектирования на этапах
описания, компиляции, отладки, функционального и временного моделирования,
конфигурирования, физического моделирования и программирования [7].
В настоящее время к наиболее распространенным универсальным
способам описания, применимым для проектов любого уровня относят графический и
текстовый. Реже используются непосредственная разводка схем в редакторе
топологии, описания в виде требуемых временных диаграмм, а также описания путём
построения графов.
Графический способ разработки дизайна подразумевает макетное
построение схемы с использованием библиотечных элементов САПР, которые могут
быть представлены в виде примитивов, в виде макрофункций в базисе элементов
стандартных серий ТТЛ(Ш) или в виде параметризованных модулей. Главное
достоинство графического способа – его традиционность и наглядность.
Использование текстового представления проекта допускает
описание устройства, как с точки зрения поведения, так и с точки зрения
структуры. Удобство текстового описания проявляется при создании систем,
содержащих большое количество повторяющих фрагментов. Важными достоинствами
являются текстового описания компактность и относительная простота
автоматизации любых преобразований, включая начальную генерацию описания
проекта.
Использование стандартных универсальных языков описания
аппаратуры (HDL, Hardware Description Languages) обеспечивает простоту переноса
проекта с одной аппаратной
платформы на другую и переход от одной САПР к другой [7]. Текстовые описания
имеют две основные разновидности – языки низкого уровня (аналоги языков
программирования типа ассемблера) и высокого уровня. Примерами таких языков
могут служить язык AHDL (Altera HDL) и ABEL
(фирмы Xilinx). Языки высокого уровня менее
связаны с аппаратными платформами и поэтому более универсальны. Среди них
наиболее распространены языки VHDL и
Verilog [7].
Описание в виде граф-схемы переходов (диаграммы состояний)
является наиболее распространённым вариантом задания цифровых автоматов.
Графические редакторы для создания автоматов включаются в состав средств
задания исходных проектов современных САПР (например, в САПР Foundation фирмы Xilinx разработки фирмы ALDEC).
После составления описания проекта производится его
компиляция. Данная процедура разбивается на ряд последовательных действий:
сборка базы данных проекта, контроль соединений, логическая минимизация
проекта, формирование загрузочного (конфигурационного) файла и др. Результат
компиляции – загрузочный файл.
Тестирования проекта часто производится путём работы с
редактором временных диаграмм. В данном варианте анализ производится на основе
созданного генератора воздействия. Например в САПР MAX+PLUS II предусмотрено
автоматическое вычисление трёх основных классов временных параметров:
-
минимальных и
максимальных задержек между источниками (входными сигналами) и приёмниками
(выходными сигналами), информация о которых выдаётся в виде матрицы задержек;
-
максимально
возможной производительности устройства (пропускной способности) в виде
максимальной частоты тактирования элементов памяти, используемых в проекте.
-
времён предустановки и выдержки сигналов, гарантирующих надёжную работу
схем при фиксации сигналов в синхронных элементах памяти [7].
Многие САПР позволяют также выделять критические пути
передачи и преобразования информации для схемного или топологического
представления проекта.
При выборе той или иной элементной базы не маловажным
критерием является наличие достаточно развитых и удобных средств разработки
проектов на её основе.
Ряд фирм предлагает бесплатные версии САПР, представляющих
собой базовый набор инструментов для проектирования ЦУ на базе ПЛИС. Примерами
могут служить САПР MAX+PLUS II BASELINE – среда проектирования устройств на
базе ПЛИС фирмы Altera, WebPACK ISE – версия САПР для ПЛИС фирмы Xilinx. Среди бесплатных САПР Xilinx следует также выделить
систему WebFITTER, первый в своем роде продукт, основанный на использовании
Internet.
Многие крупные фирмы-производители САПР интегральных схем
активно включились в процесс создания программного обеспечения, поддерживающего
ПЛИС различных производителей. Это позволяет проводить разработку алгоритмов,
пригодных к реализации на ПЛИС не только разных семейств, но и различных
производителей, что облегчает переносимость алгоритма и ускоряет процесс
разработки. Примером таких систем являются продукты серии FPGA Express фирмы
Synopsys, OrCAD Express фирмы OrCAD, продукты фирм VeryBest, Aldec, Cadence
Design Systems и многих других. САПР фирмы Altera поддерживает интерфейс со многими из названных
продуктов.
Система MAX+PLUS II разработана фирмой Altera и обеспечивает многоплатформенную архитектурно независимую среду
создания дизайна, легко приспосабливаемую для конкретных требований
пользователя.
Название MAX+PLUS II является аббревиатурой от Multiple Array MatriX Programmable Logic User System (пользовательская система программирования логики
упорядоченных структур). Система MAX+PLUS II имеет полный спектр возможностей
логического дизайна: разнообразные средства описания проектов с иерархической
структурой, мощный логический синтез, компиляцию с заданными временными
параметрами, разделение на части (использование нескольких кристаллов),
функциональное и временное тестирование (симуляцию), тестирование нескольких
связанных устройств, анализ временных параметров системы, автоматическую
локализацию ошибок, а также программирование и верификацию устройств [8].
Процедуру разработки нового проекта от концепции до завершения можно упрощённо
представить следующим образом:
1)
создание нового
файла проекта или иерархической структуры нескольких файлов проекта с помощью
любого сочетания редакторов в системе MAX+PLUS II, то есть графического,
текстового и сигнального редакторов;
2)
задание имени файла - проекта верхнего уровня в качестве имени проекта;
3)
назначение
семейства ПЛИС для проекта;
4)
компиляция
проекта. По желанию пользователя можно подключить модуль извлечения временных
параметров проекта Timing SNF Extractor для создания файла, используемого при
временном моделировании;
5)
в случае успешной
компиляции возможен временной анализ в окне Timing Analyzer и симуляция в окне
Simulator
6)
программирование
с использованием программатора MPU (Master Programming Unit) или подключение
загрузочных устройств BitBlaster, Byte-Blaster или FLEX Download Cable к
устройству, программируемому в системе;
ПО системы MAX+PLUS II содержит 11 приложений и главную
управляющую программу. Различные приложения, обеспечивающие создание проекта,
могут быть активизированы мгновенно, что позволяет пользователю переключаться
между ними щелчком мыши или с помощью команд меню. В это же время может
работать одно из фоновых приложений, например, компилятор, симулятор,
анализатор синхронизации и программатор. Одни и те же команды разных приложений
работают одинаково, что облегчает задачу разработки логического дизайна.
В таблице 1 приведено краткое описание приложений.
В САПР MAX+PLUS II легко доступны все инструменты для
создания проекта. Разработка проекта ускоряется за счёт имеющихся стандартных функций,
в том числе примитивов, мегафункций, библиотеки параметризованных модулей (LPM)
и макрофункций устаревшего типа микросхем 74 серии.
Таблица 1 Приложения системы MAX+PLUS II.
Приложение |
Выполняемая функция |
Hierarchy Display
|
Обзор иерархии - отображает текущую иерархическую
структуру файлов в виде дерева с ветвями, представляющими собой подпроекты.
|
Graphic Editor
|
Графический редактор - позволяет разрабатывать
схемный логический проект в формате реального отображения на экране WYSIWYG.
|
Symbol Editor
|
Символьный редактор - позволяет редактировать
существующие символы и создавать новые.
|
Text Editor
|
Текстовый редактор - позволяет создавать и
редактировать текстовые файлы логического дизайна, написанные на языках AHDL,
VHDL, Verilog HDL.
|
Waveform Editor
|
Сигнальный редактор - выполняет двойную функцию:
инструмент для разработки дизайна и инструмент для ввода тестовых векторов и
наблюдения результатов тестирования.
|
Floorplan Editor
|
Поуровневый планировщик - позволяет графическими
средствами делать назначения контактам устройства и ресурсов логических
элементов.
|
Compiler
|
Компилятор - обрабатывает логические проекты.
|
Simulator
|
Симулятор - позволяет тестировать логические
операции и внутреннюю синхронизацию проектируемой логической цепи.
|
Timing Analyzer
|
Временной анализатор - анализирует работу
проектируемой логической цепи после того, как она была синтезирована и
оптимизирована компилятором.
|
Programmer
|
Программатор - позволяет программировать,
конфигурировать, проводить верификацию и тестировать ПЛИС фирмы ALTERA.
|
Message Processor
|
Генератор сообщений - выдает сообщения об ошибках,
предупреждающие и информационные сообщения.
|
В системе MAX+PLUS II есть три редактора для разработки
проекта: графический, текстовый и сигнальный, а также два вспомогательных
редактора: поуровневый планировщик и символьный редактор.
Графический редактор (Graphic Editor) обеспечивает
проектирование в реальном формате изображения (WYSIWIG). Графические файлы
проекта (.gdf) или схемные файлы OrCAD (.sch), созданные в данном графическом
редакторе, могут включать любую комбинацию символов примитивов, мегафункций и
макрофункций. Символы могут представлять собой любой тип файла проекта (.gdf
.sch .tdf .vhd .v .wdf .edf .xnf .adf .smf).
Символьный редактор (Symbol Editor) позволяет просматривать,
создавать и редактировать символ. Символьный файл имеет то же имя, что и
проект, и расширение “.sym”. Команда Creat Default
Symbol меню File, которая есть в
графическом, текстовом и сигнальном редакторах, создает символ для любого файла
проекта. Символьный редактор обладает следующими характеристиками: можно
переопределить символ, представляющий файл проекта, создавать и редактировать
выводы и их имена, используя входные, выходные и двунаправленные выводы, а
также задавать варианты ввода символа в файл графического редактора, задать
значения параметров и их значения по умолчанию; сетка и направляющие помогают
выполнить точное выравнивание объектов, в символе можно вводить комментарии.
Текстовый редактор (Text Editor) является инструментом для
создания текстовых файлов проекта на языках описания аппаратуры: AHDL (.tdf),
VHDL (.vhd), Verilog HDL (.v). Все перечисленные файлы проекта можно создавать
в любом текстовом редакторе, однако данный редактор имеет встроенные
возможности ввода файлов проекта, их компиляции и отладки с выдачей сообщений
об ошибках и их локализацией в исходном тексте или в тексте вспомогательных
файлов; кроме того, существуют шаблоны языковых конструкций для AHDL, VHDL и
Verilog HDL, выполнено окрашивание синтаксических конструкций. В данном
редакторе можно вручную редактировать файлы назначений и конфигурации (.acf), а
также делать установки конфигурации для компилятора, симулятора и временного
анализатора.
Пользуясь данным текстовым редактором, можно создавать тестовые
векторы (.vec), используемые для тестирования, отладки функций и при вводе
сигнального проекта. Можно также создавать командные файлы (.cmd — для
симулятора и .edc — для EDIF), а также макробиблиотеки (.lmf).
Сигнальный редактор (Waveform Editor) служит инструментом
создания описания проекта, ввода тестовых векторов и просмотра результатов
тестирования. Пользователь может создавать сигнальные файлы проекта (.wdf),
которые содержат временные диаграммы, описывающие логику работы проекта, а
также файлы каналов тестирования (.scf), которые содержат входные вектора для
тестирования и функциональной отладки. Разработка описания проекта в сигнальном
редакторе является альтернативой его создания в графическом или текстовом
редакторах. Здесь можно графическим способом задавать комбинации входных
логических уровней и требуемых выходов. Созданный таким образом файл WDF может
содержать как логические входы, так и входы цифрового автомата, а также выходы
комбинаторной логики, счётчиков и цифровых автоматов. Способ разработки дизайна
в сигнальном редакторе лучше подходит для цепей с чётко определёнными
последовательными входами и выходами, то есть для цифровых автоматов, счётчиков
и регистров.
Поуровневый планировщик (Floorplan Editor) предназначен для
назначения ресурсов физических устройств и просмотра результатов разводки,
сделанных компилятором. В окне поуровневого планировщика могут быть
представлены два типа изображения:
-
Device View (Вид
устройства) показывает все контакты устройства и их функции;
-
LAB View (Вид
логического структурного блока) показывает внутреннюю часть устройства, в том
числе все логические структурные блоки (LAB) и отдельные логические элементы.
После выполнения всех назначений и задания проекта приступают
к его компиляции. Сначала компилятор извлекает информацию об иерархических
связях между файлами проекта и проверяет проект на простые ошибки ввода
описания проекта.
Компилятор применяет разнообразные способы увеличения
эффективности проекта и минимизации использования ресурсов устройства. Если
проект слишком большой, чтобы быть реализованным в одном устройстве, компилятор
может автоматически разбить его на части для реализации в нескольких
устройствах того же самого семейства, при этом число соединений между
устройствами минимизируется. В файле отчёта (.rpt) затем будет отражено, как
проект будет реализован в одном или нескольких устройствах.
Кроме того, компилятор создает программирующие файлы,
используемые программатором для программирования одного или нескольких
устройств. У разработчика также есть возможность настроить обработку проекта.
Например, можно задать стиль логического синтеза проекта по умолчанию и другие
параметры логического синтеза в рамках всего проекта. Кроме того, можно ввести
требования по синхронизации в рамках всего проекта, точно задать разбиение
большого проекта на части для реализации в нескольких устройствах и выбрать
варианты параметров устройств, которые будут применены для всего проекта в
целом. Загрузку готового проекта в ПЛИС или конфигурационное ПЗУ выполняют с
помощью программатора (Programmer).
4. ПОИСК СХЕМОТЕХНИЧЕСКИХ РЕШЕНИЙ
Модульный принцип построения системы накопления подразумевает
создание набора встраиваемых плат расширения для персонального компьютера либо
систем стандарта микро-PC с магистралью ISA. Развивая и усовершенствуя весь мессбауэровский
спектрометр возможно создание полноценного автоматизированного комплекса с
реализацией всех узлов электронного блока спектрометра в виде модулей
(рис.4.1).
Модульность системы накопления даёт возможность оперативно
менять конфигурацию. Путём добавления необходимого числа модулей можно
выстроить систему независимых спектрометрических трактов. Таким образом,
модульная концепция системы накопления – есть средство реализации
многоканальности.
Система, удовлетворяющая многомерным задачам мессбауэровской
спектрометрии должна укладываться в критерии многоканальности. Т.е. аппаратура
для многомерных задач должна быть также модульной.
Суммируя
вышеперечисленные условия (и ряд других) наиболее удобным представляется
построение модуля накопления с возможностью сбора данных от двух синхронных
трактов регистрации и накопления 24-битного результата. Такой модуль можно
успешно применять для снятия данных в многомерных гамма-оптических схемах
эксперимента в составе многоканальной системы накопления.
Схема модуля накопления должна содержать микроконтроллер. Это
связано, прежде всего, с тем, что модуль накопления является оператором данных
большой разрядности (24 бит) и необходимо построить систему с максимально
упрощённым алгоритмом доступа к банку данных со стороны магистрали ISA. Другое дело задача об оптимальном
(по ряду критериев) распределении функций между аппаратурными средствами и
программным обеспечением. При этом в самом общем случае необходимо исходить из
того, что перенесение всех функций на аппаратурные средства обеспечивает
высокое быстродействие системы в целом, но приводит к значительному усложнению схемы
и сопряжено с увеличением стоимости конечного изделия. Кроме того, в данном
случае исчезает возможность создания автономной системы. Бóльший
удельный вес программного обеспечения позволяет сократить сложность
аппаратурных средств, но это приводит к снижению быстродействия и увеличению
затрат и сроков разработки и отладки прикладных программ. Время жизни изделия,
в котором большая часть функций реализована в программном обеспечении,
многократно возрастает за счет того, что срок "морального старения"
изделия может быть существенно отодвинут путём совершенствования и перестроения
программного обеспечения. Программная реализация основных элементов алгоритма
работы накопителя допускает его модификацию относительно простыми средствами.
Это и есть главный критерий построения гибких реконфигурируемых систем.
Учитывая широкие возможности микроконтроллера по работе с
памятью, предполагается использование его системного ОЗУ (СОЗУ) для хранения и
накопления спектрометрических данных. Объём СОЗУ должен быть достаточным для
хранения банка 2х24х4096 бит, а также промежуточных
данных. Наибольшие скоростные требования предъявляются к той части схемы, где
реализуется алгоритм накопления первого байта (счётные блоки, блоки
суммирования и т.д.), поэтому данная часть должна быть исполнена аппаратно с
использованием быстрой статической памяти. Накопление старших байтов можно
производить с использованием программных средств микроконтроллера. Из всех
рассмотренных ранее способов обмена с компьютером наиболее подходящим является применение
разделяемой памяти. В этом случае трансляция накопленных в СОЗУ данных должна
производиться с использованием буферного ОЗУ доступного как со стороны шины ISA, так и со стороны микроконтроллера.
Кроме того, БОЗУ может применяться для быстрого (в течение нерабочего режима
системы регистрации, составляющего 11 мс) чтения данных собранных в системе
накопления первого байта. Такой подход (совместно с другими положениями)
позволяет организовать систему с непрерывным процессом накопления. Помимо ISA в качестве внешнего интерфейса может
использоваться последовательный порт микроконтроллера (например, в случае
автономной работы модуля накопления).
Преследуя принцип
минимизации количества корпусов микросхем на малогабаритной плате необходимо
предельно использовать возможности ПЛИС. Практически вся аппаратная часть, в
том числе схема блока сопряжения, может быть реализована на одном кристалле
ПЛИС. Использование наиболее популярных серий ПЛИС с доступными средствами
автоматизированного проектирования позволяет строить надёжные устройства при
помощи современных методов моделирования на функциональном и физическом уровне.
Предлагаемый модуль накопления содержит два входных блока осуществляющих
накопление данных первого байта. Каждый блок, в свою очередь, состоит из
счётного блока и схемы промежуточного хранения (рис.4.2).
Использование буферного
ОЗУ позволяет построить следующий алгоритм работы устройств на схеме модуля
накопления. С приходом стартового импульса начинается очередной цикл
регистрации данных. Входные импульсы с двух трактов регистрации поступают на
входы счётных блоков 1 и 2, где производится их подсчёт за время равное периоду
следования канальных импульсов системы регистрации.
По приходу очередного канального импульса происходит выдача
данных на входы блоков суммирования и обнуление счётчиков для импульсов
следующего временного окна. В тоже время блок выработки адреса схемы-диспетчера
осуществляет выборку данных в ячейках ОЗУ соответствующих очередному номеру
импульса «Канал». Блоки суммирования производят их сложение с данными,
поступившими со счётных блоков. Результаты сложения возвращаются в ОЗУ по тому
же адресу.
Так продолжается накопление данных в 4096 каналов после чего
следует период нерабочего состояния системы регистрации длительностью 11 мс. За
это время может быть произведена быстрая автоматическая трансляция в буферное
ОЗУ данных накопленных в ОЗУ1 или ОЗУ2. Процесс передачи данных не обязательно
должен производится в конце каждого цикла регистрации. Периодичность обмена
определяется степенью загрузки трактов. Даже при высоких параметрах загрузки
порядка 106 имп./с чтение ОЗУ необходимо производить в конце каждого
десятого цикла регистрации. Таким образом работа с данными в накопительных ОЗУ
(ОЗУ1 и ОЗУ2) производится по принципу «чтение-модификация-запись» (рис.4.3)
Это относится и к режиму накопления и к режиму автоматической трансляции. В
последнем случае на место прочитанных и переданных в буферное ОЗУ данных записывается
нуль.
Данные, переданные в буферное ОЗУ, находятся в распоряжении
микроконтроллера, который, выполняя подпрограмму суммирования, производит
накопление трёхбайтного массива данных в системном ОЗУ.
Результат накопления спектров первого и второго тракта
хранятся в системном ОЗУ и могут быть по запросу переданы на шину ISA. Передача данных производится
блоками по 4 К байт с использованием буферного ОЗУ доступного со стороны ISA. Компьютер либо другая управляющая
система (host) передают команды управления
(запросы на доступ к банку данных, параметры накопления) используя либо
буферное ОЗУ, либо последовательный порт с протоколом RS-232, либо регистры доступные со стороны магистрали ISA в поле адресов устройств
ввода-вывода.
5. РАСЧЁТНАЯ ЧАСТЬ
При разработке модуля накопления необходимо исходить из
принципа максимальной простоты эксплуатации. С этой точки зрения схема должна
позволять осуществлять программирование микроконтроллера, как инструмента накопления данных и
управления ресурсами, с учётом необходимой и достаточной степени доступа к
конечной аппаратуре.
Модуль накопления для задач многомерной мессбауэровской
спектрометрии спроектирован с учётом следующих условий:
-
Синхронизация накопителя с системой доплеровской модуляции
осуществляется внешними тактовыми импульсами “старт” и “канал”, имеющими
стандартные ТТЛ уровни (рис.5.1).
-
Основным внешним
интерфейсом накопителя является магистраль ISA. Доступ к данным осуществляется в режиме разделяемой
памяти с использованием буферного ОЗУ.
-
Накопление
мессбауэровского спектра осуществляется в режиме последовательного многоканального
пересчета, при котором количество импульсов, подсчитанное за последовательные
равные интервалы времени заносятся в последовательные каналы (ячейки памяти).
Страницы: 1, 2, 3, 4, 5
|