Kursöversikt. Introduktion digitalteknik. Binära tal. - och ...
Kursöversikt. Introduktion digitalteknik. Binära tal. - och ...
Kursöversikt. Introduktion digitalteknik. Binära tal. - och ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
IE1204 Digi<strong>tal</strong> Design<br />
F1 : <strong>Kursöversikt</strong>. <strong>Introduktion</strong><br />
<strong>digi<strong>tal</strong>teknik</strong>. <strong>Binära</strong> <strong>tal</strong><br />
Elena Dubrova<br />
KTH/ICT/ES<br />
dubrova@kth.se
Elena Dubrova<br />
Skolan för Informations <strong>och</strong> Kommunikationsteknik (ICT)<br />
Institutionen för Elektroniksystem (ES)<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Kursansvarig<br />
dubrova@kth.se<br />
http://web.it.kth.se/~dubrova<br />
Examinator: Ingo Sander<br />
2
Vem är Elena Dubrova?<br />
• Professor på ICTskolan i Kista, avdelningen<br />
elektroniksystem<br />
• Forskningsområden:<br />
Elektroniksystemkonstruktion<br />
• Undervisar i följande KTHkurser:<br />
– IE1204 Digi<strong>tal</strong> Design<br />
– IL2209 Advanced Logic Design<br />
– ID2218 Design of FaultTolerant Systems<br />
– FIL3001 The Art of Doctoral Research<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
3
Lärarens roll i undervisningen…<br />
• Glöm inte att det är studentens uppgift att lära sig nya<br />
kunskaper<br />
• Lärarens uppgift är att stödja inlärningen<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
4
Det finns en kursbok…<br />
• Brown/Vranesic, Fundamen<strong>tal</strong>s of Digi<strong>tal</strong> Logic<br />
with VHDL Design (3rd edition), McGrawHill,<br />
2009 (Kårbokhandeln)<br />
Läs den!<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
5
Att studera på universitet…<br />
• är väldigt annorlunda än på<br />
gymnasiet!<br />
• innebär att DU ta ansvar för dina<br />
studier!<br />
• En civilingenjörsexamen ger<br />
excellenta möjligheter för ett<br />
välbe<strong>tal</strong>t, roligt <strong>och</strong> stimulerande<br />
jobb, men först måste du nå dit!<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
6
Om studieteknik...<br />
• En bra metod är att studera tillsammans i<br />
grupper om 510 personer<br />
• Om det är något problem som är svårt att<br />
lösa <strong>och</strong>/eller förstå<br />
– Diskutera problemet i gruppen<br />
– Den som först kommer på lösningen förklarar<br />
för de andra<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
7
Glöm inte…<br />
• att tempot är mycket högre på KTH än på<br />
gymnasiet!<br />
• En civilingenjör har ett stort ansvar för<br />
samhället <strong>och</strong> måste därför ha en gedigen<br />
utbildning!<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
8
Denna kurs...
Kursens mål<br />
• Att lära ut de teoretiska grunderna för analys <strong>och</strong><br />
konstruktion av kombinatoriska <strong>och</strong> sekvensiella<br />
kretsar.<br />
• Att genom praktisk problemlösning ge en<br />
förståelse för de olika design/konstruktionsfaserna<br />
i syfte att kursdeltagarna skall behärska<br />
konstruktion av enkla kombinatoriska <strong>och</strong><br />
sekvensiella digi<strong>tal</strong>a system<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
10
Kursens mål (forts)<br />
• Att lära kursdeltagarna en designmetodik<br />
Analysis<br />
Specification<br />
(function and other<br />
characteristics)<br />
Implementation<br />
(network of modules)<br />
Design<br />
• Att mha denna metodik kunna konstruera<br />
enkla digi<strong>tal</strong>a system<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
11
Kursens mål (forts)<br />
• Introducera studenterna till Engelska <strong>och</strong> engelsk<br />
kursliteratur<br />
– All bra literatur inom ämnet är på engelska<br />
– Engelska är arbetsspråk i alla större svenska<br />
internationella bolag<br />
– Att <strong>tal</strong>a engelska (någorlunda) flytande är en<br />
förutsättning för en framgångsrik karriär som<br />
civilingenjör<br />
• Därför har vi valt en engelskspråkig kursbok!<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
12
• Kursbok<br />
Kurslitteratur<br />
– Brown/Vranesic, Fundamen<strong>tal</strong>s of Digi<strong>tal</strong> Logic<br />
with VHDL Design (3rd edition), McGrawHill,<br />
2009 (Kårbokhandeln)<br />
• Mer material finns på websida<br />
– http://www.ict.kth.se/courses/IE1204/<br />
• Föreläsningsbilder läggs ut på websidan<br />
strax före eller strax efter lektionen!<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
13
• Specifikation av digi<strong>tal</strong>a funktioner <strong>och</strong> system<br />
• Digi<strong>tal</strong>a byggelement<br />
• Digi<strong>tal</strong> Aritmetik<br />
Översikt Kursinnehåll<br />
• Synkrona system <strong>och</strong> statemaskiner<br />
• Asynkrona system <strong>och</strong> statemasking<br />
• Lite större digi<strong>tal</strong>a system – om processorn <strong>och</strong> datorer<br />
• Vi kommer inte att gå igenom VHDL i någon större<br />
utsträckning – det är en hel kurs i sig.<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
14
• Examination<br />
Examination <strong>och</strong> upplägg<br />
– LABA, 3.0 hp<br />
• Betyg: G/U<br />
– TENA, 4.5 hp<br />
• Betyg AE/F<br />
• Föreläsningar 28 h (14x2h)<br />
• Övningar 16 h (8x2h)<br />
• Laborationer 12 h (3x4h)<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
15
• Föreläsare<br />
– Elena Dubrova<br />
• Övningar<br />
– Fredrik Lundevall<br />
– Mattias Hellmansson<br />
– Jan Andersson<br />
• Laborationer<br />
– Owe Thessen<br />
– Mattias Hellmansson<br />
– Gunnar Johansson<br />
– Awet Weldezion<br />
– Nan Li<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Personal<br />
16
• Tentamen äger rum i Kista<br />
– Aktuell information på KTH:s websidor<br />
– Mon 17 okt, 9:0013:00, (431, 438, 439, 530,<br />
C1, C2, C21, C22)<br />
• Anmälan krävs<br />
Tentamen<br />
– Senast två veckor innan tentamen!<br />
– Rutinerna för anmälan kommer att fastställas<br />
senare<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
17
Laborationer<br />
• Laborationer utförs i Kista<br />
– KTHKista, ForumHuset Isafjordsgatan 39. Hiss A.<br />
Våning 8. Lokal KaL8203A <strong>och</strong> KaL8214A<br />
• Anmälan krävs <strong>och</strong> görs via Daisysystemet<br />
– https://daisy.ict.kth.se/<br />
• Kom i god tid till första laborationen eftersom era<br />
Kistakonton måste aktiveras<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
18
Kunskapskontrollerna<br />
• För att få laborera måste Du först göra en<br />
obligatorisk kunskapskontroll på webben<br />
• Du hittar ditt "nummer" i Daisy<br />
• Samma "nummer" används sedan för<br />
kunskapskontrollerna inför alla tre<br />
laborationerna<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
19
Kunskapskontrollerna<br />
• Observera att kunskapskontroll <strong>och</strong><br />
laborationsförberedelser är mycket<br />
tidskrävande<br />
• Du uppmanas därför att starta arbetet med<br />
dessa så fort som möjligt!<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
20
Kontakt med KTHPersonal<br />
• Föreläsaren försöker att vara tillgänglig under<br />
rasten <strong>och</strong> en stund efter lektionen<br />
– Utnyttja den tiden<br />
• Mail<br />
– KTHpersonal dränks i mailfloden, så det kan ta en<br />
stund tills vi hinna svara på ett email<br />
• Om det behövs skicka tydliga <strong>och</strong> klara mail till rätt person<br />
• Om du skickar mail till KTHpersonalen, använd din KTHmailadress!<br />
• Kalla ditt meddelande ”IE1204 : …”, så att vi lätt kan hitta<br />
kursrelaterade brev<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
21
Mer information finns på webben!<br />
• Det är inte möjligt att gå igenom all<br />
information under lektionen<br />
• Besök hemsidan ofta<br />
– http://www.ict.kth.se/courses/IE1204/1112/kista<br />
/index.htm<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
22
Varför är <strong>digi<strong>tal</strong>teknik</strong> så<br />
viktigt?
Vårt dagliga liv präglas av<br />
<strong>digi<strong>tal</strong>teknik</strong>en<br />
• Datorer finns överallt <strong>och</strong> i alla möjliga produkter<br />
– Visste du tex att det finns ca 40100 mikroprocessorer i<br />
en ny bil?<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
24
Industrins behov av inbyggda system<br />
Direct<br />
Development of SW<br />
and services for direct<br />
sales to external<br />
customers<br />
Indirect<br />
SW is a critical part of<br />
the competitiveness of<br />
products, processes<br />
and services<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Direct SW Companies<br />
To<strong>tal</strong> Turnover SEK 30 billion<br />
(2005) 1<br />
Ericsson AB 2<br />
SEK 188 billion (2007)<br />
Volvo AB 2<br />
Scania AB 2<br />
SEK 285 billion (2007) SEK 84 billion (2007)<br />
• Competitiveness, volumes and value creation of “indirect” SW<br />
companies exceed that of “direct” SW companies<br />
Source:<br />
3. Redeye Advisory<br />
Services<br />
[2005]<br />
4. Reuters<br />
[2008]<br />
25
Utvecklingen inom elektroniken<br />
ENIAC<br />
(1946)<br />
Teknologiska framsteg möjliggör att mer <strong>och</strong> mer<br />
funktionalitet kan integreras på ett enda chip<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Apple II<br />
(1977)<br />
iPhone 4<br />
(2010)<br />
Trenden fortsätter!<br />
26
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Teknologiframsteg<br />
Utvecklingen går rasande fort…<br />
27
Exempel på Digi<strong>tal</strong>a System (år 2000)<br />
VLSI Chip<br />
(Alpha 21164)<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Funktionsblock i en<br />
Pentium (Intel)<br />
Ericsson T28<br />
Nokia 6120<br />
28
Exempel på Digi<strong>tal</strong>a System (år 2010)<br />
3D Integration Tilera TilePRO64<br />
(8x8 MPSoC)<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Intel TeraFlop<br />
(8x10 MPSoC)<br />
29
Exempel på Digi<strong>tal</strong>a System (år 2022)<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Robotic Brain<br />
10x10x10 Chips<br />
containing a to<strong>tal</strong> of<br />
~6350 Brain<br />
Processing Units<br />
(BPUs) & ~100 TB<br />
DRAM memory<br />
30
Utvecklingen inom elektroniken<br />
Intel 4004 (1971)<br />
3.0 GHz<br />
820 millioner transistorer<br />
108 KHz<br />
2,300 transistorer<br />
Intel Xeon 5400 (2008)<br />
Om man hade haft motsvarande utveckling för bilar så skulle man nu kunna köra<br />
från San Francisco till New York på ca 13 sekunder (Intel).<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
31
Digi<strong>tal</strong>tekniken skapade grunden till<br />
• Enkel matematisk modell<br />
– Bara 1:or <strong>och</strong> 0:or som värden<br />
– Boolesk algebra<br />
• Störningsokänslig, effektiv implementering av den<br />
matematiska modellen<br />
– Transistor<br />
– Integrerade kretsar<br />
denna utveckling<br />
– Framsteg i halvledarteknologin<br />
• Effektiva designmetoder <strong>och</strong> verktyg<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
32
Varför binärt?
Analoga & Digi<strong>tal</strong>a Signaler<br />
• Om det är möjligt så görs idag all<br />
signalbehandling digi<strong>tal</strong>t<br />
Mikrofon<br />
Analog-Digi<strong>tal</strong> Omvandlare Digi<strong>tal</strong>-analog Omvandlare<br />
ADC<br />
Analog signal Digi<strong>tal</strong>a signaler<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Signal Processing<br />
& Storage<br />
01101010100 1010101 10 101010<br />
DAC<br />
Bärfrekvens<br />
Antenn<br />
Modulerad signal<br />
34
Egentligen borde <strong>digi<strong>tal</strong>teknik</strong>en vara<br />
sämre…<br />
• I stället för en analog signal som kan anta<br />
kontinuerliga värden, så kan en digi<strong>tal</strong><br />
signal bara anta diskreta värden<br />
101<br />
100<br />
011<br />
010<br />
001<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
000 001 010 001 010 011 100 100 011 011<br />
35
Digi<strong>tal</strong>tekniken är mycket okänslig för<br />
Voltage<br />
V DD<br />
V 1,min<br />
V 0,max<br />
V SS (Gnd)<br />
störningar!<br />
Logic value 1<br />
Undefined<br />
Logic value 0<br />
• Det är inte bara ett<br />
spänningsvärde som<br />
interpreteras som 1 eller 0<br />
utan ett helt<br />
spänningsområde<br />
• En avvikelse om några<br />
mV kan vara mycket<br />
störande inom<br />
analogtekniken, men gör<br />
ingen skillnad inom<br />
<strong>digi<strong>tal</strong>teknik</strong>en
Fler bitar <strong>och</strong> högre sampling höjer<br />
signalkvalitén<br />
• Har man tillräckligt många bitar <strong>och</strong> tillräckligt hög<br />
samplingfrekvens efterliknar den digi<strong>tal</strong>a signalen<br />
den analoga signalen<br />
101<br />
100<br />
011<br />
010<br />
001<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
000 001 010 001 010 011 100 100 011 011<br />
Analog signal<br />
Digi<strong>tal</strong> signal (3 bit)<br />
Digi<strong>tal</strong> signal (4 bit,<br />
dubbla samplingsfrekvensen)<br />
37
Kvantisering <strong>och</strong> Digi<strong>tal</strong>isering<br />
Kvantiseringsnivåer<br />
101<br />
100<br />
011<br />
010<br />
001<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
000 001 010 001 010 011 100 100 011 011<br />
Digi<strong>tal</strong> signalsekvens<br />
38
Separation av digi<strong>tal</strong>a nivåer<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
= separationsmarginaler<br />
39
V OHmin<br />
Typiska signalnivåer för TTLlogik<br />
V OLmax<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Brusmarginaler<br />
(mer om det i F3)<br />
V Hmax<br />
V IHmin<br />
V ILmax<br />
V Lmin<br />
Matningsspänning 3.3V 5.0V<br />
V HMAX 3.3 5.0<br />
V OHMIN 2.4 3.3<br />
V IHMIN 2.0 2.4<br />
VLMAX 0.8 0.8<br />
V OLMAX 0.4 0.4<br />
V LMIN 0.0 0.0<br />
40
Varför binärt?<br />
• CMOSTransistorer är enkla att tillverka<br />
• CMOSTransistorer är gjorda av vanlig sand =><br />
billigt råmaterial<br />
• En transistor är lätt att få att fungera som en<br />
switch (omkopplare)<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
41
Transistorn en omkopplare utan<br />
Gate<br />
Source Drain<br />
Principskiss för SiGe<br />
transistor (KTH)<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
rörliga delar<br />
42
Hur konstruerar man ett digi<strong>tal</strong>t<br />
(inbyggt) system?
En processor innehåller många<br />
grindar…<br />
• Mycket ineffektiv att rita<br />
ett grindnät<br />
• Det behövs andra<br />
metoder att beskriva ett<br />
system!<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
44
Analysis<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Designmetodik<br />
Specification<br />
(function and other<br />
characteristics)<br />
Implementation<br />
(network of modules)<br />
Design<br />
45
Hierarki <strong>och</strong> abstraktionsnivåer<br />
• Hierarki: att se på saker som sammansatta<br />
av olika mindre <strong>och</strong> (förhoppningsvis)<br />
enklare saker<br />
• Abstraktion: när man tittar på en nivå, så<br />
behöver man inte veta alla de<strong>tal</strong>jer av lägre<br />
nivåer<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
46
Hierarkier i ett digi<strong>tal</strong>t system<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
In<br />
VDD<br />
Out<br />
VSS<br />
47
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Digi<strong>tal</strong> hårdvara i en dator<br />
48
System<br />
Moduler<br />
Grindar<br />
<strong>och</strong> vippor<br />
Transistorer<br />
Tre typiska designmetodiker<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Top-Down Bottom-Up Meet-in-the-Middle<br />
49
Iterera designcykeln<br />
vid behov tills dess<br />
designen fungerar<br />
tillfredställande.<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Meetinthemiddle metodik<br />
Analysera specifikationen (top-down) –<br />
ta reda på flaskhalsar <strong>och</strong><br />
dela upp problemet på lämplig hierarkisk nivå<br />
(studera begränsningar i målteknologin)<br />
Bygg (syntetiserbar) simuleringsmodell av<br />
specifikationen – bygg hierarkier (bottom up), testa<br />
varje nivå grundligt innan den byggs ihop med<br />
nästa nivå.<br />
Bygg prototyp – debugga kopplingarna <strong>och</strong>/eller<br />
programvaran pss som simuleringsmodellen<br />
byggdes<br />
(hierarkiskt bottom up).<br />
Färdig prototyp/design<br />
50
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
Förenklad Design Process<br />
51
Har kan vi hantera miljon<strong>tal</strong>s<br />
(miljard<strong>tal</strong>s) transistorer i en<br />
design?
CADverktyg<br />
• CADverktyg klarar av att hantera komplexiteten<br />
(an<strong>tal</strong> transistorer) <strong>och</strong> hjälper oss att konstruera<br />
(designa) högeffektiva integrerade kretsar till ett<br />
vitt spektrum av tillämpningar<br />
– Datorer<br />
– Telekommunikationer (switchar, routrar, mobiltelefoni)<br />
– Transportindustrin (rymd, flyg, bil)<br />
– Nöjesindustrin<br />
– ...<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
53
Vad är ett CADverktyg?<br />
• Ett CADverktyg är ett program som hjälper<br />
ingenjören att konstruera (tex en integrerad<br />
krets)<br />
• CADverktyg kan vara helt automatiserade<br />
eller interaktiva<br />
• CADverktyg är baserade på algoritmer<br />
som definierar ordningen på en sekvens av<br />
metoder som skall appliceras<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
54
Andra typer av CADverktyg<br />
• CADverktyg används inte enbart för syntes<br />
(konstruktion av kretsar), utan också vid<br />
analys av kretsar<br />
– tex. för att simulera en kretsbeskrivning för att<br />
kunna analysera tidsfördröjningar, hur mycket<br />
effekt den drar osv.<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
55
Hårdvarubeskrivande språk (HDL)<br />
• Hardware Description Languages (HDLs) är<br />
programmeringsspråk som gör det möjligt att<br />
beskriva hårdvarufunktioner på ett naturligt sätt<br />
• I motsats till normala programmeringsspråk som<br />
C, där koden exekveras sekventiellt, exekveras<br />
koden i HDLspråk parallellt.<br />
• HDL beskrivningar kan användas som indata till<br />
en ”synthesizer”, en sorts kompilator som<br />
producerar hårdvara istf exekverbar kod.<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
56
Men nu tar vi det hela från<br />
början...
• Digi<strong>tal</strong>tekniken använder bara två<br />
siffersymboler: 0 <strong>och</strong> 1<br />
– Enkelt att implementera – varje värde<br />
motsvarar en spänningsnivå,t ex<br />
• 0 Volt motsvarar 0<br />
• 5 Volt motsvarar 1<br />
<strong>Binära</strong> <strong>tal</strong><br />
Hur kan man då representera vanliga <strong>tal</strong>?<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
58
Decimala <strong>tal</strong>systemet<br />
• I det decimala <strong>tal</strong>systemet har man 10 olika<br />
siffersymboler: 0 till 9<br />
• Ett decimal<strong>tal</strong> representeras med en<br />
sekvens av siffersymboler<br />
– Positionen i sekvensen ger siffrans vikt <strong>och</strong><br />
multipliceras med en potens av 10 (basen i<br />
decimalsystemet är 10)<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
2 1<br />
( 653)<br />
10 = 6⋅10<br />
+ 5⋅10<br />
+ 3⋅<br />
10<br />
0<br />
59
N<br />
10<br />
Decimala <strong>tal</strong>systemet<br />
• Representation av ett hel<strong>tal</strong><br />
N<br />
10<br />
= x<br />
m−1<br />
⋅<br />
m−1<br />
m−2<br />
1<br />
10 + xm−2<br />
⋅10<br />
+<br />
x1<br />
⋅10<br />
+ x0<br />
⋅<br />
• Representation av ett ”komma<strong>tal</strong>”<br />
= x<br />
m−1<br />
2 1<br />
( 653)<br />
10 = 6⋅10<br />
+ 5⋅10<br />
+ 3⋅<br />
m−1<br />
m−2<br />
1<br />
0<br />
−1<br />
−2<br />
⋅10<br />
+ x ⋅10<br />
+ x ⋅10<br />
+ x ⋅10<br />
+ x ⋅10<br />
+ x ⋅10<br />
+ <br />
m−2<br />
( 6.<br />
53)<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
10<br />
= 6⋅10<br />
0<br />
1<br />
+ 5⋅10<br />
−1<br />
0<br />
10<br />
0<br />
+ 3⋅10<br />
−2<br />
−1<br />
10<br />
0<br />
−2<br />
60
<strong>Binära</strong> <strong>tal</strong>systemet<br />
• Binärsystemet fungerar på samma sätt som<br />
decimalsystemet, men man använder<br />
basen 2 i stället för 10!<br />
N<br />
2<br />
= x<br />
m−1<br />
m−1<br />
m−2<br />
1 0<br />
−1<br />
−2<br />
⋅2<br />
+ x ⋅2<br />
+ x ⋅2<br />
+ x ⋅2<br />
+ x ⋅2<br />
+ x ⋅2<br />
+ <br />
m−2<br />
2 1 0<br />
( 110)<br />
2 = 1⋅2<br />
+ 1⋅2<br />
+ 0⋅<br />
2 =<br />
1<br />
0<br />
( 6)<br />
1 0 −1<br />
−2<br />
( 11.<br />
01)<br />
2 = 1⋅2<br />
+ 1⋅2<br />
+ 0⋅<br />
2 + 1⋅2<br />
=<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
10<br />
−1<br />
( 3.<br />
25)<br />
10<br />
−2<br />
61
Ok<strong>tal</strong>a <strong>tal</strong>systemet<br />
• I det ok<strong>tal</strong>a <strong>tal</strong>systemet är basen 8 <strong>och</strong><br />
därmed används siffersymbolerna 0 till 7<br />
N<br />
8<br />
= x<br />
m−1<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
m−1<br />
m−2<br />
1 0 −1<br />
−2<br />
⋅8<br />
+ x ⋅8<br />
+ x ⋅8<br />
+ x ⋅8<br />
+ x ⋅8<br />
+ x ⋅8<br />
+ <br />
m−2<br />
1 0 −1<br />
( 65.<br />
3)<br />
8 = 6⋅8<br />
+ 5⋅8<br />
+ 3⋅8<br />
=<br />
1<br />
0<br />
−1<br />
( 53.<br />
375)<br />
10<br />
−2<br />
62
N<br />
16<br />
Hexadecimala <strong>tal</strong>systemet<br />
• I det ok<strong>tal</strong>a <strong>tal</strong>systemet är basen 16 <strong>och</strong><br />
därmed används siffersymbolerna 0 till 9<br />
<strong>och</strong> bokstäverna A till F<br />
= x<br />
m−1<br />
m−1<br />
m−2<br />
1<br />
0<br />
−1<br />
−2<br />
⋅16<br />
+ x ⋅16<br />
+ x ⋅16<br />
+ x ⋅16<br />
+ x ⋅16<br />
+ x ⋅16<br />
+ <br />
m−2<br />
1<br />
0 −1<br />
( AE.8)<br />
16 = 10⋅16<br />
+ 14⋅16<br />
+ 8⋅16<br />
=<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
1<br />
0<br />
−1<br />
( 174.<br />
5)<br />
10<br />
−2<br />
63
N<br />
Talsystem med basen b<br />
• En allmän formulering kan erhållas för<br />
basen b<br />
b<br />
= x<br />
m−1<br />
⋅b<br />
m−1<br />
+<br />
x<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
m−2<br />
⋅b<br />
m−2<br />
1 0<br />
−1<br />
−2<br />
+ x ⋅b<br />
+ x ⋅b<br />
+ x ⋅b<br />
+ x ⋅b<br />
+ <br />
1<br />
0<br />
−1<br />
−2<br />
64
Hel<strong>tal</strong>en för de olika <strong>tal</strong>systemen<br />
2 8 10 16<br />
0 0 0 0<br />
1 1 1 1<br />
10 2 2 2<br />
11 3 3 3<br />
100 4 4 4<br />
101 5 5 5<br />
110 6 6 6<br />
111 7 7 7<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
2 8 10 16<br />
1000 10 8 8<br />
1001 11 9 9<br />
1010 12 10 A<br />
1011 13 11 B<br />
1100 14 12 C<br />
1101 15 13 D<br />
1110 16 14 E<br />
1111 17 15 F<br />
10000 20 16 10<br />
65
Omvandling mellan decimala <strong>och</strong><br />
• Omvandling från binär till decimal är trivial<br />
• Omvandlingen från decimal<strong>tal</strong> till binär<strong>tal</strong> görs genom<br />
upprepade delning med 2<br />
– Resten ger siffervärdet<br />
binära <strong>tal</strong><br />
– Siffrorna kommer i omvänd ordning – Least Significant Bit (LSB) kommer<br />
först<br />
53÷<br />
2<br />
26 ÷ 2<br />
13÷<br />
2<br />
6 ÷ 2<br />
3÷<br />
2<br />
1÷<br />
2<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
26R1<br />
13R0<br />
6R1<br />
3R0<br />
1R1<br />
0R1<br />
⇒<br />
⇒<br />
⇒<br />
⇒<br />
⇒<br />
⇒<br />
x<br />
x<br />
5<br />
0<br />
= 1(LSB)<br />
x<br />
x<br />
x<br />
x<br />
1<br />
2<br />
3<br />
4<br />
= 0<br />
= 1<br />
= 0<br />
= 1<br />
= 1(MSB)<br />
66
Sammanfattning<br />
• Det finns olika <strong>tal</strong>system<br />
• Digi<strong>tal</strong>tekniken använder det binära<br />
<strong>tal</strong>systemet<br />
• Man kan omvandlar <strong>tal</strong> mellan olika<br />
<strong>tal</strong>system<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
67
• Designmetodik<br />
– Meetinthemiddle<br />
Sammanfattning<br />
• Analysera specifikation <strong>och</strong> målteknologi topdown.<br />
• Bygg hierarkier <strong>och</strong> testa bottomup.<br />
– CADverktyg<br />
• Nödvändiga för att kunna hantera komplexiteten<br />
– Hårdvarubeskrivande språk (HDL)<br />
• Tar för lång tid att konstruera med grindar<br />
• Beskriva grindar på högre nivå ökar prestationsgraden<br />
(grindar/timme) hos en designer.<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
68
Påbyggnadskurser (BSclevel)<br />
• Digi<strong>tal</strong>teknik<br />
– IS1200 Datorteknik, gk<br />
– IS1204 ITprojekt, Autonoma Inbyggda System<br />
– IL1331 VHDL Design<br />
• Breddningskurser<br />
– IL131V Tillämpad <strong>digi<strong>tal</strong>teknik</strong> med PICprocessor<br />
– EI1102 Elkretsanalys<br />
– IE1202 Analog Elektronik, ak<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
69
Relevanta Masterprogram<br />
• SystemonChip Design<br />
• Embedded Systems<br />
• Systems, Control and Robotics<br />
IE1204 Digi<strong>tal</strong> Design, HT 2011<br />
70