Ontwerpmethodologie van Complexe Systemen Prof dr ir Dirk

  • Slides: 66
Download presentation
Ontwerpmethodologie van Complexe Systemen Prof. dr. ir. Dirk Stroobandt Academiejaar 2004 -2005 Dirk Stroobandt:

Ontwerpmethodologie van Complexe Systemen Prof. dr. ir. Dirk Stroobandt Academiejaar 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen

Gegevens over cursus Bedoeling van de cursus: – – Methodologie ontwerp ingebedde systemen aanleren

Gegevens over cursus Bedoeling van de cursus: – – Methodologie ontwerp ingebedde systemen aanleren Beschrijving van de ontwerpsstappen op topniveau Bovenbouw bij verschillende andere cursussen Achtergrond om hardware-project te kunnen maken Organisatie: – Volledig nieuw vak • Nog geen cursusnota´s, wel transparanten • Copies uit Engelstalige boeken als achtergrondinformatie • Eventueel eens een recent onderzoeksartikel – 24 lessen ex-cathedra (vrijdag 8 u 30 – 11 u 30) – Oefeningensessies en practica (woensdagnamiddag) – Mogelijk bijkomende gastvoordracht 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 2

Gegevens over cursus Quotering: – Permanente evaluatie tijdens oefeningensessies – Schriftelijk examen met oefeningen

Gegevens over cursus Quotering: – Permanente evaluatie tijdens oefeningensessies – Schriftelijk examen met oefeningen – Mondeling theorie-examen aan bord Apparatuur en ondersteuning: – CAD-software op ELIS – Begeleiding: • Wim Meeus, Michiel Dhaene en Jan De Ceuster Spreekuur: vrijdag 14 u 00 – 15 u 00 Informatieverspreiding: – – Alles via Minerva (gebruik ook het forum voor vragen) E-mail algemeen: OCS@elis. ugent. be E-mail theorievragen: dstr@elis. ugent. be Telefoon: 09 264 34 01 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 3

Inhoud (deel 1) Inleiding over Ingebedde systemen, System-on-Chip en Platformgebaseerd ontwerp Systeemspecificatietechnieken – Functionele

Inhoud (deel 1) Inleiding over Ingebedde systemen, System-on-Chip en Platformgebaseerd ontwerp Systeemspecificatietechnieken – Functionele specificaties – Specificatietalen Exploratie van de ontwerpruimte – Prestatiematen – De hardware/software-grens – Prototypes, emulatie en simulatie 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 4

Inhoud (deel 2) Het belang van interconnecties Het belang van ingebed geheugen Het voorspellen

Inhoud (deel 2) Het belang van interconnecties Het belang van ingebed geheugen Het voorspellen van prestaties Architecturen voor complexe systemen – Processorarchitecturen – Herconfigureerbare hardware – Hergebruik van IP-kernen Interfaces en interface-ontwerp 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 5

Inhoud (deel 1) Inleiding over Ingebedde systemen, System-on-Chip en Platformgebaseerd ontwerp – – Ingebedde

Inhoud (deel 1) Inleiding over Ingebedde systemen, System-on-Chip en Platformgebaseerd ontwerp – – Ingebedde systemen Systemen-op-Chip en Hergebruik Platformgebaseerd ontwerp Karakteristieken van ingebedde systemen – Toepassingsdomeinen – Ontwerpstappen voor ingebedde systemen Systeemspecificatietechnieken Exploratie van de ontwerpruimte 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 6

Definitie ingebed systeem • Ingebedde systemen zijn informatieverwerkingssystemen die ingebed worden in een groter

Definitie ingebed systeem • Ingebedde systemen zijn informatieverwerkingssystemen die ingebed worden in een groter geheel. • Valt niet meer op: “disappearing computer” • Eigenlijk zal de computer overal zijn: – Ubiquitous computing – Pervasive computing – Ambient intelligence 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 7

Overzicht ingebedde systemen • Computersystemen zijn alomtegenwoordig • We denken meestal aan “desktop” computers

Overzicht ingebedde systemen • Computersystemen zijn alomtegenwoordig • We denken meestal aan “desktop” computers – – PC’s Laptops Mainframes Servers • Maar er is een ander type computersysteem – Komt veel meer voor. . . Bron: Frank Vahid, UC Riverside 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 8

Overzicht ingebedde systemen Voorbeelden: Belangrijkste koopreden is niet informatieverwerking Bron: Peter Marwedel, Uni Dortmund

Overzicht ingebedde systemen Voorbeelden: Belangrijkste koopreden is niet informatieverwerking Bron: Peter Marwedel, Uni Dortmund 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 9

Jaarlijkse verkoop microprocessoren Computers voor algemeen gebruik (PCs, werkstations, mainframes) 95% 5% Ingebedde systemen

Jaarlijkse verkoop microprocessoren Computers voor algemeen gebruik (PCs, werkstations, mainframes) 95% 5% Ingebedde systemen (draagbare telefoons, camcorders, wasmach. ) Bron: Henk Corporaal, TU Eindhoven 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 10

Componenten van Ingebedde Systemen -processor DSP Sensor A/D Actuator D/A ASIC 2004 -2005 MEMS

Componenten van Ingebedde Systemen -processor DSP Sensor A/D Actuator D/A ASIC 2004 -2005 MEMS Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 11

Vroege geschiedenis • Late 1940’s: MIT Whirlwind computer ontworpen voor ware-tijdsoperaties. – Oorspronkelijk ontworpen

Vroege geschiedenis • Late 1940’s: MIT Whirlwind computer ontworpen voor ware-tijdsoperaties. – Oorspronkelijk ontworpen voor een vluchtsimulator. • Eerste microprocessor was de Intel 4004 in de vroege 1970’s. • HP-35 rekenmachine gebruikte in 1972 verschillende chips om een microprocessor te implementeren. 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 12

Vroege geschiedenis, vervolg • Autos kregen microprocessor-gebaseerde motorcontrole-eenheden begin de jaren ‘ 70. –

Vroege geschiedenis, vervolg • Autos kregen microprocessor-gebaseerde motorcontrole-eenheden begin de jaren ‘ 70. – Controle van brandstof/lucht-mengsel, motorregeling, enz. – Verschillende toestanden: opwarmen, rijden, klimmen, enz. – Zorgt voor lagere CO 2 -uitstoot, lager brandstofgebruik. 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 13

Tweede trend: System-on-a-Chip (So. C) Gisteren en Vandaag ASIContwerp Fysische Componenten Systeem-Bord. Integratie •

Tweede trend: System-on-a-Chip (So. C) Gisteren en Vandaag ASIContwerp Fysische Componenten Systeem-Bord. Integratie • Platformgebaseerd ontwerp Vandaag en Morgen Ontwerp van IP-blokken 2004 -2005 Virtuele Componenten • Hergebruik (IP) Systeem-Chip Integratie Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 14

Wat is So. C • Definitie: Een complexe IC die de belangrijkste functionele elementen

Wat is So. C • Definitie: Een complexe IC die de belangrijkste functionele elementen van een compleet eindproduct integreert in een enkele chip of chipset. • Bevat in het algemeen: – – – Programmeerbare processor On-chip geheugen Hardwareversnellers Interface met omgevingsapparaten en de omgeving Zowel HW als SW Vaak ook analoge componenten en/of MEMS 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 15

Evolutie van So. C-ontwerp • Gestart midden jaren ’ 90 (. 35 en. 25

Evolutie van So. C-ontwerp • Gestart midden jaren ’ 90 (. 35 en. 25 mm) • Gegroeid met Moore’s Law – Aantal transistoren op een chip verdubbelt elke 18 maanden 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 16

Moore’s law Let op de logaritmische schaal! 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe

Moore’s law Let op de logaritmische schaal! 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 17

Moore’s law • Waaw – Dergelijke groei is moeilijk voor te stellen; de meeste

Moore’s law • Waaw – Dergelijke groei is moeilijk voor te stellen; de meeste mensen onderschatten dit – Vergelijk: Hoeveel voorouders van 20 generaties geleden heb je? • d. i. , ongeveer hoeveel mensen uit de jaren 1500 waren er nodig om jou te maken? • 220 = meer dan 1 miljoen mensen – (Deze onderschatting is de basis van de pyramide-spelen!) – Grafisch: 1981 1984 1987 1990 1993 1996 1999 2002 10, 000 transistoren 150, 000 transistoren Toonaangevende chip in 1981 Toonaangevende chip in 2002 2004 -2005 Bron: Frank Vahid, UC Riverside Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 18

Ontwerpskloof • Alhoewel de produktiviteit van ontwerpers gedurende de laatste decenia indrukwekkend gegroeid is,

Ontwerpskloof • Alhoewel de produktiviteit van ontwerpers gedurende de laatste decenia indrukwekkend gegroeid is, heeft de mate van verbetering de snelle groei van de chipcapaciteit niet kunnen volgen – Complexiteit: 40%/jaar [ 106 T/chip ] – Produktiviteit ontwerp: 15%/jaar 250 200 150 100 50 1995 1998 2001 2004 2007 [ SIA roadmap ] Bron: Frank Vahid, UC Riverside / Francky Catthoor, KU Leuven 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 19

Ontwerpskloof • 1981: toonaangevende chip vereist 100 persoonsmaanden – 10. 000 transistoren / 100

Ontwerpskloof • 1981: toonaangevende chip vereist 100 persoonsmaanden – 10. 000 transistoren / 100 transistoren/maand • 2002: toonaangevende chip vereist 30. 000 persoonsmaanden – 150. 000 / 5000 transistoren/maand SEMATECH Design Investment Roadmap (spec to tapeout): 1995. 35 mm 5. 1 MTr 362 PY 1998. 25 mm 20. 2 MTr 818 PY $51 M $114 M 2001. 18 mm 81. 3 MTr 1846 PY $256 M Bron: Frank Vahid, UC Riverside 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 20

De mythische persoonsmaand • De situatie is zelfs slechter dan de produktiviteitskloof stelt •

De mythische persoonsmaand • De situatie is zelfs slechter dan de produktiviteitskloof stelt • In theorie: toevoegen ontwerper vermindert afwerkingstijd van project • In realiteit: produktiviteit per ontwerper daalt als gevolg van de complexiteit van team management en communicatie • In de software-wereld bekend als “the mythical man-month” (Brooks 1975) • Vanaf een bepaald punt: contra-produktief 60000 50000 40000 30000 20000 16 15 16 19 0 18 23 24 43 Team Maanden tot afwerking Individueel persoon 10 20 30 Aantal ontwerpers 40 Bron: Frank Vahid, UC Riverside 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 21

Ontwerp op systeemniveau Oplossing • Verhoog het abstractieniveau • Uitvoerbare specificaties • Verfijn tot

Ontwerp op systeemniveau Oplossing • Verhoog het abstractieniveau • Uitvoerbare specificaties • Verfijn tot RT-VHDL/C • Hergebruik van gedrags-IP (SW+HW) Bron: Francky Catthoor, KU Leuven 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 22

DSM veroorzaakt verschuiving 90 % nieuwe ontwerpen Celgebaseerd ontwerp • min(oppervlakte) • max(prestaties) •

DSM veroorzaakt verschuiving 90 % nieuwe ontwerpen Celgebaseerd ontwerp • min(oppervlakte) • max(prestaties) • optimiseer poortniveau 1991 2004 -2005 Virtuele componenten • min(ontwerptijd) • max(IP hergebruik) • optimiseer systeemniveau 1996 90 % hergebruikte ontwerpen 2001 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 23

Kost van hergebruik 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 24

Kost van hergebruik 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 24

Hergebruik schaalt ook • Ook IP-hergebruik kan met de technologie meeschalen: compactie 2004 -2005

Hergebruik schaalt ook • Ook IP-hergebruik kan met de technologie meeschalen: compactie 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 25

Evolutie van So. C-ontwerp • • Economische motieven (lage kosten) Hergebruik van IP VSIA

Evolutie van So. C-ontwerp • • Economische motieven (lage kosten) Hergebruik van IP VSIA – Virtual Socket Interface Alliance (’ 96) Reuse Methodology Manual (Mentor Graphics en Synopsys, ’ 98) • Alba-project in Schotland (’ 97 -’ 99): overheid-industrieuniversiteiten (ook in andere landen opgestart) • Verminderde eind jaren ’ 90 door hoge kosten ASIC’s en te snelle groei (geen methodologie en infrastructuur, geen tools) • Commercieel nooit hoge ogen, wel intern in grote bedrijven 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 26

Evolutie van So. C-ontwerp • Opkomst van platform-gebaseerd ontwerp • VSIA-definitie: – Platform =

Evolutie van So. C-ontwerp • Opkomst van platform-gebaseerd ontwerp • VSIA-definitie: – Platform = een geïntegreerde set van gemeenschappelijke eigenschappen waarop een set van producten gebouwd kan worden. Een platform is een virtuele component (VC). – Platform-gebaseerd ontwerp = integratiegeoriënteerde ontwerpsmethode met nadruk op systematisch hergebruik voor het ontwikkelen van complexe producten gebaseerd op platformen en compatibele HW en SW VCs, met het doel de ontwikkelrisico’s en –kosten en de time-to-market te verminderen. 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 27

Platformgebaseerd ontwerp • Evolutie naar platformgebaseerd ontwerp Timing-Driven Design (TDD) Block-Based Design (BBD) m.

Platformgebaseerd ontwerp • Evolutie naar platformgebaseerd ontwerp Timing-Driven Design (TDD) Block-Based Design (BBD) m. Pcore SRAM ROM Platform-Based Design (PBD) m. Pcore ROM ATM ROM ASIC 2004 -2005 Soft I/F IP Complexe ASIC met enkele IPs Dcache I/F Logica SRAM MPEG RAM Logic Plug-and-Play Systeem-op-Chip Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 28

Evolutie van So. C-ontwerp: toekomst • SW-compilatie naar HW – HP: Program-In, Chip-Out (PICO)

Evolutie van So. C-ontwerp: toekomst • SW-compilatie naar HW – HP: Program-In, Chip-Out (PICO) project – UC Berkeley: GARP – ARC Cores en Tensilica: instructie-configuratie van ingebedde processor-cores • Xilinx Virtex II Platform en Altera System-on-a. Programmable Chip (SOPC) • Networks-on-Chips • Systeemontwerp evolueert meer en meer naar SW-ontwerp 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 29

Inhoud (deel 1) Inleiding over Ingebedde systemen, System-on-Chip en Platformgebaseerd ontwerp – – Ingebedde

Inhoud (deel 1) Inleiding over Ingebedde systemen, System-on-Chip en Platformgebaseerd ontwerp – – Ingebedde systemen Systemen-op-Chip en Hergebruik Platformgebaseerd ontwerp Karakteristieken van ingebedde systemen – Toepassingsdomeinen – Ontwerpstappen voor ingebedde systemen Systeemspecificatietechnieken Exploratie van de ontwerpruimte 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 30

Karakteristieken van ingebedde systemen (1) • Moeten betrouwbaar zijn: • Betrouwbaarheid (Reliability R(t)) =

Karakteristieken van ingebedde systemen (1) • Moeten betrouwbaar zijn: • Betrouwbaarheid (Reliability R(t)) = probabiliteit dat een systeem nog correct werkt als het werkte op t=0 • Onderhoudbaarheid (Maintainability M(d)) = probabiliteit dat een systeem correct werkt d tijdseenheden na het optreden van een fout. • Beschikbaarheid (Availability): probabiliteit dat een systeem werkt op tijdstip t • Veiligheid (Safety): er mag geen schade veroorzaakt worden • Beveiliging (Security): confidentieel en authenticatie • Zelfs perfect ontworpen systemen kunnen falen als de veronderstellingen over de werklast en mogelijke fouten foutief blijken te zijn. Bron: Peter Marwedel, Uni Dortmund 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 31

Karakteristieken van ingebedde systemen (2) • Moeten efficiënt zijn in – – – Energie

Karakteristieken van ingebedde systemen (2) • Moeten efficiënt zijn in – – – Energie (vermogen) Code-grootte (vooral voor So. C) Verwerkingstijd Gewicht Kost • Zijn toegewijd voor een specifieke toepassing Kennis over het gedrag kan bij de ontwerpfase gebruikt worden om middelen te besparen en de robuustheid te verhogen • Vaste user interface (geen muis, toetsenbord en scherm) Bron: Peter Marwedel, Uni Dortmund 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 32

Karakteristieken van ingebedde systemen (3) • Zeer vaak ware-tijdseisen – Een ware-tijdsysteem moet reageren

Karakteristieken van ingebedde systemen (3) • Zeer vaak ware-tijdseisen – Een ware-tijdsysteem moet reageren op stimuli van het controllerende object (of de operator) binnen het tijdsinterval opgelegd door de omgeving. – Voor ware-tijdsystemen zijn juiste oplossingen die te laat komen ook fout. – „Een ware-tijdsbeperking noemt men hard als het niet naleven van de beperking tot een catastrofe kan leiden “ [Kopetz, 1997]. Vb: vliegtuigcontrole – Alle andere ware-tijdseisen worden zacht genoemd. Vb. : video on demand – Een gegarandeerde systeemreactie moet uitgelegd worden zonder statistische argumenten Bron: Peter Marwedel, Uni Dortmund 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 33

Karakteristieken van ingebedde systemen (4) • Vaak voor gesofistikeerde of verschillende algoritmen (GSM, laserprinter).

Karakteristieken van ingebedde systemen (4) • Vaak voor gesofistikeerde of verschillende algoritmen (GSM, laserprinter). • Vaak verbonden met de fysieke omgeving door sensoren en actuatoren. • Hybriede systemen (analoog + digitaal). • ES zijn typisch reactieve systemen: „Een reactief systeem is er een dat in voortdurende interactie staat met de omgeving en taken uitvoert aan een ritme opgelegd door die omgeving “ [Bergé, 1995] Gedrag hangt af van de input en de huidige toestand. automatenmodel is geschikt, model van berekenbare functies niet. Bron: Peter Marwedel, Uni Dortmund 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 34

Karakteristieken van ingebedde systemen (5) • ES zijn ondergerepresenteerd in onderwijs en publieke discussies:

Karakteristieken van ingebedde systemen (5) • ES zijn ondergerepresenteerd in onderwijs en publieke discussies: „Embedded chips aren‘t hyped in TV and magazine ads. . . [Mary Ryan, EEDesign, 1995] • Niet elk ES heeft alle karakteristieken van hiervoor. • Def. : Informatieverwerkingssystemen die de meeste van bovenstaande karakteristieken hebben worden ingebedde systemen genoemd. Bron: Peter Marwedel, Uni Dortmund 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 35

Ingebedde systemen en ubiquitous computing • Ingebedde systemen leveren fundamentele technologie voor ubiquitous computing

Ingebedde systemen en ubiquitous computing • Ingebedde systemen leveren fundamentele technologie voor ubiquitous computing (Informatie gelijk wanneer, gelijk waar). Quality of Service Optische netwerken Netwerkmanagement Gedistribueerde toepassingen Netwerkdiensten UMTS, Hiperlan, ATM Ware tijd Betrouwbaarheid Communicatietechnologie Ingebedde systemen Robots Controlesystemen Kenmerkextractie en –herkenning Sensoren, actuatoren A/D-converteren Pervasive/Ubiquitous computing Gedistribueerde systemen Ingebedde websystemen 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 36

Toepassingsdomeinen (1) • Auto-elektronica • Vliegtuigelektronica • Treinen • Telecommunicatie 2004 -2005 Dirk Stroobandt:

Toepassingsdomeinen (1) • Auto-elektronica • Vliegtuigelektronica • Treinen • Telecommunicatie 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 37

Toepassingsdomeinen (2) • Medische systemen • Militair • Authentificatie 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie

Toepassingsdomeinen (2) • Medische systemen • Militair • Authentificatie 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 38

Toepassingsdomeinen (3) • Verbruikselektronica • Fabricageelektronica • Slimme gebouwen 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie

Toepassingsdomeinen (3) • Verbruikselektronica • Fabricageelektronica • Slimme gebouwen 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 39

Toepassingsdomeinen (4) • Robotica Robot „Johnnie“ (Courtesy and ©: H. Ulbrich, F. Pfeiffer, TU

Toepassingsdomeinen (4) • Robotica Robot „Johnnie“ (Courtesy and ©: H. Ulbrich, F. Pfeiffer, TU München) „Pipe-climber“ 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 40

Toepassingsdomeinen (5) • Simpele controle: voorpaneel van een microgolfoven, enz. • Canon EOS 3

Toepassingsdomeinen (5) • Simpele controle: voorpaneel van een microgolfoven, enz. • Canon EOS 3 heeft drie microprocessoren. – 32 -bit RISC CPU zorgt voor autofocus. • Analoge TV: kanaalselectie, enz. • Digitale TV: programmeerbare CPUs + vaste logica. • Huidige auto’s hebben tot 100 microprocessoren: – 4 -bit microcontroller controleert stoelriem; – microcontrollers sturen dashbord-eenheden aan; – 16/32 -bit microprocessor controleert motor. 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 41

Motivatie voor deze cursus (1) • Groeiend economisch belang van ingebedde systemen –. .

Motivatie voor deze cursus (1) • Groeiend economisch belang van ingebedde systemen –. . but embedded chips form the backbone of the electronics driven world in which we live. . . they are part of almost everything that runs on electricity [Mary Ryan, EEDesign, 1995] – 79% van alle nieuwe processoren worden gebruikt in ingebedde systemen – DE groeipool volgens alle voorspellingen 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 42

Motivatie voor deze cursus (2) • Basis voor de “post PC era” • ES

Motivatie voor deze cursus (2) • Basis voor de “post PC era” • ES nauwelijks bediscussieerd in andere cursussen • ES belangrijk voor de universiteit • ES belangrijk voor Europa • Brede blik: zet de context voor meer gespecializeerde cursussen • Domein in volle ontwikkeling: nog veel onderzoekswerk mogelijk 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 43

Inhoud (deel 1) Inleiding over Ingebedde systemen, System-on-Chip en Platformgebaseerd ontwerp – – Ingebedde

Inhoud (deel 1) Inleiding over Ingebedde systemen, System-on-Chip en Platformgebaseerd ontwerp – – Ingebedde systemen Systemen-op-Chip en Hergebruik Platformgebaseerd ontwerp Karakteristieken van ingebedde systemen – Toepassingsdomeinen – Ontwerpstappen voor ingebedde systemen Systeemspecificatietechnieken Exploratie van de ontwerpruimte 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 44

Ontwerpmethodologie • Een procedure om systemen te ontwerpen. • De methodologie begrijpen helpt je

Ontwerpmethodologie • Een procedure om systemen te ontwerpen. • De methodologie begrijpen helpt je om niets over te slaan. • Compilers, software-ontwikkeltools, computergesteund ontwerp (CAD) tools, enz. , kunnen gebruikt worden om – de methodologiestappen te helpen automatiseren; – het overzicht te bewaren op de methodologie zelf. 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 45

Top-down vs. bottom-up • Top-down-ontwerp: – Starten van de meest abstracte beschrijving; – Werken

Top-down vs. bottom-up • Top-down-ontwerp: – Starten van de meest abstracte beschrijving; – Werken naar het meest gedetailleerde. • Bottom-up-ontwerp: – Werken van kleine componenten naar een groot systeem. • Echte ontwerpen gebruiken beide technieken. 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 46

Stapsgewijze verfijning • Op elk abstractieniveau, moeten we – het ontwerp analyseren om de

Stapsgewijze verfijning • Op elk abstractieniveau, moeten we – het ontwerp analyseren om de karakteristieken van de huidige toestand van het ontwerp te bepalen; – het ontwerp verfijnen om detail toe te voegen. 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 47

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp 2004 -2005 SW Softwarecompilatie Dirk Stroobandt: Ontwerpmethodologie

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp 2004 -2005 SW Softwarecompilatie Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 48

Systeemspecificatie • Beschrijft functionaliteit en prestatie-eisen (snelheid, vermogen, kost, …). • Vaak: ware-tijd-systemen •

Systeemspecificatie • Beschrijft functionaliteit en prestatie-eisen (snelheid, vermogen, kost, …). • Vaak: ware-tijd-systemen • Zowel HW als SW. Welke taal? – VHDL, C, C++, JAVA? – Formele beschrijvingstaal (UML). – Plethora aan beschrijvingstalen. – System. C wordt standaard. 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 49

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp 2004 -2005 SW Softwarecompilatie Dirk Stroobandt: Ontwerpmethodologie

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp 2004 -2005 SW Softwarecompilatie Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 50

Architectuurexploratie • Uit de veelheid aan implementatiemogelijkheden deze zoeken die zo goed mogelijk voldoen

Architectuurexploratie • Uit de veelheid aan implementatiemogelijkheden deze zoeken die zo goed mogelijk voldoen aan de vereisten. – Laag vermogenverbruik – Zo goedkoop mogelijk Vereist ontwerpsbibliotheken. • Belangrijk: prestatieschattingen in HW en SW - uitvoeringstijd / geheugengebruik - oppervlakte / vermogenverbruik • Snelle schattingen / gradueel verfijnen. �-prom-processor 2 ARM DSP Virtuele HWASIC component 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 51

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp 2004 -2005 SW Softwarecompilatie Dirk Stroobandt: Ontwerpmethodologie

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp 2004 -2005 SW Softwarecompilatie Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 52

Platformontwerp • Hergebruik van ontwerpstappen voor familie van produkten Definieer platformmethodologie 1 x uitvoeren

Platformontwerp • Hergebruik van ontwerpstappen voor familie van produkten Definieer platformmethodologie 1 x uitvoeren Produceer het platform Definieer afgeleide ontwerpmethodologie vele x uitvoeren 2004 -2005 Ontwerp afgeleide produkten Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 53

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Systeemontwerp Hardware/software-partitionering HW Hardware-ontwerp 2004 -2005 SW Softwarecompilatie Dirk Stroobandt:

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Systeemontwerp Hardware/software-partitionering HW Hardware-ontwerp 2004 -2005 SW Softwarecompilatie Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 54

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp 2004 -2005 SW Softwarecompilatie Dirk Stroobandt: Ontwerpmethodologie

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp 2004 -2005 SW Softwarecompilatie Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 55

Hardware/software partitionering �-prom-processor 2 ARM DSP Virtuele HWASIC component • Verdelen taken over HW

Hardware/software partitionering �-prom-processor 2 ARM DSP Virtuele HWASIC component • Verdelen taken over HW (eventueel verschillende HW-blokken) en SW (over verschillende processoren). • In ware-tijd-systemen: toewijzen van taken tijdens uitvoering. Algoritme { Code 1 Code 2 Code 3 Code 4 } 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 56

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp SW Softwarecompilatie Compilatie naar specifieke processor. Tegenwoordig:

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp SW Softwarecompilatie Compilatie naar specifieke processor. Tegenwoordig: ASIP’s 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 57

Ontwerp van ingebedde software • Ontwerpskost voor SW is hoger dan voor HW •

Ontwerp van ingebedde software • Ontwerpskost voor SW is hoger dan voor HW • Belangrijke elementen: – Ervoor zorgen dat de juiste afwegingen gemaakt worden – Verifiëren van de ingebedde SW-implementatie in complexe systemen – Zorgen voor de porteerbaarheid van ingebedde SW naar toekomstige produktevoluties, keuze van RTOS, processors, middleware, enz. 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 58

Ontwerp van ingebedde software • Ingebedde SW <> PC SW – PC SW is

Ontwerp van ingebedde software • Ingebedde SW <> PC SW – PC SW is niet ware-tijd en geeft geen gegarandeerde reactie – Betrouwbaarheid was nooit echt belangrijk – PC SW is steeds gegroeid (nieuwe tools, OO, …) 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 59

Ontwerptraject Systeemspecificatie Architectuurexploratie Schattingen vooraleer implementatiedetails bekend zijn! Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp SW Softwarecompilatie

Ontwerptraject Systeemspecificatie Architectuurexploratie Schattingen vooraleer implementatiedetails bekend zijn! Platformontwerp Hardware/software-partitionering HW Hardware-ontwerp SW Softwarecompilatie Hoogniveausynthese Logisch ontwerp Fysisch ontwerp 2004 -2005 Componentselectie Hergebruik van IP IP management Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 60

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering Analoog ontwerp HW Hardware-ontwerp SW Softwarecompilatie Hoogniveausynthese Logisch ontwerp

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering Analoog ontwerp HW Hardware-ontwerp SW Softwarecompilatie Hoogniveausynthese Logisch ontwerp Componentselectie Fysisch ontwerp 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 61

So. C met analoge blokken • Meestal integratie van analoge blokken in So. C

So. C met analoge blokken • Meestal integratie van analoge blokken in So. C • Belangrijke punten: – Controleren van substraatruis door plaatsing – Controleren van ruis rond de omgeving van een analoog blok – Geen routes over analoog blok – Controleren ruis in vermogenstroken – Plaatsing van analoog blok ver van digitaal blok – Metaalschild compleet rond en over analoog blok – Controleren van overspraakruis op analoge bussen – Controleren van overspraakruis op de I/O-ringen 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 62

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering Analoog ontwerp HW SW Hardware-ontwerp Communicatie Softwarecompilatie Hoogniveausynthese Logisch

Ontwerptraject Systeemspecificatie Architectuurexploratie Platformontwerp Hardware/software-partitionering Analoog ontwerp HW SW Hardware-ontwerp Communicatie Softwarecompilatie Hoogniveausynthese Logisch ontwerp Componentselectie Interfacesynthese Fysisch ontwerp 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 63

Interfacesynthese • Selectie van communicatieprotocols. • Synthese van bussen tussen processoren, geheugens en IPblokken.

Interfacesynthese • Selectie van communicatieprotocols. • Synthese van bussen tussen processoren, geheugens en IPblokken. • Synthese van vertalers voor IP. • Scheiding van berekeningen en communicatie is essentieel voor het ontwerpen van ingebedde systemen. • Ondersteunen van “plug-and-play” voor IP-blokken. 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 64

Ontwerptraject Architectuurexploratie Verificatie Systeemspecificatie Platformontwerp Analoog ontwerp HW en Hardware/software-partitionering SW Hardware-ontwerp Communicatie Softwarecompilatie

Ontwerptraject Architectuurexploratie Verificatie Systeemspecificatie Platformontwerp Analoog ontwerp HW en Hardware/software-partitionering SW Hardware-ontwerp Communicatie Softwarecompilatie Logisch ontwerp Componentselectie Simulatie Hoogniveausynthese Interfacesynthese Fysisch ontwerp Testing 2004 -2005 Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 65

Ontwerptraject Architectuurexploratie Hfst 3 Platformontwerp Schattingen vooraleer implementatiedetails bekend zijn! Hardware/software-partitionering Hfst 6 HW

Ontwerptraject Architectuurexploratie Hfst 3 Platformontwerp Schattingen vooraleer implementatiedetails bekend zijn! Hardware/software-partitionering Hfst 6 HW SW Hardware-ontwerp Hoogniveausynthese Logisch ontwerp Hfst 7 Communicatie Componentselectie Interfacesynthese Fysisch ontwerp HW/SW co-ontwerp 2004 -2005 Testing Softwarecompilatie Simulatie Analoog ontwerp Verificatie Systeemspecificatie en Hfst 2 Hfst 8 RTOS Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen 66