Presentation laddar. Vänta.

Presentation laddar. Vänta.

Introduktion till konstruktion av digitala elektroniksystem

Liknande presentationer


En presentation över ämnet: "Introduktion till konstruktion av digitala elektroniksystem"— Presentationens avskrift:

1 Introduktion till konstruktion av digitala elektroniksystem
ETAC48 Föresläsning 1 Introduktion till konstruktion av digitala elektroniksystem Innehåll Historik Motivation – hårdvarubeskrivande språk Översikt av integrerade kretsar Konstruktionsflöde Konstruktionsverktyg Bengt Oelmann -- copyright 2002 BO

2 Historik –den integrerade kretsen
1958: Den första integrerade kretsen presenteras Ej användbar teknik eftersom den var för dyr 60-talet: En stor drivkraft till utvecklingen var NASAs rymdprogram 70-talet: Kretsarna blev all mindre, snabbare och billigare 1971 kom Intels första mikroprocessor – 4004 Bengt Oelmann -- copyright 2002

3 Historik – den integrerade kretsen
1958: Första analoga integrerade kretsen Jack Kilby (Nobelpristagare 2000) 60-talet Digital elektronik börjar komma i flera elektronikprodukter Fortsättningen 70-talet: 100 tr./IC 80-talet: tr./IC 90-talet: tr./IC Nu: 10-tals miljoner tr./IC Bengt Oelmann -- copyright 2002

4 Utveckling – Mikroprocessor
1000 100 10 P6 1 486 Transistorer (M) 386 0.1 286 8086 8085 0.01 8080 8008 4004 0.001 1970 1980 1990 2000 2010 År Bengt Oelmann -- copyright 2002

5 Utveckling – Minnen (DRAM)
Mänskligt DNA 4X ökning på 3 år 0.07 m 0.1 m 0.13 m Uppslagsverk 2 h CD musik 30 s HDTV bok m m m m m m sida Bengt Oelmann -- copyright 2002

6 Vad betyder utvecklingen egentligen ?
Bengt Oelmann -- copyright 2002

7 Vad används integrerade kretsar till ?
Generella integrerade kretsar Mikroprocessor Minnen AD-omvandlare Speciella programmerbara kretsar T.ex för digital signalbehandling (DSP) Speciella integrerade kretsar Tillämpningsspecifik (t.ex krets för TV-mottagare) Specifik för en viss produkt Kontrollera speciella maskiner (hiss, traktor, diskmaskin) Bengt Oelmann -- copyright 2002

8 Konstruktionsflöde för digitala system
Specifikation av konstruktionen Datorbaserade verktyg Mata in konstruktionen Simulera och modifiera konstruktionen tills den fungerar Överför konstruktionen Manuellt eller automatiskt Simulera konstruktionen Överför konstruktionen till kretsar (implementering) Bengt Oelmann -- copyright 2002

9 Bengt Oelmann -- copyright 2002
Schemainmatning Grafisk metod Placera ut färdiga komponenter på en rityta Koppla ihop in- och utgångar på dessa komponenter för att bygga en ny funktion Bengt Oelmann -- copyright 2002

10 Exempel 1: Syntes av kombinatorisk logik
Implementera funktionen m.h.a tillgängliga grindar Z = (A+B)·(C+D) Bengt Oelmann -- copyright 2002

11 Exempel 2: Analys av tillståndsmaskin
Hur fungerar tillståndsmaskinen ? 1 A=1 A=0 Strukturell beskrivning Sammankoppling av grundläggande komponenter Nätlista (grind-nivå) Eng. gate-level netlist Beteendebeskrivning Beskriver hur den fungerar Säger inget om hur den är gjord Bengt Oelmann -- copyright 2002

12 Exempel 3: Konstruktion med hårdvarubeskrivande språk
8-bitars adderare architecture rtl of add8 is begin process (a,b) variable s_var : std_logic_vector(8 downto 0); begin s_var := a + ('0' & b); s <= s_var(7 downto 0); cout <= s_var(8); end process add; end rtl; a b s cout Bengt Oelmann -- copyright 2002

13 Bengt Oelmann -- copyright 2002
Forts. Exempel 3 Automatisk syntes av koden för adderaren Bengt Oelmann -- copyright 2002

14 Exempel 4: Tillståndsmaskin
Modulo-8 upp/ner- räknare med ’enable’ architecture rtl of fsm is signal count : std_logic_vector(2 downto 0); begin -- rtl process (clk, reset) begin -- process if reset = '0' then count <= (others=>'0'); elsif clk'event and clk = '1' then if enable='1' then case up is when '1' => count <= count + 1; when others => count <= count -1; end case; end if; end if; end process; q <= count; end rtl; enable count reset up Bengt Oelmann -- copyright 2002

15 Bengt Oelmann -- copyright 2002
Forts. Exempel 4 Automatisk syntes av koden för räknaren Bengt Oelmann -- copyright 2002

16 Hårdvarubeskrivande språk
Fördelar Jämfört med schemabaserad konstruktion så blir det lättare att beskriva och läsa konstruktionernas funktion Koden är oberoende av implementationsteknologi Den låser inte konstruktionen till en enda teknologi Koden kan återanvändas Parameteriserbar kod Bengt Oelmann -- copyright 2002

17 Implementationsteknologier
En och samma konstruktion beskriven med grindar kan implementeras i olika teknologier Fysisk Implementering (automatisk) Programmerbara kretsar T.ex PAL, PLA, FPGA Standard komponenter T.ex TTL 74-serien Kundanpassade kretsar ASIC (application Specific IC) Bengt Oelmann -- copyright 2002

18 Programmerbara logiska matriser – PAL
Pre-fabricerade byggblock med många AND/OR grindar Består egentligen av NOR eller NAND grindar Kretsen kan konfigureras (programmeras) genom att bryta kopplingar mellan grindar Blockdiagram för programmerbar krets som skapar uttryck på summa-av-produktform • • • ingångar AND matris • • • utgångar OR matris produkt termer Bengt Oelmann -- copyright 2002

19 Bengt Oelmann -- copyright 2002
Före programmering Alla möjliga kopplingar finns tillgängliga före programmering AND-plan Programmerbar koppling OR-plan Bengt Oelmann -- copyright 2002

20 Bengt Oelmann -- copyright 2002
Efter programmering Ej önskade kopplingar tas bort ’Fuse’ normalt kopplade, bryt oönskade ’Anti-fuse’ (normalt okopplade, koppla de önskade) A B C F1 F2 F3 F0 AB B'C AC' B'C' Bengt Oelmann -- copyright 2002

21 Bengt Oelmann -- copyright 2002
Exempel Förenklad notation – alla ledningar ritas ej Visar att en koppling finns och att signalen är en ingång till grinden Implementera F0=AB + A’B’ samt F1=CD’ + C’D A B C D AB AB+A'B' A'B' CD' CD'+C'D C'D Bengt Oelmann -- copyright 2002

22 Grindmatriser (Gate-arrays)
Enkla logiska grindar Transistorer implementerar kombinatorisk och sekventiell logik Sammankopplingar Ledningar för att koppla samman in- och utgångar till logiska block I/O block Speciella block för att koppla signalerna externt chippet Lägg till ledningar för sammankoppling Metalledningar läggs till efter chippet är tillverkat “mask-programmable” Bengt Oelmann -- copyright 2002

23 Att göra stora programmerbara kretsar
Alternativ 1: ”CPLD” Lägg massor av PAL-kretsar på samma chip Lägg till ledningar mellan dem och vars kopplingar kan programmeras Alternativ 2: ”FPGA” Härma Gate-array teknologin Kallas för Field Programmable Gate Array (FPGA) För det krävs Ett sätt att implementera logiska grindar som kan konfigureras Ett sätt att koppla samman dem Bengt Oelmann -- copyright 2002

24 Field-Programmable Gate Arrays
PAL-kretsar 10 – 100 grindar per chip Field Programmable Gate Arrays Altera MAX Family Actel Programmable Gate Array Xilinx Logical Cell Array 10000 – 4 miljoner grindar per chip Bengt Oelmann -- copyright 2002

25 Bengt Oelmann -- copyright 2002
FPGA Logiska block Implementerar kombinatorisk och sekventiell logik Sammankopplingar Ledningar kopplar in- och utgångar till logiska block I/O block Speciella block för att koppla signalerna externt chippet Bengt Oelmann -- copyright 2002

26 Bengt Oelmann -- copyright 2002
FPGA från Xilinx Programmable Interconnect I/O Blocks (IOBs) Configurable Logic Blocks (CLBs) Bengt Oelmann -- copyright 2002

27 Datorstödd konstruktion
Det är inte möjligt att konstruera FPGA för hand Alldeles för mycket logik som ska hanteras Hårdvarubeskrivande språk (HDL) Specificera logikens funktion på en hög nivå Validering: högnivå simulering För att tidigt finna fel i konstruktionen Logiksyntes Kompilera HDL program till logiska grindar Överföring till implementationsteknologi (FPGA) Logiken ska föras över till de element som finns tillgängliga i den implementationsteknologi som finns tillgänglig Bengt Oelmann -- copyright 2002

28 VHDL – ett hårdvarubeskrivande språk
Det finns två vanliga språk för att beskriva hårdvara VHDL Verilog HDL Very High Speed Integrated Circuit Hardware Description Language Historik Skapat av amerikanska försvarsdepartementet (DoD) för att dokumentera militära konstruktioner Standardiserat av IEEE (1076 VHDL) 1993 Bengt Oelmann -- copyright 2002

29 Bengt Oelmann -- copyright 2002
Bakgrund till VHDL Problem Ökande behov för att kunna konstruera, implementera, test och dokumentera allt komplexare system på allt kortare tid Lösning (?) Ett högnivåspråk för att beskriva hårdvara (HDL) HDL tillsammans med datorstödd konstruktion (CAD) för automatisk syntes och simulering Programmerbar logik för snabb implementering Bengt Oelmann -- copyright 2002

30 Bengt Oelmann -- copyright 2002
Bakgrund till VHDL Anledningar till att använda HDL Högnivåspråk gör det kraftfullt och flexibelt Konstruktionen görs oberoende av den komponent eller teknologi man ska använda Standardiserat språk gör det möjligt att använda verktyg från olika leverantörer (simulatorer etc.) Gör det möjligt att gå från idé till produkt snabbt med programmerbara kretsar Bengt Oelmann -- copyright 2002

31 Konstruktionsflöde för FPGA
Simulera och modifiera konstruktionen tills den fungerar architecture rtl of fsm is signal count : std_logic_vector(2 downto 0); begin -- rtl process (clk, reset) begin -- process if reset = '0' then count <= (others=>'0'); elsif clk'event and clk = '1' then if enable='1' then case up is when '1' => count <= count + 1; when others => count <= count -1; end case; end if; end if; end process; q <= count; end rtl; Mata in konstruktionen Överför konstruktionen automatiskt Simulera konstruktionen Logiksyntes (Automatisk) Implementering (Automatisk) Placering och ledningsdragning Bengt Oelmann -- copyright 2002

32 Konstruktionsverktyg I
Anges av konstruktören Data från komponent-leverantör VHDL Beskrivning av konstruktionen Testbänk Generera testdata Analysera respons Teknologi Data för grindarna t.ex fördröjning, effektförbrukning Direktiv T.ex önskad klockfrekvens VHDL simulator Syntesverktyg Vågformer Nätlista med grindar Bengt Oelmann -- copyright 2002

33 Konstruktionsverktyg II
Nätlista med grindar ”Place & Route”-verktyg ”Post-layout”-simulering Binär-fil för Programmering av komponenten Grindfördröjninger efter placering och kopplingar Vågformer Bengt Oelmann -- copyright 2002

34 Bengt Oelmann -- copyright 2002
SLUT på Föreläsning 1 Innehåll Historik Motivation – hårdvarubeskrivande språk Översikt av integrerade kretsar Konstruktionsflöde Konstruktionsverktyg Bengt Oelmann -- copyright 2002


Ladda ner ppt "Introduktion till konstruktion av digitala elektroniksystem"

Liknande presentationer


Google-annonser