4 Основы построения схем - комбинационная логика, последовательная логика, защёлки и триггеры (1162614)
Текст из файла
Программируемые логическиеинтегральные схемы(спецкурс)2017, весенний семестрЧем будем заниматься?Учиться разрабатывать схемы, управляющие аппаратуройУправление происходит выставлением значений● 0 (низкий уровень напряжения) и● 1 (высокий уровень напряжения)в реальном времени в нужных проводахПример: счётчик чётности для события “сигнал in изменяется с 0 на 1”in – входной сигналнапример, поступающий с кнопки, включающей и выключающей лампочкуparity – выходной сигнал, вырабатываемый схемойнапример, управляющий цепью подачи напряжения на лампочкуОсновные примитивы схемКомбинационные элементыКак это было в СФЭКак это выглядит в комбинационных схемах&V+–––Как это работаетОсновные примитивы схемКомбинационные элементы можно соединять в комбинационные схемы так же,как и функциональные элементы в СФЭx[0]x[1]y[0]y[1]z[0]z[1]z[2]Основные примитивы схемЛогически целостные части проектируемой схемыобразуют модули (“чёрные ящики”)на более высоком уровне абстракции при проектированииx[0]z[0]x[1]Входы модуляSUMy[0]z[1]Выходы модуляz[2]y[1]Часто на входах и выходах модулей располагаются структуры,представляющие собой массивы (здесь принято говорить “шины”) данных(например, здесь – три шины, содержащие двоичные записи чисел x, y, z)Основные примитивы схемЛогически целостные части проектируемой схемыобразуют модули (“чёрные ящики”)на более высоком уровне абстракции при проектированииx232Входы модуляySUMzВыход модуляЧасто на входах и выходах модулей располагаются структуры,представляющие собой массивы (здесь принято говорить “шины”) данных(например, здесь – три шины, содержащие двоичные записи чисел x, y, z)Для обозначения шин данных используется особая графическая нотацияОсновные примитивы схемRS-защёлка(или RS-триггер)(set)S(reset)ROutОсновные примитивы схемRS-защёлка(или RS-триггер)SOutRS-latchRОсновные примитивы схемТактовый сигналПередние фронты сигналаЗадние фронты сигналаОсновные примитивы схемD-защёлка(delayed input)DSOutRS-latchCLKROutОсновные примитивы схемD-защёлкаDOutD-latchCLKОсновные примитивы схемD-триггерDCLKD-latchD-latchOutОсновные примитивы схемD-триггерDOutD-flip-flopCLKЭтот треугольник означает, что модуль реагирует на фронт сигналаОсновные примитивы схемDD-flip-flopOutCLKD-триггер – это наиболее часто встречающаяся реализация ячейки памяти в схемеЕсли попытаться коротко описать работу D-триггера с учётом знаний, имеющихсяиз курса “Дискретная математика”, то описание выйдет такое:D-триггер – это “реальная” схема, дискретной моделью которой являетсяэлемент единичной задержки в СФЭЗЕдинственное функциональное отличие D-триггера от элемента задержкисостоит в том, что абстрактное дискретное время заменяетсяна дискретный подсчёт передних фронтов реального тактового сигналаОсновные примитивы схемDD-flip-flopOutCLK“Реальный” аналог СФЭ - этокомбинационная схема(более точно, это “реальная” схема без памяти:в каждый момент времени выходы зависяттолько от входов в тот же момент времени)“Реальный” аналог СФЭЗ - этопоследовательная схема(более точно, это “реальная” схема памятью)А что такое “тот же момент времени”?Основные примитивы схемDD-flip-flopOutCLKА какое значение выдаётся на выход D-триггерадо самого первого переднего фронта тактового сигнала?0DOut?0CLKЧтобы логические элементы заработали как надо, на них должно быть подано напряжениеВ зависимости от того, в каком порядке подавалось напряжениеи как элементы реагировали на “плохие” напряжения,в конечном итоге на выходе до первого фронта CLK может оказаться любое значениеБолее того, в реальных схемах память вряд ли будет реализована именно такОсновные примитивы схемD-триггер со сбросомDD-flip-flopOutCLKRSTЧтобы исключить неопределённость начального значения выхода триггера,проектировщики схем часто вводят два сигнала синхронизации в схеме:● тактовый сигнал (CLK)● сигнал сброса (RST)По переднему фронту сигнала сброса D-триггер со сбросом запоминаети выдаёт на выход значение “0”Сигнал сброса, как и тактовый сигнал, может быть подан на все элементы памяти схемы,и в момент сброса схема может считаться полностью инициализированнойЕщё о тактовом сигналеА что такого особенного в тактовом сигнале?На самом деле тактовый сигнал – это точно такой же сигнал, как и все остальныеИначе говоря, любой сигнал может выступать в роли тактовогоОбычно сигнал называют тактовым, если с его помощью синхронизируется работанескольких концептуально независимых частей схемы(как правило, с помощью подсчёта передних фронтов)Правило хорошего тона:стараться выдерживать заданную частоту осцилляции тактового сигналаНо по большому счёту, даже такой сигнал можно считать тактовым,если мы с его помощью синхронизируем разные части схемы:Пример: двухбитовый счётчикclock2CounterresetoutПример: двухбитовый счётчикout[0]D-flip-flopout[1]D-flip-flopСигнал CLK и сигнал RST, направленные на входы обоих триггеров,опущены для повышения читаемости схемыПример: двухбитовый счётчикКак это выглядит на платеТребования по технике ипрограммамПо желанию можем попробовать организовать работу с платами в компьютерном классеЕсли захотите учиться писать схемы самостоятельно, то вам понадобятся:●Quartus Prime software Lite edition (включая ModelSim)для работы непосредственно с платой DE0-Nanoможно скачать с сайта altera.com●Icarus Verilogдля более быстрой работы со схемами, когда под рукой нет платылюбая система: скачать с сайта iverilog.icarus.comLinux: поставить пакет iverilog из официального репозитория●GtkWaveдля удобной визуализации сигналов при работе с Icarus Verilogлюбая система: скачать с сайта gtkwave.sourceforge.netLinux: поставить пакет gtkwave из официального репозиторияНекоторые полезные ресурсыmk.cs.msu.ru → Спецкурсы → Программируемые логические интегральные схемыЭто страница курса, на ней будет много всего полезного,и в частности, выложены слайды, по которым рассказываласьпервая часть спецкурса в осеннем семестре(в текущей второй части некоторые моменты будут повторяться)mk.cs.msu.ru → Семинары →Практикум по пакетам проектированиясверхбольших интегральных схем (осенний семестр 2016 года)Это страница практикума для магистров второго года обучения,на основе которого создавался эта упрощённая версия: спецкурсasic-world.comЭто ресурс, на котором некоторые проектировщики схемвыкладывают пояснения и инструкции по всему, по чему только можно(в частности, доходчиво объясняют всё про Verilog)edaplayground.comНекоторые студенты,не желающие настраивать у себя на компьютере нужные программы,были замечены разрабатывающими схемы в web-интерфейсе этого сайтаКак это всё выглядит в VerilogСинтаксис языка Verilog описан в слайдах на страницах спецкурса и практикумаДомашнее задание:● поставить Quartus, Icarus Verilog и GtkWave● посмотреть в слайды с синтаксисом языка Verilog настраницах спецкурса и практикума и разобраться в том, какустроен Verilog● чтобы проверить своё понимание синтаксиса, можнопопытаться написать модуль с однобитовыми входами x1, x2и выходом o, считающий чётность числа событий “сигнал x1переключился и совпал с сигналом x2” и выслать решение напочту● (по желанию) можно попробовать получить осцилограммы,однако про симуляцию и их получение скорее всего будетодно из дальшейших занятий.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.