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

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

description

Рачунарски ВЛСИ системи. Наставници и сарадници. Професор: др Вељко Милутиновић Контакт: [email protected] Асистент Александар Картељ Контакт: kartelj @matf.bg.ac.rs Материјали су у великој мери преузети са ЕТФ-а, а потом прилагођени студентима МАТФ-а. Оцењивање. - PowerPoint PPT Presentation

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

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

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

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

Наставници и сарадници

• Професор:– др Вељко Милутиновић

• Контакт: [email protected]

• Асистент– Александар Картељ

• Контакт: [email protected]

• Материјали су у великој мери преузети са ЕТФ-а, а потом прилагођени студентима МАТФ-а.

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

Оцењивање

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

Page 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 симулатор: http://www.edaplayground.com/

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

Како до финалног производа?

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

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

Савремени проблеми моделовања

• Сувише комплексан дизајн:– данашњи FPGA (програмабилно интегрисано коло) и

остали чипови имају и преко 2.000.000.000 транзистора

• Немогуће ручно дизајнирати:– по транзистору 10 секунди

=> за дизајн читавог система потребно 1268 година

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

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

• Заснован на софистицираним алатима:– систем се описује на високом нивоу апстракције

• текстуално или графички

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

• гејтови, транзистори

– уз помоћ алата, у зависности од технологије, систем се имплементира

– евентуално неки веома мале критични дијелови се оптимизују ручно

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

SOC

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

сместити на један чип

– компактнији систем

– једноставнији дизајн остатка система

– јефтинији систем

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

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

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

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

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

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

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

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

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

Начини уноса дизајна

• Текстуални– довољан обични едитор текста– флексибилан– могућност описа хардвера и на нивоу алгоритма– прегледан– погодан за документовање

• Графички– потребни посебни алати– није погодан за опис на вишем нивоу апстракције

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

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

• Независан од технологије израде – спецификација раздвојена од имплементације.

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

Концепти подржани у VHDL-у

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

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

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

REG_4

EnableClk

D 0D 1D 2D 3

D out0D out1D out2D out3

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

Моделовање

• Architecture body– Интерна имплементација ентитета

– За један ентитет може постојати више архитектура

– Свака архитектура моделује исти алгоритам рада ентитета

• на истом нивоу апстракције• на различитом нивоу апстракције

architecture architecture_name of REG_4 is begin

-- implementation of entity...

end architecture architecture_name ;

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

Пример имплементације reg4

Процес је секвенца наредби које се извршавају када се уђе у симулацију система. Након што се изврше све наредбе процеса, поново се извшава цео поново.

Чека се док не дође до промене сигнала clk

Ако је en сигнал висок

Променљиве нису исто што и сигнали

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

Шема претходног понашања

IF

clk = 1 &

enable =1

Ažuriraj stanje

registra

Čekaj na novu

promenu ulaznog

signala

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

Променљиве и сигнали

Додела вредности сигналимаје паралелна, и немамо контролунад редоследом. Овде нпр. ће bузети вредност a пре него што сесигналу a dodeli вредност.

Променљиве добијају вредност секвенцијално, тако да ће a i b добити вредност ‘11111’

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

Моделовање понашања

• Behavioral architecture– садржи алгоритам по којем модул ради

– садржи:• процесе, који садрже• секвенцијалне изразе, укључујући

– доделе вредности сигналу

– изразе чекања (wait statements)

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

Dout2Var~feeder

D

ENA

SCLR

SDATA

SLOAD

QPRE

CLR

1

D

ENA

SCLR

SDATA

SLOAD

QPRE

CLR

1

D

ENA

QPRE

CLR

D

ENA

SCLR

SDATA

SLOAD

QPRE

CLR

INCLK OUTCLK

CLKCTRL

1

Dout0Var

Dout1Var

en

d[0..3]

q[0..3]

clk

Dout2Var

clk~clkctrlDout3Var

Синтетизован модел

D QPRE

ENA

CLR

enclk

q0q1q2q3d0

d1d2

Dout[3..0]Var

d3

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

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

Моделовање структуре

• Опис модела као скупа подсистема повезаних на одговарајући начин.

• Садржи:– декларације сигнала

• портови су такође сигнали ка окружењу

– инстанце компоненти• инстанце претходно дефинисаних парова ентитета и

архитектура

– везе портова и сигнала (port maps)

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

Дигитална логика (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

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

Youtube материјали DL+VHDL

1. http://www.youtube.com/watch?v=TyB1jFj5hQ8

2. http://www.youtube.com/watch?v=TyB1jFj5hQ8

3. http://www.youtube.com/watch?v=Kd-QyX1OPiU

4. http://www.youtube.com/watch?v=7N9mygI3A5o

5. http://www.youtube.com/watch?v=25BA8QCAHnY

6. http://www.youtube.com/watch?v=Rl1RloSLg_M

7. http://www.youtube.com/watch?v=vIG0w5LiOHw

8. http://www.youtube.com/watch?v=9yNoQrp20ME

9. http://www.youtube.com/watch?v=S6ywDlUKQvM

10.http://www.youtube.com/watch?v=pQ3MfzqGlrc

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

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

Clk

D Q

DFF

Clk

D Q

DFF

Clk

D Q

DFF

Clk

D Q

DFF

D 3

D 2

D 1

D 0 D out0

D out1

D out2

D out3

ClkEnable

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

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

architecture structural of REG_4 issignal 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 ;

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

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

a

bo

c

do

c

do

c

do

c

do

mdff:U1

mdff:U2

mdff:U3

mdff:U4

d0

d1

d2

d3

q0

q1

q2

q3

mand2:G1

enclk

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

Комбинација моделовања структуре и понашања

• Архитектура може садржати и један и други модел• Пример: RTL (Register Transfer Level) модел

– ток података (datapath) приказан структурно

– контрола приказана описно

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

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

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

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

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

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

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

Тестирање

• Пре фабрикације, сва тестирања се обављају симулацијом

• Користи се Test bench модел:– ентитет без портова– архитектура која садржи модел који се тестира и

додатне процесе/ентитете који:• генеришу тест векторе који се доводе на улаз тестираног

кола• контролишу исправност излазних сигнала (уколико се

провера врши аутоматизовано• Провера исправности излазних сигнала може да се

ради и ручно коришћењем симулатора

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

Пример test bench-a

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

Регресивно тестирање

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

резултате као и функционални модел на вишем нивоу апстракције

• Test bench садржи две инстанце које се тестирају– структурни и функционални модел– оба модела се паралелно симулирају са истим улазним тест

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

• Потребно је водити рачуна о времену– функционални модел лако може да превиди одређена кашњења

која су последица структуре модела

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

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

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

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

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

Од модела до симулације

• Анализа• Елаборација• Симулација

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

Анализа

• Провера да ли постоје синтаксне грешке• Анализа сваке јединице засебно

– пожељно да свака јединица буде у посебном фајлу

• Када се заврши са анализомјединице се смјештају у библиотеке– текућа (радна) библиотека се назива work

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

Елаборација

• Ажурира хијерархију дизајна– креира портове

– креира сигнале и процесе унутар тела архитектуре

– за сваку инстанцу компоненте копира декларације и тело ентитета

– понавља се рекурзивно док се не разреше сви нивои хијерархије

• Резултат елаборације је “равна (flat)” колекција сигнала и процеса

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

Симулација

• Извршавање елаборираног модела• Време симулације се повећава у дискретним

корацима• Догађај (event) – када сигнал промени вредност• Процеси:

– се активирају догађајима на улазним сигналима који су наведени у wait изразима

– постављају нове вредности излазним сигналима• постављају трансакције – дефинише временске тренутке

у којима ће се поставити вредност сигнала• ако се нова вредност сигнала разликује од претходне

поново имамо догађај

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

Иницијализације симулације

• сваком сигналу се додељује почетна вредност• време симулације се поставља на 0• сваки процес се:

– активира

– извршава док не наиђе на wait израз (или крај процеса уколико процес има листу сигнала на које је осјетљив), када се суспендује

• извршавање најчешће генерише нове трансакције сигнала за наредне временске тренутке

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

Симулациони циклус

• увећава се време симулације до следеће трансакције• за сваку трансакцију се у овом тренутку:

– ажурира вредност сигнала• ако је вредност сигнала промењена - догађај

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

осетљивости на одређене сигнале, док не дође до краја, када се суспендује

• Симулација се завршава када нема више трансакција

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

Пример симулације

• ПП: Логичка кола имају кашњење од 5ns

АBC

D 0@5ns

E U@5ns

DE

D 1@10ns

E 0@10ns

D 0@15ns

E 1@15ns

D 0@20ns

E 0@20ns

D 1@25ns

E 0@25ns

E 1@30ns

0 5 10 15 20 25 30 35

Шта ако је кашњење логичких кола 0s?

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

Делта време

• Омогућава да се сигнали исправно израчунају пре него што се "реално" време или време симулације увећа

• Процес не види ефекте промене вредности сигнала све док се не активира следећи пут, чак и ако је то у истом симулационом тренутку =>

• Кашњење од 0 fs се назива делта кашњење• На овај начин практично добијамо две димензије

времена

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

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

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

Синтеза

• Преводи, најчешће RTL, модел у нет листу на нивоу логичких кола

• Узрокује ограничења у начину писања VHDL кода• Зависи од коришћеног алата

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

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

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

ASIC

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

Gate Array или Full Custom технологији• Повезан са окружењем преко стандардизованих

протокола и електричних интерфејса.

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

FPGAField Programmable Gate Arrays

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

Шта је конфигурабилно?

• CLB– LUT– интерно повезивање

• IOB• Везе између CLB• Наменске компоненте на чипу

– множачи– меморија– контрола такта

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

Пример: Cyclone II

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

FPGA – предности и мане

• Предности– релативно јефтини

– велики капацитет

– могућност репрограмирања чак када је производ испоручен

– кратко време развоја

• Мане– мањи капацитет и брзина у односу на интегрисана кола

– потребни софистицирани алати

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

FPGA – предности и мане

Карактеристика FPGA Full-Custom

Време развоја Кратко Дуго

Цена производа (у великом серијама)

Висока Ниска

Могућност измене након фабрикације

Могуће Немогуће

Перформансе Средње Веома високе

Густина паковања Средња Веома висока

Потрошња енергије Висока Ниска

Минимална величина серије

Нула Велика

Комплексност дизајна Средња Висока

Комплексност тестирања Средња Висока

Време за исправку грешке Сати Месеци

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

CLBConfigurable Logic Block

Могуће формирати произвољну

логичку функцију

Синхрон или асинхрон

излаз

Континуални излаз или са

сигналом дозволе

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

CLB - варијанте

• У зависности од конкретног чипа мења се:– број и величина лут табеле

– број и врста меморијских елемената

– интерна комбинациона логика (могућност интерног повезивања)

– додатне функционалности

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

LUTLook-Up Table

• 1 битна меморија• улази су везани на

адресне линије• излаз је садржај меморије

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

• фиксно кашњење

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

Имплементација логичких функција

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

функција

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

Cyclone II LE

• Два режима рада:– нормални

– аритметички

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

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

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

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

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

Повезивање

• 2Д матрица жица које у пресеку имају конфигурабилне везе (два слајда напред)

• Због ефикаснијег повезивања веома често постоји више типова веза:– оне које повезују суседне елементе

– оне које повезују прве несуседне елементе,

– оне које повезују сваких n-ти, где је n цeо број већи од 2.

– крајње елементе

– ...

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

Повезивање

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

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

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

LAB и везеLAB - Logic Array BlockLAB - Logic Array Block

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

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

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

IOB

• Један блок по пину• Могућност конфигурације:

– смер:• улазни• излазни• бидирекциони

– синхронизација:• директни• синхрон са сигналом такта

– низ других могућности( pull-up, pull-down отпорници...)

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

Пример: Cyclone II

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

• VHDL личи на Pascal и Adu• Jезици за опис хардвера нису програмски језици

– У FPGA не постоји микропроцесор који би извршавао VHDL код

– алати за синтезу на основу описа припремају опис на нижем нивоу

– фајл који се на крају добије, спушта се у FPGA и на тај начин се постиже конфигурација чипа

• За синтезу се користи само подскуп читавог језика

Пар напомена

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

Фабрикација

• Чип се прави од полупроводника– Најчешће силицијум

• Кристална решетка силицијума је слаб проводник• Додају се други елементи

– Група V (n-тип)

– Група III (p-тип)

As SiSi

Si SiSi

Si SiSi

B SiSi

Si SiSi

Si SiSi

-

+

+

-

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

P-N Спој

• Диода• Струја може да тече у једном смеру

p-тип n-тип

анода катода

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

nMOS транзистор

• metal – oxide – semiconductor (MOS)

n+

p

GateSource Drain

bulk Si

SiO2

Polysilicon

n+Body

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

pMOS транзистор

• metal – oxide – semiconductor (MOS)

SiO2

n

GateSource Drain

bulk Si

Polysilicon

p+ p+

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

Инвертор

• CMOS

n+

p substrate

p+

n well

A

YGND VDD

n+ p+

SiO2

n+ diffusion

p+ diffusion

polysilicon

metal1

nMOS transistor pMOS transistor

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

Инвертор

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

n+

p substrate

p+

n well

A

YGND VDD

n+p+

substrate tapwell tap

n+ p+

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

Маске

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

GND VDD

Y

A

substrate tap well tapnMOS transistor pMOS transistor

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

Маске

• Шест маски– n-well

– Polysilicon

– n+ diffusion

– p+ diffusion

– Contact

– Metal

Metal

Polysilicon

Contact

n+ Diffusion

p+ Diffusion

n well

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

Кораци у фабрикацији

• Почне се са празним вафером• Инвертер се прави од дна ка врху

– Направи се p-substrate

• Први корак формирати n-well– Постави се заштита SiO2

– Уклони се део заштите тамо где ће бити n-well

– Убризгати n атоме у вафер

– Скинути заштиту

p substrate

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

Оксидација

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

p substrate

SiO2

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

Photoresist

• Нанети photoresist– Photoresist је органски полимер осетљив на светлост

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

p substrate

SiO2

Photoresist

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

Литографија

• Изложити photoresist кроз n-well маску• Уклонити омекшали photoresist

p substrate

SiO2

Photoresist

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

Скидање оксида

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

са неорганском киселином

p substrate

SiO2

Photoresist

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

Уклањање Photoresist-а

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

p substrate

SiO2

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

n-well

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

n well

SiO2

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

Скидање оксида

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

p substraten well

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

N-дифузија

• Обликовати оксид и направити n+ регионе

p substraten well

n+ Diffusion

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

N-дифузија

• Убацити атоме

n wellp substrate

n+n+ n+

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

N-дифузија

• Уклонити оксид

n wellp substrate

n+n+ n+

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

Контакти

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

p substrate

Thick field oxide

n well

n+n+ n+p+p+p+

Contact

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

Метализација

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

p substrate

Metal

Thick field oxide

n well

n+n+ n+p+p+p+

Metal