Download presentation
Presentation is loading. Please wait.
1
Рачунарски ВЛСИ системи
2
Наставници и сарадници
Професор: др Вељко Милутиновић Контакт: Асистент Александар Картељ Контакт: Материјали су у великој мери преузети са ЕТФ-а, а потом прилагођени студентима МАТФ-а.
3
Оцењивање 4 домаћа задатка: 20+20+10+10 поена
Испит – 4 питања – 40 поена
4
Ресурси Пројектовање и архитектура 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 симулатор:
5
Како до финалног производа?
Идеја? Како описати идеју? Како од описа добити спецификацију? Како спецификацију имплементирати?
6
Савремени проблеми моделовања
Сувише комплексан дизајн: данашњи FPGA (програмабилно интегрисано коло) и остали чипови имају и преко транзистора Немогуће ручно дизајнирати: по транзистору 10 секунди => за дизајн читавог система потребно 1268 година
7
Савремени дизајн Заснован на софистицираним алатима:
систем се описује на високом нивоу апстракције текстуално или графички алатима за синтезу се добија опис на нижем нивоу апстракције гејтови, транзистори уз помоћ алата, у зависности од технологије, систем се имплементира евентуално неки веома мале критични дијелови се оптимизују ручно
8
SOC Тренд у развоју: System On a Chip (SОC)
читав систем (процесор са потребним периферијама) сместити на један чип компактнији систем једноставнији дизајн остатка система јефтинији систем
9
Домени моделовања 1/4
10
Домени моделовања 2/4
11
Домени моделовања 3/4
12
Домени моделовања 4/4
13
Начини уноса дизајна Текстуални довољан обични едитор текста
флексибилан могућност описа хардвера и на нивоу алгоритма прегледан погодан за документовање Графички потребни посебни алати није погодан за опис на вишем нивоу апстракције
14
VHDL VHDL = VHSIC Hardware Description Language
VHSIC = Very High Speed Integrated Circuit Језик за опис хардвера иницијално креиран за документовање Децембра 1987 стандардизован од стране IEEE (IEEE standard ) унапријеђиван касније 1993 – VHDL-93, подржан од већине алата 2002 – VHDL-2002 2008 – VHDL-2008 Независан од технологије израде – спецификација раздвојена од имплементације.
15
Концепти подржани у VHDL-у
Опис интерфејса Опис понашања Опис структуре Тестирање Анализа, елаборација и симулација Синтеза
16
Опис интерфејса – опис спољно видљиве структуре
17
Моделовање Architecture body Интерна имплементација ентитета
За један ентитет може постојати више архитектура Свака архитектура моделује исти алгоритам рада ентитета на истом нивоу апстракције на различитом нивоу апстракције architecture architecture_name of REG_4 is begin -- implementation of entity ... end architecture architecture_name ;
18
Пример имплементације reg4
Чека се док не дође до промене сигнала clk Променљиве нису исто што и сигнали Процес је секвенца наредби које се извршавају када се уђе у симулацију система. Након што се изврше све наредбе процеса, поново се извшава цео поново. Ако је en сигнал висок
19
Шема претходног понашања
IF clk = 1 & enable =1 Ažuriraj stanje registra Čekaj na novu promenu ulaznog signala
20
Променљиве и сигнали Додела вредности сигналима
је паралелна, и немамо контролу над редоследом. Овде нпр. ће b узети вредност a пре него што се сигналу a dodeli вредност. Променљиве добијају вредност секвенцијално, тако да ће a i b добити вредност ‘11111’
21
Моделовање понашања Behavioral architecture
садржи алгоритам по којем модул ради садржи: процесе, који садрже секвенцијалне изразе, укључујући доделе вредности сигналу изразе чекања (wait statements)
22
Синтетизован модел Синтеза је процес у којем се од описа дигиталног кола на вишем нивоу апстракције добија опис на нижем нивоу погодном и оптимизованом за конкретну имплементацију
23
Моделовање структуре Опис модела као скупа подсистема повезаних на одговарајући начин. Садржи: декларације сигнала портови су такође сигнали ка окружењу инстанце компоненти инстанце претходно дефинисаних парова ентитета и архитектура везе портова и сигнала (port maps)
24
Дигитална логика (DL) - материјали
Основна логичка кола: Флип-флоп: Д – флип-флоп:
25
Youtube материјали DL+VHDL
26
Пример моделовања структуре
27
Пример моделовања структуре
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 ;
28
Синтетизован структурни модел
29
Комбинација моделовања структуре и понашања
Архитектура може садржати и један и други модел Пример: RTL (Register Transfer Level) модел ток података (datapath) приказан структурно контрола приказана описно
30
Пример комбинованог моделовања структуре и понашања
31
Пример комбинованог моделовања структуре и понашања
32
Пример комбинованог моделовања структуре и понашања
33
Тестирање Пре фабрикације, сва тестирања се обављају симулацијом
Користи се Test bench модел: ентитет без портова архитектура која садржи модел који се тестира и додатне процесе/ентитете који: генеришу тест векторе који се доводе на улаз тестираног кола контролишу исправност излазних сигнала (уколико се провера врши аутоматизовано Провера исправности излазних сигнала може да се ради и ручно коришћењем симулатора
34
Пример test bench-a
35
Регресивно тестирање Потребно је потврдити исправност каснијег дизајна на нижем нивоу структурни модел на ниском нивоу апстракције треба да даје исте резултате као и функционални модел на вишем нивоу апстракције Test bench садржи две инстанце које се тестирају структурни и функционални модел оба модела се паралелно симулирају са истим улазним тест векторима пореде се резултати на излазу Потребно је водити рачуна о времену функционални модел лако може да превиди одређена кашњења која су последица структуре модела
36
Пример test bench-a за регресивно тестирање
37
Пример test bench-a за регресивно тестирање
38
Од модела до симулације
Анализа Елаборација Симулација
39
Анализа Провера да ли постоје синтаксне грешке
Анализа сваке јединице засебно пожељно да свака јединица буде у посебном фајлу Када се заврши са анализом јединице се смјештају у библиотеке текућа (радна) библиотека се назива work
40
Елаборација Ажурира хијерархију дизајна
креира портове креира сигнале и процесе унутар тела архитектуре за сваку инстанцу компоненте копира декларације и тело ентитета понавља се рекурзивно док се не разреше сви нивои хијерархије Резултат елаборације је “равна (flat)” колекција сигнала и процеса
41
Симулација Извршавање елаборираног модела
Време симулације се повећава у дискретним корацима Догађај (event) – када сигнал промени вредност Процеси: се активирају догађајима на улазним сигналима који су наведени у wait изразима постављају нове вредности излазним сигналима постављају трансакције – дефинише временске тренутке у којима ће се поставити вредност сигнала ако се нова вредност сигнала разликује од претходне поново имамо догађај
42
Иницијализације симулације
сваком сигналу се додељује почетна вредност време симулације се поставља на 0 сваки процес се: активира извршава док не наиђе на wait израз (или крај процеса уколико процес има листу сигнала на које је осјетљив), када се суспендује извршавање најчешће генерише нове трансакције сигнала за наредне временске тренутке
43
Симулациони циклус увећава се време симулације до следеће трансакције
за сваку трансакцију се у овом тренутку: ажурира вредност сигнала ако је вредност сигнала промењена - догађај сваки процес осјетљив на неки од сигнала на којем се догодио догађај, или они код којих је време у “wait for...” изразима истекло се: активира извршава док не наиђе на wait израз или ако има листу осетљивости на одређене сигнале, док не дође до краја, када се суспендује Симулација се завршава када нема више трансакција
44
Шта ако је кашњење логичких кола 0s?
Пример симулације А B C D Шта ако је кашњење логичких кола 0s? E D D D D D E E E E E E ПП: Логичка кола имају кашњење од 5ns
45
Делта време Омогућава да се сигнали исправно израчунају пре него што се "реално" време или време симулације увећа Процес не види ефекте промене вредности сигнала све док се не активира следећи пут, чак и ако је то у истом симулационом тренутку => Кашњење од 0 fs се назива делта кашњење На овај начин практично добијамо две димензије времена
46
Две димензије времена
47
Синтеза Преводи, најчешће RTL, модел у нет листу на нивоу логичких кола Узрокује ограничења у начину писања VHDL кода Зависи од коришћеног алата
48
Ток процеса дизајнирања (Xilinx)
49
ASIC ASIC = Application Specific Integrated Circuit
Специјално дизајниран за конкретну апликацију. Описан у неком HDL језику. Верификован коришћењем симулатора. Синтетизован коришћењем неког алата за синтезу. Имплементиран у FPGA, Standard Cell, Gate Array или Full Custom технологији Повезан са окружењем преко стандардизованих протокола и електричних интерфејса.
50
FPGA Field Programmable Gate Arrays
51
Шта је конфигурабилно? CLB IOB Везе између CLB
LUT интерно повезивање IOB Везе између CLB Наменске компоненте на чипу множачи меморија контрола такта
52
Пример: Cyclone II
53
FPGA – предности и мане Предности Мане релативно јефтини
велики капацитет могућност репрограмирања чак када је производ испоручен кратко време развоја Мане мањи капацитет и брзина у односу на интегрисана кола потребни софистицирани алати
54
FPGA – предности и мане Карактеристика FPGA Full-Custom Време развоја
Кратко Дуго Цена производа (у великом серијама) Висока Ниска Могућност измене након фабрикације Могуће Немогуће Перформансе Средње Веома високе Густина паковања Средња Веома висока Потрошња енергије Минимална величина серије Нула Велика Комплексност дизајна Комплексност тестирања Време за исправку грешке Сати Месеци
55
CLB Configurable Logic Block
Могуће формирати произвољну логичку функцију Синхрон или асинхрон излаз Континуални излаз или са сигналом дозволе
56
CLB - варијанте У зависности од конкретног чипа мења се:
број и величина лут табеле број и врста меморијских елемената интерна комбинациона логика (могућност интерног повезивања) додатне функционалности
57
LUT Look-Up Table 1 битна меморија улази су везани на адресне линије
излаз је садржај меморије са адресе описане текућим вредностима на улазу фиксно кашњење
58
Имплементација логичких функција
Претпоставка: n-улазни CLB Функције се рашчлањују на n-улазне функције Свака n-улазна функција се мапира на један CLB Повезивањем CLB-ова се формира тражена функција
59
Cyclone II LE Два режима рада: нормални аритметички
60
Cyclone II LE – нормални мод
61
Cyclone II LE – аритметички мод
62
Повезивање 2Д матрица жица које у пресеку имају конфигурабилне везе (два слајда напред) Због ефикаснијег повезивања веома често постоји више типова веза: оне које повезују суседне елементе оне које повезују прве несуседне елементе, оне које повезују сваких n-ти, где је n цeо број већи од 2. крајње елементе ...
63
Повезивање
64
Конфигурабилне везе
65
LAB и везе LAB - Logic Array Block
66
LAB контролни сигнали
67
IOB Један блок по пину Могућност конфигурације: смер: синхронизација:
улазни излазни бидирекциони синхронизација: директни синхрон са сигналом такта низ других могућности( pull-up, pull-down отпорници...)
68
Пример: Cyclone II
69
Пар напомена VHDL личи на Pascal и Adu
Jезици за опис хардвера нису програмски језици У FPGA не постоји микропроцесор који би извршавао VHDL код алати за синтезу на основу описа припремају опис на нижем нивоу фајл који се на крају добије, спушта се у FPGA и на тај начин се постиже конфигурација чипа За синтезу се користи само подскуп читавог језика
70
Фабрикација Чип се прави од полупроводника
Најчешће силицијум Кристална решетка силицијума је слаб проводник Додају се други елементи Група V (n-тип) Група III (p-тип)
71
P-N Спој Диода Струја може да тече у једном смеру
72
nMOS транзистор metal – oxide – semiconductor (MOS)
73
pMOS транзистор metal – oxide – semiconductor (MOS)
74
Инвертор CMOS
75
Инвертор Полупроводник са мало несилицијумових атома, у контакту са напајањем или нулом преко метала прави Шотки диоду
76
Маске Транзистори и жице се праве помоћу маски
77
Маске Шест маски n-well Polysilicon n+ diffusion p+ diffusion Contact
Metal
78
Кораци у фабрикацији Почне се са празним вафером
Инвертер се прави од дна ка врху Направи се p-substrate Први корак формирати n-well Постави се заштита SiO2 Уклони се део заштите тамо где ће бити n-well Убризгати n атоме у вафер Скинути заштиту
79
Оксидација Угрејати вафер у присуству кисеоника
80
Photoresist Нанети photoresist
Омекша кад се изложи на светлост
81
Литографија Изложити photoresist кроз n-well маску
82
Скидање оксида Неорганска киселина (HF)
Органски полимер не реагује са неорганском киселином
83
Уклањање Photoresist-а
Обавезно Коришћењем неке органске киселине
84
n-well n-well се формира дифузијом или имплементацијом јона
85
Скидање оксида Уклањање оксида неорганском киселином
86
N-дифузија Обликовати оксид и направити n+ регионе
87
N-дифузија Убацити атоме
88
N-дифузија Уклонити оксид
89
Контакти Потребно да се повежу разлити уређаји
Покрити чип са танким слојем оксида Скинути оксид где су потребни контакти
90
Метализација Ставити алуминијум преко целог вафер
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.