Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avGustav Frederik Kristiansen
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
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.