Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Проектирование триггерных схем на VHDLСодержание книги
Поиск на нашем сайте
В вариантах домашнего задания необходимо спроектировать на VHDL синхронный триггер с динамическим управлением записью по фронту 0/1 или 1/0 с входом предварительной (асинхронной или синхронной) установки триггера или в 0, или в 1. Последнее усло- вие обусловлено тем, что библиотечные компоненты ПЛИС, в ко- торые синтезатор выполняет отображение VHDL-описание схемы, не используют асинхронный сброс и установку триггера, а исполь- зуют только или сброс, или установку. Средства VHDL, используемые для описания поведения тригге- ра, зависят от того, как разработчик представляет алгоритм его функционирования. Если в распоряжении разработчика имеется система уравнений, по которой построена структура триггера (см. раздел «Построение синхронных триггеров с динамическим управлением записью»), то его описание на языке VHDL может быть выполнено с использова- нием логических операторов и сигнального оператора присваива- ния (листинг 3.1).
Листинг 3.1. Описание триггера по уравнениям
Данное описание требует наличия системы уравнений, описы- вающих структуру триггера, получение которых сопряжено с вы- полнением достаточно сложных процедур. Но закон функциониро- вания триггера можно задать в более простой алгоритмической форме.
Рис. 3.26. Две формы таблицы переходов триггера
Затем выполним запись функции по 1 с последующим её упро- щением. В результате получим следующее характеристическое уравнение триггера:
Алгоритм функционирования триггера с использованием ха- рактеристического уравнения можно представить, как показано на рис. 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; просмотров: 844; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.007 с.) |