Рачунарски ВЛСИ системи

Slides:



Advertisements
Similar presentations
Индиректна питања користимо када некога љубазно питатмо за информацију, почевши са изразима као нпр.:
Advertisements

1 БЕЗБЕДНОСТ НА РАДУ ПРИ РАДУ СА МОСТОВСКИМ И ДРУГИМ ВРСТАМА ДИЗАЛИЦА.
1 Научни радови - рецензирање - Горан Ненадић School of Computer Science, University of Manchester Математички институт, Београд.
ДАВАЧИ ПОМЕРАЈА 2. Садржај  Синхроуређаји  Разлагачи  Индуктосини  Енкодери  Дифракционе решетке  Двобрзински мерни системи  Двоположајни давачи.
ДАВАЧИ ПРИТИСКА, ПРОТОКА, НИВОА, ГУСТИНЕ, pH ВРЕДНОСТИ, ВЛАЖНОСТИ И ДИМЕНЗИЈА (слике: Д. Станковић “Мерење неелектричних величина електричним путем” и.
КОНКУРС МИНИСТАРСТВА ЗА ТЕЛЕКОМУНИКАЦИЈЕ И ИНФОРМАЦИОНО ДРУШТВО „Дигитални час“ Основна школа “Јован Поповић “ Сусек одељење у Баноштору Аутор: Ђурђица.
Кеш меморијa Приципи рада кеш меморија Величина кеша
Јава - RMI Дизајн симулатора дискретних догађаја опште намене обухвата пројектовање више различитих структурних нивоа. Унутар сваког од структурних нивоа.
Увод у WEB програмирање
Компонента Декларација vs дефиниција. Могу се декларисати у:
ОДРЖАВАЊЕ И ЗАШТИТА СИСТЕМА
Београд, 9. јул Belgrade, July 9th 2013
Промена Устава РС Београд, 21. јул 2017.
учитељица Лала, ОШ "АнтаБогићевић", Лозница
Увод у информатику и рачунарство
Матична Плоча Миле Станковић
Методика наставе рачунарства
Инструменти који могу олакшати примену Уредбе о биоцидним производима
Архитектура рачунарских система
Објектно орјентисано програмирање
38. Серво мотори. Захтеви и примена. ДС серво мотори. АС серво мотори
Референтни модели Поређење референтних модела OSI и TCP/IP
Повторување за струјни кола
Аутори: Славко Марковић Игор Јанковић
Рачунарске мреже Александар Картељ
ОСНОВНИ ЕЛЕМЕНТИ ГРАФИЧКОГ ИНТЕРФЕЈСА
РАЧУНАРСКЕ КОМУНИКАЦИЈЕ
Увод у VHDL.
Field Programmable Gate Array
Field Programmable Gate Array
Рачунарске мреже Александар Картељ
Александра Поповић Александра Настић
Секундарна меморија Типови записа код секундарних меморијских медијума
Рачунарске мреже Александар Картељ
Методика наставе рачунарства
Атрибути сигнала sig’event sig’active sig’last_event sig’last_active
Арбитратор Један ресурс Два корисника.
Коначни аутомати.
Фон-Нојманов модел рачунарског система
Стандарди за заштиту животне средине
DSP Алгоритми и Архитектуре
ДОБРОДОШЛИ У ОШ “БРАНКО РАДИЧЕВИЋ”
Рачунарске мреже Александар Картељ
Програмски језик C Структура програма, типови података,
Увод у VHDL.
РАЧУНАРСТВО ИЗМЕЂУ ПРАКСЕ И ИСТРАЖИВАЊА
ОСНОВИ ИНФОРМАЦИОНИХ ТЕХНОЛОГИЈА
Методика наставе рачунарства
Računarska grafika.
Оперативни системи и рачунарске мреже
Финансијски инструменти
Сабирање и одузимање троцифреног и двоцифреног броја
Оптички систем преноса
Подешавање радног окружења програма Microsoft Word
Рачунарске мреже Александар Картељ
Дистрибуиране базе података
Стандарди за заштиту животне средине
СОФТВЕР.
Објектно орјентисано програмирање
OSI модел OSI референтни модел (Open Systems Interconnection) дели функције мреже на седам мањих, лакше управљивих целина (слојева) Сваки слој дефинише.
Увод у организацију и архитектуру рачунара 2
ОСНОВИ ИНФОРМАЦИОНИХ ТЕХНОЛОГИЈА
Аритметичке и логичке операције
Рачунарски систем.
Микроталасна електроника
Оператор надовезивања
Oрганизација и архитектура рачунара
Архитектура и програмирање микропроцесора Intel 8086 (3)
Глобални барометар корупције 2009
Implementation Technology
Presentation transcript:

Рачунарски ВЛСИ системи

Наставници и сарадници Професор: др Вељко Милутиновић Контакт: vm@etf.rs Асистент Александар Картељ Контакт: kartelj@matf.bg.ac.rs Материјали су у великој мери преузети са ЕТФ-а, а потом прилагођени студентима МАТФ-а.

Оцењивање 4 домаћа задатка: 20+20+10+10 поена Испит – 4 питања – 40 поена

Ресурси Пројектовање и архитектура RISC процесора за VLSI, В. Милутиновић, Наука, Београд, 1994. Увод у пројектовање рачунарских VLSI система, В. Милутиновић, Д. Божанић, Д. Поломчић, М. Алексић, Наука, Београд 1994. Issues In Microprocessor and Multimicroprocessor Systems, В. Милутиновић, 1999. The designer’s guide to VHDL, 3rd edition, P. Ashenden, J. Lewis, Morgan Kaufmann Publishers, 2008. VHDL web симулатор: http://www.edaplayground.com/

Како до финалног производа? Идеја? Како описати идеју? Како од описа добити спецификацију? Како спецификацију имплементирати?

Савремени проблеми моделовања Сувише комплексан дизајн: данашњи FPGA (програмабилно интегрисано коло) и остали чипови имају и преко 2.000.000.000 транзистора Немогуће ручно дизајнирати: по транзистору 10 секунди => за дизајн читавог система потребно 1268 година

Савремени дизајн Заснован на софистицираним алатима: систем се описује на високом нивоу апстракције текстуално или графички алатима за синтезу се добија опис на нижем нивоу апстракције гејтови, транзистори уз помоћ алата, у зависности од технологије, систем се имплементира евентуално неки веома мале критични дијелови се оптимизују ручно

SOC Тренд у развоју: System On a Chip (SОC) читав систем (процесор са потребним периферијама) сместити на један чип компактнији систем једноставнији дизајн остатка система јефтинији систем

Домени моделовања 1/4

Домени моделовања 2/4

Домени моделовања 3/4

Домени моделовања 4/4

Начини уноса дизајна Текстуални довољан обични едитор текста флексибилан могућност описа хардвера и на нивоу алгоритма прегледан погодан за документовање Графички потребни посебни алати није погодан за опис на вишем нивоу апстракције

VHDL VHDL = VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Језик за опис хардвера иницијално креиран за документовање Децембра 1987 стандардизован од стране IEEE (IEEE standard 1076-1987) унапријеђиван касније 1993 – VHDL-93, подржан од већине алата 2002 – VHDL-2002 2008 – VHDL-2008 Независан од технологије израде – спецификација раздвојена од имплементације.

Концепти подржани у VHDL-у Опис интерфејса Опис понашања Опис структуре Тестирање Анализа, елаборација и симулација Синтеза

Опис интерфејса – опис спољно видљиве структуре

Моделовање Architecture body Интерна имплементација ентитета За један ентитет може постојати више архитектура Свака архитектура моделује исти алгоритам рада ентитета на истом нивоу апстракције на различитом нивоу апстракције architecture architecture_name of REG_4 is begin -- implementation of entity ... end architecture architecture_name ;

Пример имплементације reg4 Чека се док не дође до промене сигнала clk Променљиве нису исто што и сигнали Процес је секвенца наредби које се извршавају када се уђе у симулацију система. Након што се изврше све наредбе процеса, поново се извшава цео поново. Ако је en сигнал висок

Шема претходног понашања IF clk = 1 & enable =1 Ažuriraj stanje registra Čekaj na novu promenu ulaznog signala

Променљиве и сигнали Додела вредности сигналима је паралелна, и немамо контролу над редоследом. Овде нпр. ће b узети вредност a пре него што се сигналу a dodeli вредност. Променљиве добијају вредност секвенцијално, тако да ће a i b добити вредност ‘11111’

Моделовање понашања Behavioral architecture садржи алгоритам по којем модул ради садржи: процесе, који садрже секвенцијалне изразе, укључујући доделе вредности сигналу изразе чекања (wait statements)

Синтетизован модел Синтеза је процес у којем се од описа дигиталног кола на вишем нивоу апстракције добија опис на нижем нивоу погодном и оптимизованом за конкретну имплементацију

Моделовање структуре Опис модела као скупа подсистема повезаних на одговарајући начин. Садржи: декларације сигнала портови су такође сигнали ка окружењу инстанце компоненти инстанце претходно дефинисаних парова ентитета и архитектура везе портова и сигнала (port maps)

Дигитална логика (DL) - материјали Основна логичка кола: http://www.facstaff.bucknell.edu/mastascu/elessonshtml/Logic/Logic1.html Флип-флоп: http://www.facstaff.bucknell.edu/mastascu/elessonshtml/Logic/Logic4.html Д – флип-флоп: http://hyperphysics.phyastr.gsu.edu/hbase/electronic/dflipflop.html

Youtube материјали DL+VHDL http://www.youtube.com/watch?v=TyB1jFj5hQ8 http://www.youtube.com/watch?v=Kd-QyX1OPiU http://www.youtube.com/watch?v=7N9mygI3A5o http://www.youtube.com/watch?v=25BA8QCAHnY http://www.youtube.com/watch?v=Rl1RloSLg_M http://www.youtube.com/watch?v=vIG0w5LiOHw http://www.youtube.com/watch?v=9yNoQrp20ME http://www.youtube.com/watch?v=S6ywDlUKQvM http://www.youtube.com/watch?v=pQ3MfzqGlrc

Пример моделовања структуре

Пример моделовања структуре architecture structural of REG_4 is signal gated_clk : bit; begin G1: entity work.and2(vital) port map ( Clk, Enable, gated_clk ); U1: entity work.dff(vital) port map ( D0, gated_clk, Dout0 ); U2: entity work.dff(vital) port map ( D1, gated_clk, Dout1 ); U3: entity work.dff(vital) port map ( D2, gated_clk, Dout2 ); U4: entity work.dff(vital) port map ( D3, gated_clk, Dout3 ); end architecture structural ;

Синтетизован структурни модел

Комбинација моделовања структуре и понашања Архитектура може садржати и један и други модел Пример: RTL (Register Transfer Level) модел ток података (datapath) приказан структурно контрола приказана описно

Пример комбинованог моделовања структуре и понашања

Пример комбинованог моделовања структуре и понашања

Пример комбинованог моделовања структуре и понашања

Тестирање Пре фабрикације, сва тестирања се обављају симулацијом Користи се Test bench модел: ентитет без портова архитектура која садржи модел који се тестира и додатне процесе/ентитете који: генеришу тест векторе који се доводе на улаз тестираног кола контролишу исправност излазних сигнала (уколико се провера врши аутоматизовано Провера исправности излазних сигнала може да се ради и ручно коришћењем симулатора

Пример test bench-a

Регресивно тестирање Потребно је потврдити исправност каснијег дизајна на нижем нивоу структурни модел на ниском нивоу апстракције треба да даје исте резултате као и функционални модел на вишем нивоу апстракције Test bench садржи две инстанце које се тестирају структурни и функционални модел оба модела се паралелно симулирају са истим улазним тест векторима пореде се резултати на излазу Потребно је водити рачуна о времену функционални модел лако може да превиди одређена кашњења која су последица структуре модела

Пример test bench-a за регресивно тестирање

Пример test bench-a за регресивно тестирање

Од модела до симулације Анализа Елаборација Симулација

Анализа Провера да ли постоје синтаксне грешке Анализа сваке јединице засебно пожељно да свака јединица буде у посебном фајлу Када се заврши са анализом јединице се смјештају у библиотеке текућа (радна) библиотека се назива work

Елаборација Ажурира хијерархију дизајна креира портове креира сигнале и процесе унутар тела архитектуре за сваку инстанцу компоненте копира декларације и тело ентитета понавља се рекурзивно док се не разреше сви нивои хијерархије Резултат елаборације је “равна (flat)” колекција сигнала и процеса

Симулација Извршавање елаборираног модела Време симулације се повећава у дискретним корацима Догађај (event) – када сигнал промени вредност Процеси: се активирају догађајима на улазним сигналима који су наведени у wait изразима постављају нове вредности излазним сигналима постављају трансакције – дефинише временске тренутке у којима ће се поставити вредност сигнала ако се нова вредност сигнала разликује од претходне поново имамо догађај

Иницијализације симулације сваком сигналу се додељује почетна вредност време симулације се поставља на 0 сваки процес се: активира извршава док не наиђе на wait израз (или крај процеса уколико процес има листу сигнала на које је осјетљив), када се суспендује извршавање најчешће генерише нове трансакције сигнала за наредне временске тренутке

Симулациони циклус увећава се време симулације до следеће трансакције за сваку трансакцију се у овом тренутку: ажурира вредност сигнала ако је вредност сигнала промењена - догађај сваки процес осјетљив на неки од сигнала на којем се догодио догађај, или они код којих је време у “wait for...” изразима истекло се: активира извршава док не наиђе на wait израз или ако има листу осетљивости на одређене сигнале, док не дође до краја, када се суспендује Симулација се завршава када нема више трансакција

Шта ако је кашњење логичких кола 0s? Пример симулације 0 5 10 15 20 25 30 35 А B C D Шта ако је кашњење логичких кола 0s? E D 0@5ns D 1@10ns D 0@15ns D 0@20ns D 1@25ns E U@5ns E 0@10ns E 1@15ns E 0@20ns E 0@25ns E 1@30ns ПП: Логичка кола имају кашњење од 5ns

Делта време Омогућава да се сигнали исправно израчунају пре него што се "реално" време или време симулације увећа Процес не види ефекте промене вредности сигнала све док се не активира следећи пут, чак и ако је то у истом симулационом тренутку => Кашњење од 0 fs се назива делта кашњење На овај начин практично добијамо две димензије времена

Две димензије времена

Синтеза Преводи, најчешће RTL, модел у нет листу на нивоу логичких кола Узрокује ограничења у начину писања VHDL кода Зависи од коришћеног алата

Ток процеса дизајнирања (Xilinx)

ASIC ASIC = Application Specific Integrated Circuit Специјално дизајниран за конкретну апликацију. Описан у неком HDL језику. Верификован коришћењем симулатора. Синтетизован коришћењем неког алата за синтезу. Имплементиран у FPGA, Standard Cell, Gate Array или Full Custom технологији Повезан са окружењем преко стандардизованих протокола и електричних интерфејса.

FPGA Field Programmable Gate Arrays

Шта је конфигурабилно? CLB IOB Везе између CLB LUT интерно повезивање IOB Везе између CLB Наменске компоненте на чипу множачи меморија контрола такта

Пример: Cyclone II

FPGA – предности и мане Предности Мане релативно јефтини велики капацитет могућност репрограмирања чак када је производ испоручен кратко време развоја Мане мањи капацитет и брзина у односу на интегрисана кола потребни софистицирани алати

FPGA – предности и мане Карактеристика FPGA Full-Custom Време развоја Кратко Дуго Цена производа (у великом серијама) Висока Ниска Могућност измене након фабрикације Могуће Немогуће Перформансе Средње Веома високе Густина паковања Средња Веома висока Потрошња енергије Минимална величина серије Нула Велика Комплексност дизајна Комплексност тестирања Време за исправку грешке Сати Месеци

CLB Configurable Logic Block Могуће формирати произвољну логичку функцију Синхрон или асинхрон излаз Континуални излаз или са сигналом дозволе

CLB - варијанте У зависности од конкретног чипа мења се: број и величина лут табеле број и врста меморијских елемената интерна комбинациона логика (могућност интерног повезивања) додатне функционалности

LUT Look-Up Table 1 битна меморија улази су везани на адресне линије излаз је садржај меморије са адресе описане текућим вредностима на улазу фиксно кашњење

Имплементација логичких функција Претпоставка: n-улазни CLB Функције се рашчлањују на n-улазне функције Свака n-улазна функција се мапира на један CLB Повезивањем CLB-ова се формира тражена функција

Cyclone II LE Два режима рада: нормални аритметички

Cyclone II LE – нормални мод

Cyclone II LE – аритметички мод

Повезивање 2Д матрица жица које у пресеку имају конфигурабилне везе (два слајда напред) Због ефикаснијег повезивања веома често постоји више типова веза: оне које повезују суседне елементе оне које повезују прве несуседне елементе, оне које повезују сваких n-ти, где је n цeо број већи од 2. крајње елементе ...

Повезивање

Конфигурабилне везе

LAB и везе LAB - Logic Array Block

LAB контролни сигнали

IOB Један блок по пину Могућност конфигурације: смер: синхронизација: улазни излазни бидирекциони синхронизација: директни синхрон са сигналом такта низ других могућности( pull-up, pull-down отпорници...)

Пример: Cyclone II

Пар напомена VHDL личи на Pascal и Adu Jезици за опис хардвера нису програмски језици У FPGA не постоји микропроцесор који би извршавао VHDL код алати за синтезу на основу описа припремају опис на нижем нивоу фајл који се на крају добије, спушта се у FPGA и на тај начин се постиже конфигурација чипа За синтезу се користи само подскуп читавог језика

Фабрикација Чип се прави од полупроводника Најчешће силицијум Кристална решетка силицијума је слаб проводник Додају се други елементи Група V (n-тип) Група III (p-тип)

P-N Спој Диода Струја може да тече у једном смеру

nMOS транзистор metal – oxide – semiconductor (MOS)

pMOS транзистор metal – oxide – semiconductor (MOS)

Инвертор CMOS

Инвертор Полупроводник са мало несилицијумових атома, у контакту са напајањем или нулом преко метала прави Шотки диоду

Маске Транзистори и жице се праве помоћу маски

Маске Шест маски n-well Polysilicon n+ diffusion p+ diffusion Contact Metal

Кораци у фабрикацији Почне се са празним вафером Инвертер се прави од дна ка врху Направи се p-substrate Први корак формирати n-well Постави се заштита SiO2 Уклони се део заштите тамо где ће бити n-well Убризгати n атоме у вафер Скинути заштиту

Оксидација Угрејати вафер у присуству кисеоника

Photoresist Нанети photoresist Омекша кад се изложи на светлост

Литографија Изложити photoresist кроз n-well маску

Скидање оксида Неорганска киселина (HF) Органски полимер не реагује са неорганском киселином

Уклањање Photoresist-а Обавезно Коришћењем неке органске киселине

n-well n-well се формира дифузијом или имплементацијом јона

Скидање оксида Уклањање оксида неорганском киселином

N-дифузија Обликовати оксид и направити n+ регионе

N-дифузија Убацити атоме

N-дифузија Уклонити оксид

Контакти Потребно да се повежу разлити уређаји Покрити чип са танким слојем оксида Скинути оксид где су потребни контакти

Метализација Ставити алуминијум преко целог вафер