Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Проектирование триггерных схем на VHDL
В вариантах домашнего задания необходимо спроектировать на VHDL синхронный триггер с динамическим управлением записью по фронту 0/1 или 1/0 с входом предварительной (асинхронной или синхронной) установки триггера или в 0, или в 1. Последнее усло- вие обусловлено тем, что библиотечные компоненты ПЛИС, в ко- торые синтезатор выполняет отображение VHDL-описание схемы, не используют асинхронный сброс и установку триггера, а исполь- зуют только или сброс, или установку. Средства VHDL, используемые для описания поведения тригге- ра, зависят от того, как разработчик представляет алгоритм его функционирования. Если в распоряжении разработчика имеется система уравнений, по которой построена структура триггера (см. раздел «Построение синхронных триггеров с динамическим управлением записью»), то его описание на языке VHDL может быть выполнено с использова- нием логических операторов и сигнального оператора присваива- ния (листинг 3.1). Листинг 3.1. Описание триггера по уравнениям Данное описание требует наличия системы уравнений, описы- вающих структуру триггера, получение которых сопряжено с вы- полнением достаточно сложных процедур. Но закон функциониро- вания триггера можно задать в более простой алгоритмической форме. Рассмотрим вариант описания алгоритма функционирования триггера, используя его характеристическое уравнения. Характери- стическое уравнение получают по таблице переходов триггера. Для этого перейдем от компактной записи таблицы переходов к её раз- вернутой форме (рис. 3.26). Рис. 3.26. Две формы таблицы переходов триггера
Затем выполним запись функции по 1 с последующим её упро- щением. В результате получим следующее характеристическое уравнение триггера: Qt +1 = (E 1 & Q Ú E 2 & Q) t. Алгоритм функционирования триггера с использованием ха- рактеристического уравнения можно представить, как показано на рис. 3.27. Примечание. В данном алгоритме CLR обозначает асинхронный вход уста- новки триггера в «0». При выполнении задания целесообразно придерживаться следующих обозначений для установочных входов, принятых в системе XILINX FOUNDATION: CLR, PRE – асинхронные входы установки триггера в 0 и 1 соот- ветственно, R, S – синхронные входы установки триггера в 0 и 1 соответственно.
Рис. 3.27. Алгоритм функционирования триггера с использованием характеристического уравнения
Как видим, для того, чтобы описать данный алгоритм функцио- нирования триггера на VHDL, необходимо средство описания из- менения сигнала на входе С. Таким средством в языке VHDL явля- ется один из предопределенных атрибутов сигнала — признак event (event attribute). Атрибуты сигналов используют для получения ин- формации о событиях, которые происходят с сигналами. Обраще- ние к атрибутам имеет следующий синтаксис: signal_name'attribute_name Если ”C” — имя синхросигнала, то конструкция "C'event" на любом элементарном шаге по времени выдает значение true, ко- гда сигнал C изменяет свое значение, и false — в противном слу- чае. В листинге 3.2 приведено описание закона функционирования триггера с использованием атрибута event. Заметим, что вели- чина "C'event" истинна при любом изменении сигнала C, по- этому для анализа фронта 0/1 сигнала C предусмотрена проверка C = ‘1’. Листинг 3.2. Описание триггера с использованием характеристического уравнения В соответствии с алгоритмом (см. рис. 3.27) асинхронный сиг- нал CLR преобладает над тактовым входным сигналом C и поэтому проверяется первым в предложении "if". Только тогда, когда сиг- нал на входе CLR имеет неактивный уровень, вступает в действие то, что предусмотрено предложением "else". При наличии актив- ного изменения на входе С исполняется последовательный сиг- нальный оператор присваивания. Булево выражение, по которому определяется новое значение выхода триггера Q, — это характери- стическое уравнение триггера, полученное из его таблицы перехо- дов. Алгоритм функционирования триггера можно представить и путем непосредственной интерпретации его таблицы переходов (рис. 3.28).
Рис. 3.28. Алгоритм функционирования триггера на основе таблицы переходов
Задать приведенный алгоритм на языке VHDL можно с помо- щью операторов case или if. Когда нужно выбирать среди нескольких альтернатив на осно- вании значения только одного сигнала или выражения, обычно бо- лее читабельным и дающим лучший результат синтеза является оператор case.
Описание алгоритма функционирования триггера с использова- нием оператора case приведено в листинге 3.3. Для его примене- ния необходимо ввести векторную переменную А и затем образо- вать её из сигналов Е 1 и Е 2 (см. листинг 3.3). На рис 3.29 приведен алгоритм функционирования триггера с синхронным установочным входом R предварительной установки в «0». По этому входу триггер будет установлен в «0» только при активном изменении сигнала на синхронизирующем входе. Листинг 3.3. Описание триггера с использованием оператора case В листинге 3.4 приведено описание триггера по данному алго- ритму с использованием оператора if.
Рис. 3.29. Алгоритм функционирования триггера с синхронным входом предварительной установки в «0»
Листинг 3.4. Описание триггера с использованием оператора if ПОДГОТОВКА К ВЫПОЛНЕНИЮ РАБОТЫ 1. Изучить описание лабораторной работы. 2. Синтезировать структуру двухступенчатого триггера по заданной таблице переходов. Схема триггера должна иметь асин- хронные входы предварительной установки триггера в 0 и 1. 3. Построить по заданной системе уравнений структуру триг- гера с динамическим управлением записью. 4. Создать описание триггера с динамическим управлением записью на VHDL в соответствии с условиями варианта. 5. Разработать и изобразить схему исследования спроектиро- ванных триггеров с использованием макроэлементов стенда и ос- циллографа.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1. Выполнить ввод спроектированной схемы двухступенчато- го триггера в редакторе схем системы Xilinx Foundation. 2. Для облегчения отладки схемы триггера подсоединить к его входам Е 1 и Е 2 двоичный счетчик CB2CE (рис. 3.30). Рис. 3.30. Коммутация двоичного счетчика CB2CE 3. Выполнить функциональное моделирование схемы двух- ступенчатого триггера. 4. Выполнить ввод и отладку схемы триггера с динамическим управлением записью в том же проекте, где был реализован двух- ступенчатый триггер. 5. Выполнить ввод и отладку описания триггера на VHDL в том же проекте, где были реализованы схемные варианты триггера. 6. Выполнить подготовку и размещение трех вариантов схемы триггера на кристалле, подсоединив макроэлементы стенда. 7. Выполнить временное моделирование и измерение задер- жек переключения триггерных схем. 8. Выполнить загрузку проекта в ПЛИС стенда и произвести отладку схем на макете. 9. Продемонстрировать преподавателю работу отлаженных схем на макете и на экране виртуального осциллографа. 10. Измерить задержки переключения триггерных схем. 11. Сдать преподавателю оформленный отчет в конце занятия.
ОТЧЕТ ПО РАБОТЕ Отчет должен содержать: 1) исходные данные варианта задания; 2) синтез логической структуры синхронного двухступенча- того триггера; 3) схему двухступенчатого триггера и его условное графиче- ское обозначение; 4) схему синхронного триггера с динамическим управлением записью и его условное графическое обозначение; 5) описание триггера на VHDL; 6) схему исследования спроектированных триггеров с ис- пользованием макроэлементов стенда и осциллографа; 7) результаты экспериментальных исследований.
Список литературы 1. Ковригин Б.Н. Триггерные схемы: Ч. 1. Описание и класси- фикация. М.: МИФИ, 1976. 2. Ковригин Б.Н. Триггерные схемы: Ч. 2. Синтез и анализ. М.: МИФИ, 1977. 3. Зельдин Е.А. Триггеры. М.: Энергоатомиздат, 1983. 4. Агаханян Т.М., Плеханов С.П. Интегральные триггеры уст- ройств автоматики. М.: Машиностроение, 1978. 5. Угрюмов Е.П. Цифровая схемотехника. СПб.: БХВ, 2000. 6. Уэйкерли Дж. Ф. Проектирование цифровых устройств. В 2-х т. Т. 2. М.: Постмаркет, 2002. 7. Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL. СПб.: БХВ-Петербург, 2003. 8. Тарасов И.Е. Разработка цифровых устройств на основе ПЛИС XILINX с применением языка VHDL. М.: Горячая линия- Телеком, 2005.
Лабораторная работа 4 СИНХРОННЫЕ СЧЕТЧИКИ
Цель: овладеть методом синтеза синхронных счетчиков; приобрести практические навыки отработки проектируемых схем как моделированием с использованием САПР, так и макетировани- ем на универсальном лабораторном стенде. ВВЕДЕНИЕ Счетчиком называют последовательностную схему, предназна- ченную для увеличения / уменьшения хранимого кода на единицу или заданную константу. Счетчик часто имеет цепи предваритель- ной установки заданной величины, в частности нуля. Число разре- шенных устойчивых состояний счетчика называют его периодом или модулем М. Сигналы, поступающие на вход счетчика, называ- ют считаемыми. Вход счетчика, на который поступает сигнал, уве- личивающий состояние счетчика на 1, обозначают как «+1»; вход, на который поступает сигнал, уменьшающий состояние счетчика на 1, обозначают как «-1». Из любого i -го состояния под воздейст- вием сигнала «+1» счетчик переходит в состояние (i +1) mod M, а под действием сигнала «-1» — в состояние (i -1) mod M. Схемы счетчиков подразделяются на два класса: синхронные и асинхронные. В синхронных схемах все изменения согласуются по времени с подачей считаемого сигнала на общую шину, объе- диняющую синхронизирующие входы С триггеров счетчика (рис. 4.1(а)). В асинхронном счетчике отсутствует общая шина, на которую поступает считаемый сигнал. На вход С триггеров асинхронного счетчика сигналы могут поступать как с выхода другого триггера, так и от схем, непосредственно не связанных с синхронизирующи- ми импульсами (рис. 4.1(б)). Если для проектирования синхронных счетчиков существуют отработанные методы, то для проектирования асинхронных счет- чиков удобных систематизированных методов нет. Все усложняет- ся тем, что различия во внутреннем строении триггеров проявля- ются именно при асинхронной работе. Поэтому разработчик схем должен иметь совершенно четкое представление о внутреннем строении используемого им типа триггера и не ограничиваться таблицей переходов, которая описывает только синхронную работу триггера.
Рис. 4.1. Двоичный счетчик: а) синхронный, б) асинхронный
Рис. 4.2. Обобщенная схема логической структуры счетчика На рис. 4.2 приведена обобщенная схема логической структуры синхрон- ного счетчика. Из этой схемы можно уяснить принцип работы любого син- хронного счетчика. Сигналы с выходов триггеров по- ступают на входы комбинационной схемы, которая преобразует поступив- шую информацию. Сигналы с выходов комбинационной схемы подаются на логические входы триггеров. Преобра- зованная информация не воспринима- ется триггерами до тех пор, пока на синхронизирующие входы триггеров не поступит считаемый сигнал. Ин- формация, находящаяся на входах ка- ждого триггера, так сформирована комбинационной схемой, чтобы с при- ходом очередного считаемого сигнала осуществить переход счетчика из те- кущего состояния в следующее. Функ- ции возбуждения входов i- го триггера можно записать в виде: E 1(t) = f 1[ Q 1(t), Q 2(t),..., Q n(t)], E 2(t) = f 2[ Q 1(t), Q 2(t),..., Q n(t)].
Значения всех переменных в этих выражениях определены для одного и того же момента времени t. Поэтому функции возбужде- ния триггеров являются переключательными функциями, которым соответствуют комбинационные схемы, формирующие входные сигналы для триггеров. Следовательно, если задан тип триггера, то задача синтеза счетчика заключается в составлении функций возбуждения каждого триггера и минимизации найденных функций в задан- ном базисе. Рассмотрим матрицы переходов триггеров, которые использу- ются при синтезе синхронных схем, в частности, счетчиков.
Матрица переходов триггера Закон функционирования любого триггера можно задать с по- мощью матрицы переходов [1]. Число строк матрицы переходов для любого триггера равно четырем, что определяется числом воз- можных переходов триггера из одного состояния в другое, а коли- чество столбцов — числу логических входов триггера:
Q (t) Q (t + 1) E 1 E 2 ... Em 0 - 0 0 - 1 1 - 0 1 - 1 1 2
01 01
10 10
11 11 ... m
Элемент матрицы i
представляет собой значение входного сигнала Ei, под воздействием которого триггер переходит из состояния Q(t) в состояние Q(t+ 1 ). При этом каждый элемент матрицы может быть равен единице, нулю или являться неопреде- ленным коэффициентом, если значение сигнала на входе не влияет на данный переход триггера. Матрицу переходов триггера составляют по таблице переходов этого триггера.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-27; просмотров: 679; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.14.246.254 (0.052 с.) |