16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F2 1 IS1500 Datorteknik och komponenter Föreläsning DC F2 Kretsar med återkoppling Minnen
IS1500 Datorteknik o k Digitala komponenter Assemblerprogram C In- och utmatning Avbrott och "trap" Cacheminnen Trådar, synkronisering DC F1 DC F2 CE F1 CE F3 CE F4 CE F5 CE F6 CE F7 CE F8 CE F9 CE F10 CE F2 DC Ö1 DC Ö2 CE Ö4 CE Ö1 CE Ö2 CE Ö3 CE Ö10 CE Ö1 CE Ö2 CE Ö3 CE Ö5CE Ö6 lab dicom lab nios2time hemlab C lab nios2io lab nios2int hemlab cache hemlab trådar tentamen 16 July IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Från föreläsning DC-F1 zMånga olika grindar: AND, OR, INV NAND, NOR, XOR, XNOR,... zAvkodare zMultiplexer zHeladderare, zNegativa heltal med 2-komplementrepr. zAdderarkrets, även för subtraktion zKomparator 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F23
Exempel på grindar 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F24
Exempel på avkodare 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F25 m insignaler n utsignaler m till n avkodare ( n är oftast 2 m ) 2-4 avkodare, 3-8 avkodare,... 0 n-1 Insignaler anger binärt index för den utsignal som ska vara aktiv......
Exempel på multiplexer (väljare) 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F26 en utsignal m till 1 multiplexer ( m är oftast jämn 2-potens, 2 n ) 2-1 mux, 4-1 mux, 8-1 mux,..... m st insignaler n styrsignaler/adress Styrsignaler anger binärt index för den insignal som ska finnas på utsignalen......
Heladderare Full Adder 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F27 ab c in s C ut FA Adderar binärt en position inklusive carryin
Adderar-krets (för heltal i 2komplement) 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F28 FA Adderar 2 n-bitars heltal i 2 komplementrepresentation Det kan bli overflow/ spill !!!
Adderar-krets subtraktion 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F29 FA SUB/ADD Subtraktion utförs som addition av 2-komplement A – B = A + ( -B )
Komparator 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F210 U=1 om A = B (för varje par av de n bitpositionerna) U=0 för alla andra fall (A är inte = B) AB n n Komparator
Föreläsning DC-F2 nya komponenter zlatch, flip-flop, vippa zD-vippa, T-vippa,... zRegister (flera vippor) zRegister File (flera register) zMinneskrets (lagrar många bitar) zMinnesmodul (byggs av många minneskretsar) zSekvensnät July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F211
Kombinatoriskt nät 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F212 X0X0 X1X1 X2X2 U1U1 U0U0... med NAND-nät kan varje Boolesk funktion byggas Utsignalernas värde beror på nuvarande värde på insignaler (inte på tidigare värden) En viss insignalkombination ger alltid samma utsignal
Kombinatoriskt nät ett exempel 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F213 b a x Analysera detta NAND-nät x =......
Nät med återkoppling 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F214 R S Q Rita om detta nät så får man figur som på nästa sida Q’
SR-latch med NOR-grindar 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F215 R S Q Q’ R är en Reset-signal, S är en Set-signal Båda är aktivt höga
SR-latch med NOR-grindar 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F216 R S Q Q’ Exempel på ”stabilt” läge Vad händer om man ändrar S från 0 till 1 och tillbaks till 0
SR-latch med NOR-grindar 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F217 R S Q Q’ Exempel på ”stabilt” läge Vad händer om man ändrar S från 0 till 1 och tillbaks till 0 Latchen slår om från 0 till 1 (S = Set)
SR-latch med NOR-grindar 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F218 R S Q Q’ Exempel på ”stabilt” läge Vad händer om man ändrar R från 0 till 1 och tillbaks till 0
SR-latch med NOR-grindar 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F219 R S Q Q’ Exempel på ”stabilt” läge Vad händer om man ändrar R från 0 till 1 och tillbaks till 0 Latchen slår om från 1 till 0 (R = Reset)
Klockad SR-latch med NOR-grindar 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F220 R S Q Q’ clock D Utsignalen Q följer insignal D då clock är aktiv (hög) Utsignalen Q ”låses” då clock blir passiv (”går låg”)
SR-latch med NAND-grindar 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F221 S’ R’ Q Q’ R’ är en Reset-signal, S’ är en Set-signal Båda är aktivt låga
Klockad SR-latch med NAND-grindar 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F222 C S’ R’ Q Q’ D Utsignalen Q ”följer” insignal D då C är aktiv (hög) Utsignalen Q ”låses” då C blir passiv (”går låg”)
D flip-flop omslag i Q på negativ flank 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F223 C Q D C Q D C DQ
Flanktriggad D-vippa ”standard-vippa” 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F224 Synkront omslag (till D) sker på positiv flank på C Asynkront (direkt) omslag vid låg signal på clear eller preset C D preset Q Q’ clear preset Q Q’
Flanktriggad D-vippa ”standard-vippa” D Clock P4 P3 P1 P Q' Q 4 D Q Clock Utan preset och clear blir det 6 NAND-grindar. Även med Preset och Clear blir det 6 NAND-grindar S R 16 July IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Synkron D-vippa 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F226 clock D preset Q Q’ clear WR D in clock 0 1 D ut Synkront omslag (till D) sker på positiv flank på clock om WR=1 Om WR=0 har skrivs gamla värdet in i vippan (inget omslag)
Synkron T-vippa 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F227 clock D preset Q Q’ clear T clock 0 1 D ut Synkront omslag (växling) sker på positiv flank på clock om T=1 Om T=0 har skrivs gamla värdet in i vippan (inget omslag)
Synkront register, 32 bitar 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F228 clock D in D ut 32 bitars register 32 D-vippor Skrivning sker på varje positiv flank på clock Utsignal alltid tillgänglig
Synkront register, 32 bitar med villkorlig skrivning 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F229 clockWR D in D ut 32 bitars register 32 D-vippor Skrivning sker på positiv flank på clock endast om WR=1 Utsignal alltid tillgänglig
Synkront register, 32 bitar med tree-state busdrivkrets 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F bitars register clockWR D in D ut 32 bitars busdrivkrets OE Utsignal endast om OE = 1 (annars tree-state = ”bortkopplat”)
Symbol för komponent 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F231 WR OE WR clock
Register File Read from any register 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F232 OE WR clock Adress- Avkodare Data in Data ut Register Read Address OE WR clock OE WR clock... Bus
Register File Write to any register 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F233 OE WR clock Data in Data ut Register Write Address OE WR clock OE WR clock... clock Adress- Avkodare Bus
Register File symbol om 1 Read 1 Write 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F234 D ut 32 bitar D in 32 bitar 32 x 32 Read address 5 bitar Write address 5 bitar clock
Register File Multi-ported: 2 Read 1 Write 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F235 D ut 32 bitar D ut 32 bitar D in 32 bitar 32 x 32 Read address 5 bitar Read address 5 bitar Write address 5 bitar clock
Register File Multi-ported: 2 Read 1 Write 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F236 D ut 32 bitar D in 32 bitar 32 x 32 Read address 5 bitar Write address 5 bitar D ut 32 bitar 32 x 32 Read address 5 bitar Bus
Minneskrets lagringsplats för bitar 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F237 RWM 2 m x n RWM = Read Write Memory t.ex x 8 (1K x 8) 1024 x 8 bitar/celler
Minneskrets vilka signaler behövs 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F238 D ut n bitar Read Address m bitar 2 m x n För läsning behövs
Minneskrets vilka signaler behövs 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F239 D ut n bitar Read Address m bitar 2 m x n För skrivning behövs dessutom D in n bitar Write
Minneskrets vilka signaler behövs 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F240 D ut n bitar Read Address m bitar 2 m x n För att spara energi behövs dessutom D in n bitar Write CS – Chip Select
Minneskrets vilka signaler behövs 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F241 D ut n bitar Read Address m bitar 2 m x n För att bygga större minnen behövs dessutom D in n bitar Write CS – Chip Select OE
Minneskrets vilka signaler brukar finnas 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F242 D in och D ut n bitar Address m bitar 2 m x n Write/Read CS – Chip Select OE
Stort minne av flera små kretsar läs från en ”rad” ut på busen med OE 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F Data-ut Read address 1K x kretsar ger här 8K x 64 (8 rader 8 kolumner)
Stort minne av flera små kretsar skriv till en ”rad” 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F Data-in Write address
Skiftregister ”Minns förra invärdet” 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F245 clock D preset Q Q’ clear clock D preset Q Q’ clear clock D preset Q Q’ clear in
Sekvensnät Starta med värde July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F246 clock D preset Q Q’ clear clock D preset Q Q’ clear clock D preset Q Q’ clear
Sekvensnät Starta med värde July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F247 clock D preset Q Q’ clear clock D preset Q Q’ clear clock D preset Q Q’ clear
Sekvensnät Starta med värde July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F248 clock D preset Q Q’ clear clock D preset Q Q’ clear clock D preset Q Q’ clear
Kombinatoriskt nät 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F249 X0X0 X1X1 X2X2 U1U1 U0U0... med NAND-nät kan varje Boolesk funktion byggas Utsignalernas värde beror på nuvarande värde på insignaler (inte på tidigare värden) En viss insignalkombination ger alltid samma utsignal
Sekvens nät 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F250 X0X0 X1X1 X2X2 U1U1 U0U0 Utsignalerns värde beror på nuvarande värde på insignaler och på tidigare värden Utsignalenas värde beror på en sekvens av värden på insignalerna En viss insignalkombination kan ge olika utsignal (beroende på tidigare värden) ? ? ?
Sekvens nät 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F251 X0X0 X1X1 X2X2 U1U1 U0U0 Utsignalerns värde beror på nuvarande värde på insignaler och på tidigare värden Utsignalenas värde beror på en sekvens av värden på insignalerna Värden kan växla direkt då insignaler växlar Asynkrona nät Återkoppling i grindnät
Sekvens nät 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F252 X0X0 X1X1 X2X2 U1U1 U0U0 Utsignalerns värde beror på nuvarande värde på insignaler och på tidigare värden Utsignalenas värde beror på en sekvens av värden på insignalerna Värden kan växla direkt då insignaler växlar. Vippor växlar på clock-flank Synkrona nät Återkoppling klockade vippor och grindnät clock
Sekvens nät 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F253 X0X0 X1X1 X2X2 U1U1 U0U0 Utsignalerns värde beror på nuvarande värde på insignaler och på tidigare värden Utsignalernas värde beror på en sekvens av värden på insignalerna Vippor i kretsen lagrar kretsens nuvarande ”tillstånd” (state) Vid varje klockflank kan kretsen byta tillstånd (vipporna ändrar värden) clock delta lambda
16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F start u1u0 ska räkna 00 gå till uppåt 10 nedåt 11 gå till u1u0 m1m Syntes av sekvensnät – räknare Exempel på tillståndsgraf
Föreläsning DC-F2 nya komponenter zlatch, flip-flop, vippa zD-vippa, T-vippa,... zRegister (flera vippor) zRegister File (flera register) zMinneskrets (lagrar många bitar) zMinnesmodul (byggs av många minneskretsar) zSekvensnät July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F255
FPGA Field Programmable Gate Array zInnehåller många LE – Logic Elements z LE i kretsen på DE2-brädan zI första labben används ett LE zNios2 processorn använder cirka ¼ zNästa blad visar schema för ett LE zBladet efter ger vägledning för ananlys 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F256
16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F257
Vad finns i ett Logic Element zEn flanktriggad D-vippa med lite finesser zEn Look-Up Table för 4 variabler / insignaler varav en insignal kan väljas från vippan zProgrammerbara 2-1 muxar som styr inkoppling av insignal data3 och om vippan ska användas eller ej zVal vilken utsignal som ska kunna routas vidare zEn hel del mera finesser / klurigheter 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F258
Prova en krets på FPGA Steg som ingår i labben zCreate a new project zCreate a new Block Diagram/Schematic File zDraw a schematic diagram. zCompile the project zCreate a Vector Waveform File. zDraw input waveforms. zSimulate the project zAssign Pins. zCreate a Block Symbol File. zDownload your design into the DE2 board. zTest your design. 16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F259