Лекция 1 - Программируемые логические интегральные схемы (Слайды лекций)
Описание файла
Файл "Лекция 1 - Программируемые логические интегральные схемы" внутри архива находится в папке "Слайды лекций". PDF-файл из архива "Слайды лекций", который расположен в категории "". Всё это находится в предмете "программируемые логические интегральные схемы" из 8 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Лекция 1Программируемые логическиеинтегральные схемыОсень 2016План лекции• Программируемые логическиеинтегральные схемы (ПЛИС).• Устройство ПЛИС DE0-Nano компанииAltera.• Уровни абстракции при проектированииПЛИС• Маршрут проектирования ПЛИС• Языки описания схем• Базовые концепции языка VerilogПрограммируемая логическаяинтегральная схема• Программируемая интегральная схема (ПЛИС, англ.Programmable logic device, PLD) – электронныйкомпонент, используемый длясоздания цифровых интегральных схем, логика работыкоторого не определяется при изготовлении, а задаётсяпосредством программирования (проектирования).• Для программирования используются программатори IDE (среда разработки), позволяющие задать желаемуюструктуру цифрового устройства в видепринципиальной электрической схемы или наборамодулей на специальных языках описанияаппаратуры: Verilog, VHDL, и др.Классификация ПЛИС• Основные типы ПЛИС:– Programmable array logic(PAL)– Gate array logic (GAL)– Complex programmablelogic device (CPLD)– Field-programmable gatearray (FPGA)• ПЛИС различают потехнологиипроизводства ивозможностиперепрограммированияМатричные ПЛИС (FPGA)• Программируемаяпользователем вентильнаяматрица (FPGA) –специальный вид ПЛИС,который может бытьперепрограммированпользователем.• Основныепрограммируемыекомпоненты:– программируемыелогические блоки;– блоки ввода и вывода;– Коммутация междуэлементами.Программируемые логические блокиТопология матричных ПЛИСУстройство ПЛИС DE0-NanoУстройство логических блоковЛогический блок в комбинационномрежимеЛогический блок в арифметическомрежимеМассивы логических блоков итрассировочные ресурсы ПЛИССтруктура блоков DE0-NanoПериферия DE0-NanoПериферия DE0-NanoПериферия DE0-NanoУровни абстракции припроектировании цифровых СБИССистемный уровеньΣАвтоматный (поведенческий) уровеньзϕЛогический (схемный) уровеньТранзисторный уровеньУровень топологииСистемный уровеньСистемный уровень• Моделирование системывзаимодействующих процессов/сигналов• Подходы к моделированию:– взаимодействие систем/компонент системы– система команд(instruction set simulation)– микроархитектура– использование языков описания аппаратуры(Verilog, SystemVerilog, SystemC)Поведенческий уровеньab cinFull Adder`timescale 1ns / 1psmodule FullAdder (input a,input b,input cin,output s,output cout );assign {cout,s} = a + b + cin;scoutendmoduleПоведенческий уровень• Моделированиеповедения/функционированияпроцесса/сигнала• Подходы к моделированию:– использование языков описания аппаратуры(Verilog, VHDL)– register-transfer level (RTL)– использование автоматов и другихматематических моделейЛогический (схемный) уровень`timescale 1ns / 1psmodule FullAdder (input a,input b,input cin,output s,output cout );// wires (from ands to or)wire w1, w2, w3;// carry-out circuitryand( w1, a, b );and( w2, a, cin );and( w3, b, cin );or( cout, w1, w2, w3 );// sumxor( s, a, b, cin );endmoduleЛогический (схемный) уровень• Моделирование структуры и основныхэлементов блока, реализующего заданныйпроцесс/сигнал• Подходы к моделированию:– использование языков описания аппаратуры(Verilog, VHDL)– netlist, gate-level design– математические модели схем• схемы из функциональных элементов (СФЭ) и ихобобщения• And-Inverter Graphs (AIG)• Binary Decision Diagrams (BDD)• и др.Транзисторный уровеньТранзисторный уровень• Моделирование структуры основныхлогических элементов интегральной схемы• Определение/оценка основных физическиххарактеристик логических элементов (размер,задержка, энергопотребление и др.)• Подходы к моделированию:– использование различных транзисторных моделейсхем– имитационной моделирование– SPICE моделированиеУровень топологииУровень топологии• Моделирование топологии (структуры игеометрии всех слоев) проектируемогоустройства• Основные задачи:– Design Rule Check (DRC)– Layout vs Schematics (LVS)– Оптимизация топологии и повышение выходагодных• Optical Proximity Correction(OPC)• Double/Triple patterningКомбинационная и последовательнаялогикаУпрощенный маршрутпроектированияСпецификация системыENTITY test isport a: in bit;end ENTITY test;Проектирование архитектурыФункциональное проектированиеФункциональное проектированиеЛогическое проектированиеФизическое проектированиеПрограммирование ПЛИСЯзыки описания аппаратногообеспечения• Hardware Description Language (HDL) – языкописания структуры и функционированияаппаратного обеспечения цифровой системына различных уровнях абстракции.• Основные HDL:–––––VerilogSystemVerilogVHDLSystemC...• http://en.wikipedia.org/wiki/Hardware_description_languageСтили разработки аппаратногообеспечения• Снизу-вверх– Сначала отдельно проектируются базовыеэлементы, а потом из простых элементовпроектируются (собираются) более сложныеэлементы.• Сверху-вниз– Сначала проектируются системы болеевысокого уровня, а потом рекурсивнопроектируются их компоненты более низкогоуровня.Основные уровни абстракцииаппаратного обеспечения• Поведенческий уровень (Behavioral Level)– Описание устройства при помощи наборапоследовательных алгоритмов, работающиходновременно и согласованно.• Уровень регистровых передач (Register-Transfer Level)– Описание устройства при помощи заданного набораопераций преобразования значений, хранящихся врегистрах.
По сути устройство описывается в видеиерархии взаимосвязанных автоматов.• Схемный (функциональный) уровень (Gate Level)– Описание устройства при помощи схемы изфункциональных элементов в заданной библиотекеэлементов.Язык Verilog – Hello world!Пример моделирования на языкеVerilog – 4-х битовый счетчик• Входы– Clock – вход тактового генератора– Reset – сброс значения счетчика(сброс при «1»)– Enable – включение счетчика (при«1» счетчик работает)• Выходы– Counter_out – значение счетчика• Функция– Счетчик увеличивается на 1-цу закаждый «такт» тактовогогенератораПример моделирования на языкеVerilog – 4-х битовый счетчикПример моделирования на языкеVerilog – 4-х битовый счетчикЯзык Verilog - модули• Основные строительныеблоки аппаратного описанияна языке Verilog• Описание представляетсобой вложенную иерархиюмодулей• Инстанцирование модулейЯзык Verilog – объявление иинстанцирование модулейЯзык Verilog - сети• Сети позволяют хранить и передаватьсигналы между модулями.• Основные типы сетей:– Провода (wire)– Регистры (reg)• Провода могут иметь ветвление• Провода можно объединять в шиныЯзык Verilog – сетиЯзык Verilog - порты• Порты задают входы и выходы модулей– input, output, inout• Связывают модули с сетями• Все модули имеют порты (кроме модулейверхнего уровня иерархии)• Явная (by name) и неявная (by order)«привязка» портовЯзык Verilog – объявление портов.