IS1500 Datorteknik och komponenter 6 apr -17 IS1500 Datorteknik och komponenter Föreläsning DC F2 Kretsar med återkoppling Minnen Här kan Du anteckna vad du vill .... 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Trådar, synkronisering IS1500 Datorteknik o k DC F1 DC Ö1 DC F2 DC Ö2 lab dicom Digitala komponenter CE F1 CE F2 CE Ö1 CE F3 CE Ö2 CE F4 CE Ö3 lab nios2time Assemblerprogram CE F5 CE Ö4 hemlab C C CE F6 CE Ö5 CE Ö6 lab nios2io In- och utmatning CE F7 CE Ö1 lab nios2int Avbrott och "trap" CE F8 CE Ö2 hemlab cache Cacheminnen CE F9 CE Ö3 hemlab trådar Trådar, synkronisering CE F10 CE Ö10 tentamen
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Från föreläsning DC-F1 Många olika grindar: AND, OR, INV NAND, NOR, XOR, XNOR, ... Avkodare Multiplexer Heladderare, Negativa heltal med 2-komplementrepr. Adderarkrets, även för subtraktion Komparator 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Exempel på grindar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Exempel på avkodare Insignaler anger binärt index för den utsignal som ska vara aktiv n-1 . m insignaler n utsignaler m till n avkodare ( n är oftast 2m ) 2-4 avkodare, 3-8 avkodare, ... 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Exempel på multiplexer (väljare) Styrsignaler anger binärt index för den insignal som ska finnas på utsignalen n styrsignaler/adress ... . m st insignaler en utsignal m till 1 multiplexer ( m är oftast jämn 2-potens, 2n ) 2-1 mux, 4-1 mux, 8-1 mux, .. 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Heladderare Full Adder Adderar binärt en position inklusive carryin a b Cut FA cin s 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Adderar-krets (för heltal i 2komplement) Adderar 2 n-bitars heltal i 2 komplementrepresentation Det kan bli overflow/ spill !!! FA FA FA FA FA FA 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Adderar-krets subtraktion Subtraktion utförs som addition av 2-komplement SUB/ADD FA FA FA FA FA FA A – B = A + ( -B ) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Komparator A B n n Komparator U=1 om A = B (i varje av de n bitpositionerna) U=0 för alla andra fall 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Föreläsning DC-F2 nya komponenter latch, flip-flop, vippa D-vippa, T-vippa, ... Register (flera vippor) Register File (flera register) Minneskrets (lagrar många bitar) Minnesmodul (byggs av många minneskretsar) Sekvensnät ... 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Kombinatoriskt nät X2 U1 X1 . . . U0 X0 med NAND-nät kan varje Boolesk funktion byggas Utsignalernas värde beror på nuvarande värde på insignaler (inte på tidigare värden) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Kombinatoriskt nät ett exempel Analysera detta NAND-nät x = ...... 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Nät med återkoppling R Q Q’ S Rita om detta nät så får man figur som på nästa sida 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NOR-grindar Q Q’ S R är en Reset-signal, S är en Set-signal Båda är aktivt höga 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NOR-grindar 1 R Q 1 1 Q’ S Exempel på ”stabilt” läge Vad händer om man ändrar S från 0 till 1 och till baks till 0 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NOR-grindar 1-0-0 R Q 1-0-0 0-1-1 0-1-1 1-0-0 0-1-0 Q’ S 0-1-1 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) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NOR-grindar R Q 1 1 Q’ S 1 Exempel på ”stabilt” läge Vad händer om man ändrar R från 0 till 1 och tillbaks till 0 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NOR-grindar 0-1-1 0-1-0 R Q 0-1-1 1-0-0 1-0-0 0-1-1 Q’ S 1-0-0 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) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Klockad SR-latch med NOR-grindar Q Q’ D clock Utsignalen Q följer insignal D då clock är aktiv (hög) Utsignalen Q ”låses” då clock blir passiv (”går låg”) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
SR-latch med NAND-grindar Q Q’ R’ är en Reset-signal, S’ är en Set-signal Båda är aktivt låga 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Klockad SR-latch med NAND-grindar Q Q’ R’ C Utsignalen Q följer insignal D då C är aktiv (hög) Utsignalen Q ”låses” då C blir passiv (”går låg”) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
D flip-flop triggar på negativ flank Q D C Q D C Q C 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Flanktriggad D-vippa ”standard-vippa” C D preset Q Q’ clear preset Q Q’ clear Synkront omslag (till D) sker på positiv flank på C Asynkront omslag vid låg signal på clear eller preset 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Synkron D-vippa preset D Q Dut Din 1 WR clock Q’ clear clock 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) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Synkron T-vippa preset D Q Dut 1 T clock Q’ clear clock 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) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Synkront register, 32 bitar Din 32 bitars register 32 D-vippor clock Dut Skrivning sker på varje positiv flank på clock Utsignal alltid tillgänglig 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Synkront register, 32 bitar med villkorlig skrivning Din 32 bitars register 32 D-vippor WR clock Dut Skrivning sker på positiv flank på clock om WR=1 Utsignal alltid tillgänglig 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Synkront register, 32 bitar med tree-state busdrivkrets Din 32 bitars register WR clock 32 bitars busdrivkrets OE Dut Utsignal endast om OE = 1 (annars tree-state = ”bortkopplat”) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Symbol för komponent WR WR OE clock OE clock 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Register File Read from any register Datain Bus OE WR clock Register Read Address OE WR clock . . . . . . OE WR clock Adress- Avkodare Bus Dataut 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Register File Write to any register Datain Bus OE WR clock Register Write Address OE WR clock . . . . . . OE WR clock Adress- Avkodare clock Bus Dataut 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Register File symbol om 1 Read 1 Write Din 32 bitar Write address 5 bitar 32 x 32 Read address 5 bitar Dut 32 bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Register File Multi-ported: 2 Read 1 Write Din 32 bitar Write address 5 bitar 32 x 32 Read address 5 bitar Read address 5 bitar Dut 32 bitar Dut 32 bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Register File Multi-ported: 2 Read 1 Write Din 32 bitar Bus Write address 5 bitar 32 x 32 32 x 32 Read address 5 bitar Read address 5 bitar Dut 32 bitar Dut 32 bitar Bus 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets lagringsplats för bitar RWM 2m x n RWM = Read Write Memory t.ex. 1024 x 8 (1K x 8) 1024 x 8 bitar/celler 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets vilka signaler behövs För läsning behövs 2m x n Address m bitar Read Dut n bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets vilka signaler behövs Din n bitar För skrivning behövs dessutom Write 2m x n Address m bitar Read Dut n bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets vilka signaler behövs Din n bitar För att spara energi behövs dessutom Write 2m x n CS – Chip Select Address m bitar Read Dut n bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets vilka signaler behövs Din n bitar För att bygga större minnen behövs dessutom Write 2m x n CS – Chip Select Address m bitar Read OE Dut n bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Minneskrets vilka signaler brukar finnas Write/Read Address m bitar 2m x n CS – Chip Select OE Din och Dut n bitar 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Stort minne av flera små kretsar läs från en ”rad” ut på busen med OE 7 1K x 8 . . . 31 . . . Read address 64 kretsar ger här 32K x 64 . . . . . . . . . . . . . . . 1K x 8 Data-ut 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Stort minne av flera små kretsar skriv till en ”rad” . . . . . . Write address . . . . . . . . . . . . . . . Data-in 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Skiftregister ”Minns förra invärdet” preset preset preset D Q D Q D Q clock Q’ clock Q’ clock Q’ clear clear clear 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Sekvensnät Starta med värde 000 ... preset preset preset D Q D Q D Q clock Q’ clock Q’ clock Q’ clear clear clear 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Sekvensnät Starta med värde 000 ... preset preset preset D Q D Q D Q clock Q’ clock Q’ clock Q’ clear clear clear 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Sekvensnät Starta med värde 000 ... preset preset preset D Q D Q D Q clock Q’ clock Q’ clock Q’ clear clear clear 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Kombinatoriskt nät X2 U1 X1 . . . U0 X0 med NAND-nät kan varje Boolesk funktion byggas Utsignalernas värde beror på nuvarande värde på insignaler (inte på tidigare värden) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Sekvens nät X2 U1 ? ? ? X1 U0 X0 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 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Sekvens nät Asynkrona nät Återkoppling i grindnät X2 U1 X1 U0 X0 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 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Sekvens nät Synkrona nät Återkoppling klockade vippor och grindnät X2 U1 X1 U0 X0 clock 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 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 Sekvens nät delta X2 U1 X1 U0 X0 lambda clock 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 Vippor i kretsen lagrar kretsens nuvarande ”tillstånd” (state) Vid varje klockflank kan kretsen byta tillstånd (vipporna byter värde) 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Föreläsning DC-F2 nya komponenter latch, flip-flop, vippa D-vippa, T-vippa, ... Register (flera vippor) Register File (flera register) Minneskrets (lagrar många bitar) Minnesmodul (byggs av många minneskretsar) Sekvensnät ... 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
FPGA Field Programmable Gate Array Innehåller många LE – Logic Elements 33.216 LE i kretsen på DE2-brädan I första labben används ett LE Nios2 processorn använder cirka ¼ Nästa blad visar schema för ett LE Bladet efter ger vägledning för ananlys 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
IS1500 Datorteknik och komponeneter, föreläsning DC-F2 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Vad finns i ett Logic Element En flanktriggad D-vippa med lite finesser En Look-Up Table för 4 variabler / insignaler varav en insignal kan väljas från vippan Programmerbara 2-1 muxar som styr inkoppling av insignal data3 och om vippan ska användas eller ej Val vilken utsignal som ska kunna routas vidare En hel del mera finesser / klurigheter 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2
Prova en krets på FPGA Steg som ingår i labben Create a new project Create a new Block Diagram/Schematic File Draw a schematic diagram. Compile the project Create a Vector Waveform File. Draw input waveforms. Simulate the project Assign Pins. Create a Block Symbol File. Download your design into the DE2 board. Test your design. 6 April 2017 IS1500 Datorteknik och komponeneter, föreläsning DC-F2