Лекция 1 - Программируемые логические интегральные схемы (1162605)
Текст из файла
Лекция 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 – объявление портов.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.