1 / 90

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

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

gerek
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  6. Савремени проблеми моделовања • Сувише комплексан дизајн: • данашњи FPGA (програмабилно интегрисано коло)и остали чипови имају и преко 2.000.000.000 транзистора • Немогуће ручно дизајнирати: • по транзистору 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 1076-1987) • унапријеђиван касније • 1993 – VHDL-93, подржан од већине алата • 2002 – VHDL-2002 • 2008 – VHDL-2008 • Независан од технологије израде – спецификација раздвојена од имплементације.

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

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

  17. Моделовање • Architecture body • Интерна имплементација ентитета • За један ентитет може постојати више архитектура • Свака архитектура моделује исти алгоритам рада ентитета • на истом нивоу апстракције • на различитом нивоу апстракције architecture architecture_nameof 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) - материјали • Основна логичка кола: 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

  25. Youtube материјали DL+VHDL • http://www.youtube.com/watch?v=TyB1jFj5hQ8 • 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

  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. ПП: Логичка кола имају кашњење од 5ns Пример симулације 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

  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. FPGAField Programmable Gate Arrays

More Related