1.17k likes | 1.31k Views
Mikroprogramozott VLSI áramkörök és intelligens szenzorok, 200 7. Szenzor. Adatátvitel. Intelligens szenzor blokksémája. A/D átalakító. Jel elő-készítő. RF. Jelfeldolgozó Processzor. Adat memória. Program memória. Logika. Logikai rendszerek
E N D
Mikroprogramozott VLSI áramkörök és intelligens szenzorok, 2007. VLSI
Szenzor Adatátvitel Intelligens szenzor blokksémája A/D átalakító Jel elő-készítő RF Jelfeldolgozó Processzor Adat memória Program memória VLSI
Logika Logikai rendszerek A ma használatos VLSI áramkörök általában az alábbi öt logikai rendszer alapján épülhetnek fel: - statikus CMOS logika, - dinamikus CMOS logika, - transzfer gate-s logika - bipoláris emittercsatolt (ECL) logika, mint az előzőek kiegészítője, - BiCMOS logika VLSI
Vcc p p A Y=A +B B C t n n Logika Statikus CMOS logika • Duál pull-up hálózat • 2xCbe • Nincs időzítés (standby) • Egyszerű a tervezés VLSI
Logika Transzfer-gates logika (Pass gate logic) A A Y=A B B Emittercsatolt logika (ECL) Vcc Szint- helyreállítás R1 R2 B A Uref Y=A . B VLSI
Logika Statikus RS-tároló VCC Q Kvázi-statikus D-tár Q C2 C1 Vcc SET RESET D Q T1 beírás Vcc Cpar Brute force…! tartás VLSI
å = U R I ki 1 Egylépéses áramösszegző D/A D/A conv VCC R1 Virtuális föld Sín I - Sín Uki Iref + K7 K0 K1 I0 2.I0 T1 T8 128.I0 Di Di K-kapcsoló -USS VLSI
K7 Feszültség-összegző D/A átalakító D/A conv Kv Uki C0 Cref 128.C0 C0 2.C0 Uref Uki K0 K1 Cgnd Uref VLSI
- n 1 R D å = × i 1 U U ki ref i R 2 = i 0 R/2R létrás D/A átalakító D/A conv Ellenállás-osztós D/A átalakító Iref Uref R R R 2R 2R R R1 R Uki - Uki R Virtuális föld + R Bináris fa VLSI
Töltés-újraelosztásos kapacitív A/D átalakító D/A conv Kv komparátor Ux C-háló + 1-et ír be, ha pozitív C0 SAR K0 K1 K7 Ube Successive Approximation Register Uref Kbe • Mintavétel (sample): Kv zár, Kbe→ Ube • Tartás (hold): Kv nyit, K0- K7 zár, Ux= -Ube • Újraelosztás (redistribution) • Kbe → Uref • 3.1. K0 nyit • 3.2 K1 nyit, stb. VLSI
Áramok kapacitív tárolása D/A conv +U ITÁR + - C -U VLSI
Ha 2IBE>IREF, akkor d=1 +V Φ3 C3 4 IBE T3 2IBE S 2 1 3 - + Φ1+ Φ3 Φ2+ Φ3 Áram- komparátor d (Φ1+ Φ2) + Φ4 T1 T2 Φ2 IREF IBE IBE C1 C2 Φ1 -V S Áramkapcsolós, ciklikusan működő A/D átalakító D/A conv d VLSI
I3 „átmásolása” C1 és C2-be…. D/A conv Ha IX>IREF, akkor d=1 +V Φ3 C3 I3 T3 d - + Φ1+ Φ3 Φ2+ Φ3 Áram- komparátor d (Φ1+ Φ2) + Φ4 I2 I1 T1 T2 Φ2 IREF C1 C2 Φ1 -V VLSI
Áramkapcsolós A/D további lépései D/A conv +U 2. lépés: d=1, S=0 I3= 2IBE I1=I2=2IBE-IREF I3=(I1+I2)=4IBE-2IREF 4IBE-2IREF>IREF → IBE>3/4 IREF 3. lépés: d=1, S=0 I1=I2=I3-IREF=4IBE-3IREF I3=(I1+I2)=8IBE-6IREF 8IBE-6IREF>IREF→ IBE>7/8 IREF I - + C -U VLSI
Analóg MOS-kapcsoló helyettesítőképe Analóg Unyitó Uki Ube nMOS rON Unyitó Unyitó G pMOS Cg s Cg d rsd K D S Uki VTn Ube VTp 0 5V Ube Cd b Cs b eredő C terhelő RC=integráló tag ! Spektrum…! VLSI
Analóg Chopper-stabilizált komparátor 1 2 Uoffset U C Uki 1 + U+ 1 2 VLSI
1,8V T6 T7 T8 1,14V 100/0,6 200/0,6 100/0,6 100A 200A T1 1,14V 160/0,4 T2 300Ω 2pF U+ U- 160/0,4 1,14V Uki 100A 1,2V 0,64V T5 50A 160/0,8 T4 T3 40/0,8 40/0,8 Kétfokozatú CMOS műveleti erősítő Analóg 0,25m techn. λn=0,02/V λp=0,04/V γ=0,4 [V-1/2] VTn=0,48V VTp=-0,48V G=70 dB GBW=75MHz φm=55o P=0,72mW VLSI
Analóg Chopper-stabilizált erősítő Főerősítő Ube Uki Hibaképző és kompenzáló K Chopper stabilizált mellékerősítő VLSI
„Bandgap” referencia-feszültség Analóg VDD T2 T1 R2 R1 + ID=I0 exp(qUD/kT) UBG UEB1 R3 I2 I1 UEB2 UEB1 VBB X kT/q Q1 Q2 VLSI
Ifűtő IREF USzab Szabályzó áramkör „fűtő”-tranzisztor Hőmérséklet-mérő Szilícium-dióda Differenciál-erősítő On-chip thermosztát Analóg Faichild, 1964 VLSI
„Wide-swing”-áramtükör Analóg (Kiiktatja T2 drain-feszültség függését) Generátor VCC T2 T1 UDS= közel állandó M T3 „megfogja” az M-pont feszültségét T3 UG1 Igen Itülör R1 VLSI
Analóg WTA áramkör telítéses tranzisztorokal (Winner Take All) Ube (j) mirror VDD T2 T3 T1 UG4 T4 ID Ij UCOM UG5 T5 Uki (j) VSS Ha Ube(j) megnő, IJ megnő, felhúzza UCOM-ot, többi cella árama lecsökken, összáram állandó marad! k=k4 ID=mIj m=mirror VLSI
Kapcsolt kapacitású szűrők. I. Rezgő ellenállás Analóg Rekv U1 U2 U1 U2 C0 C0 U1 U2 C0 U1 Kapcsoló VLSI
Control gate 0 V +12V +5V S D +12V + +5V +12V 0 V URead from gate tunnel oxid to gate READ ERASE WRITE + + n n Memória Klasszikus EEPROM cella VLSI
synapsis „Tanító feszültség”=-5V Szinapszis-áramkör alkalmazása Ucontrol UDszab poly Utunnel=12V US n+ „Hot-elektron injekció Lebegő gate Tunnelezés vissza UDszab UTunnel Tanuló elem visszatunnelező elektronjai UControl „Tanító feszültség”=-5V VLSI
synapsis Szinapszis-áramkör alkalmazása Utunnel= 12V UD,szab T1 T2 T3 0 IS2 IS1 IS3 -5V Isum Synapse11 Synapse12 Synapse13 UC1 UC3 UC2 Utunnel: alagútáram, UD: drainfesz. közös; UC: gatefesz. külön-külön, Tanulás: 10s, Uc1=-5V, → Ufl1=-4V (4/5-öd), Utunnel=12V → U1=-16V, elektronok távoznak T1-ről. A többi tranzisztornál U=-12V, tunnel áram=0. T1 árama exp. megnő → megnő a súlya ISUM-ban, UDszab visszaszabályoz… VLSI
VLSI áramkörök megvalósitási lehetőségei PLA Szempontok: - sebesség - fogyasztás - költségek, ár - tervezés, korrekció Költség Programozható (Gate-array, SoC) Cellás tervezés Full-custom (tipikus: mobil) Darabszám 1000 10,000 100,000 VLSI
Mintermek ÉS mátrix VAGY mátrix Bemenetek Kimenetek PLA PLA áramkörök elvi elrendezése VLSI
VCC VCC R1 A+B A+B A+B Ai Bi AB+AB AB+AB PLA Statikus PLA áramkör VLSI
K1 CYi+1 Ai+1 Bi+1 Kétbites aritmetikai egység megvalósítása PLA-val PLA 1 1 K0=K1=0 Ai Ai Bi Ai Bi Ai Bi Increment: Ai Bi Bi CYi Ai Bi CYi Bi Ai K0 VLSI
VCC p p Q n n Control Gate Control Gate Floating Floating Drain Source Drain Source Tunnel Szigetelő Programozott áramkörök programtároló elemei FPGA • Statikus flip-flop • UV-EPROM • EEPROM/FLASH • Antifuse VLSI
P Q D C EEPLD „Makrocella” felépítése FPGA Output Enable Preset EEPROM cella Programozható flip-flop inverz I/O pin sum Prog. Prog. products Cella órajel Inputs Clear Global órajel Bemenetekről Makrocellákról I/O-ról VLSI
I/O I/O I/O I/O I/O I/O I/O I/O I/O Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell I/O I/O I/O I/O I/O I/O I/O I/O I/O FPGA EPLD blokkvázlata (Altera) Global Clock Programmable Interconnect Array (PIA) VLSI
SWITCH MATRIX CLB CLB - Programozható • Szomszédos cellák • között fix CLB CLB - Globális vonalak • Long-range • vonalak PASS-TRANZISZTOROS ÖSSZEKÖTTETÉSEK(XILINX) FPGA VLSI
16 / 1 MUX Write 4 4 Read FPGA QPro Virtex-II Triple function slice circuit - LUT (1bit ROM) - 16 bit RAM - 16 bit Shift regiszter VCC VCC 2 1 Config. dinamikus shift regiszter di+1 Bit stream di Ci+1 Ci Configuration write in VCC Read out Shift RAM out Out 4 / 16 Címkóder 0 0 LUT out MUX 15 Closed if not RAM Shift 15 Read RAM data in VLSI 4
FPGA QPro Virtex-II Chip-architektúra Globális órajel elosztó Órajel vezérlő Input/Output Blokk Konfigurálható Logikai Blokk Szorzó áramkör Memory-hungry? VLSI
FPGA QProVirtex-II Összeköttetések Horizontális és vertikális „Long Lines” Horizontális és vertikális „Hex Lines” (3. és 6. block) 3. 6. Horizontális és vertikális „Double Lines” 1. 2. Switch matrix Direkt vonalak a szomszédos 8 blokkhoz VLSI
18V ACTEL-TEXAS antifuse memória-elem FPGA Poliszilicium vezeték SiO2 szigetelő Oxid-Nitrid-Oxid (ONO) ultravékony szigetelő n-adalékolt réteg Rnormal> 10 MΩ Rátütött < 300Ω VLSI
FPGA Anfuse elemek programozása (átütése) F1: row1=18V T2 on GND F3: col3=18V T1 on GND VLSI
FPGA System-on-Chip (SoC) áramkörök 8-bites mikrocontroller Dual-port memória FPGA VLSI
Atmel System-on-Chip (SoC) áramkör FPGA 50K kapu, 3V, 18Kbit, 100MHz, 384I/O. vezetékek a memória és C felé I/O cellák cella Vertikális sínek: 5 x 1 local+2expr. Horizontális Sínek: 5 x 1 local + 2 express Csatlakozási lehetőség h/v Segment = 4 x 4 cella 32 x 4 bit memória Local: 4cella, Expr:8 cella I/O cellák VLSI
Atmel System-on-Chip (SoC) áramkör FPGA N NW NE Express line W E Local line Cella Cella Cella Kapcsolódási pontok SW SE S Cellák közti közvetlen kapcsolat VLSI
NW NE SE SW DG N E S W OG FPGA konfigurált multiplexer. (alapesetben "1" ) FBin LB SoC logikai blokk 8x1 8x1 LOOK-UP LOOK-UP TABLE TABLE LB2 D CLK R Q CEout VLSI NW NE SE SW N E S W
Perifériás int. Soros interfész Timer 2 Timer1 Watchdog Port A Port A Port A Port A 8 8 8 8 Proc. Reset Interrupts XTAL Mód Analóg bemenetek Interruptok Órajel System control A/D konverter Vcc,a Vss,a 3 I/O Rx CPU RAM Tx Event EPROM Data EEPROM PWM Event PWM Vcc Vss 8-bites microcontroller blokksémája Address low Address high Data Control VLSI
Proc. Mikrokontrollerek főbb jellemzői • von Neumann, vagy Harvard-típusú felépítés • Sebesség (egy művelet végrehajtási ideje) • Program-memória típusa (Flash) és mérete • On-chip RAM mérete • Külső memória-bővítés • Fogyasztás aktív üzemben • Kisfogyasztású, takarékos üzemmódok • Utasítás-készlet (RISC) • On-chip A/D ill. D/A átalakító • Interfészek (I2C, CAN, USB) • Extra szolgáltatások VLSI
Proc. Rendszer-vezérlő regiszterek 1. Utasítás számláló (PC, program counter, 16-bit) 64KB közvetlenül címezhető. - memória-bankok: külön chip-enable logika 2. Stack pointer (SP, 8-bit): „last entry or top of the stack”, push előtt automatikus increment, pop előtt decrement (az alsó címen a cím High-byte, felsőn a Low-byte) 3. Status Regiszter (ST, 8-bit): Carry, Negative (Msb=előjel), Zero, Overflow, Interrupt enable on levels 4. Configurációs regiszterek (pl. 3x8 bit): Autowait, Osc.OK, Mode control, Halt, Standby, Priviledge mode, Cold start (100ms wait), Test VLSI
Proc. RISC utasításkészlet Tipikus „Reduced Instruction Set Computer” utasítás-készlet: • Arithmetic: ADD, ADC, DAC, SUB, SBB, DSB, CMP, INC, INCW, DEC, MPY, DIV, CMP • Logical: AND, OR, XOR, INV, COMPL, RR, RRC,RL, RLC, SBIT0, SBIT1, CMPBIT, CLR, SWAP, TST • Move: MOV (pl. 27), MOVW, XCHB • Stack&Status: LDST, LDSP, POP, PUSH, SETC, CLRC, DINT, EINT • Egyéb: BR, JMP, JMPBIT, DJNZ, CALL, CALLR, RTS, RTI, NOP, IDLE, TRAP VLSI
Proc. ”Energia-takarékos” (Standby) üzemmódok Különböző, nem egységes elnevezések: Power-save, Standby, Sleep, stb. Módok: 1. Egyes egységek leállítva, program szerint („Half active”) 2. Sleep: csak az „awake”-figyelés működik 3. Mint „Sleep”, de közben számolja az időt és időre visszatér 4. Csak interfész-t figyel 5. „HALT” leállítja az órát, minden leáll – reset-tel vagy külső órával indítható újra 6. Sub-clock (NEC találmány): 30kHz-es clock-ra vált át. VLSI
Proc. Serial Communication Interface (SCI) felprogramozása Baud rate = CLK/(128*K), ahol CLK=kristály-frekvencia, K= konstans, beírandó SCI periféria-regiszterbe; kerekítési hiba <2% További regiszterek ill. bitek: - set TX and RX to privileg (nem hozzáférhető) üzemmódba - RS232 CLK pin → general purpose I/O - stop bit, even parity, 8-bits/char - enable interrupts - start transmit VLSI
Proc. ”Energia-takarékos” (Standby) üzemmódok Különböző, nem egységes elnevezések: Power-save, Standby, Sleep, stb. Módok: 1. Egyes egységek leállítva, program szerint („Half active”) 2. Sleep: csak az „awake”-figyelés működik 3. Mint „Sleep”, de közben számolja az időt és időre visszatér 4. Csak interfész-t figyel 5. „HALT” leállítja az órát, minden leáll – reset-tel vagy külső órával indítható újra 6. Sub-clock (NEC találmány): 30kHz-es clock-ra vált át. VLSI