1 X2 IN Vdd OUT GND Översikt: F1: Introduktion Digitalkonstruktion II, 4p - Föreläsare: Bengt Oelmann - Kurslitteratur: "Principles of CMOS VLSI Design - A systems Perspective" - Föreläsningar: 16 - Räkneövningar: 8 - Laborationer: 4 - Målsättning: ge grundläggande kunskaper om strukturerad VLSI konstruktion ge grundläggande kunskaper om simulering och konstruktionsverifiering ge grundläggande kunskaper om testbarhet kännedom om verktyg för VLSI konstruktion Målsättning med F1: - Ge en överblick över vilka grundkomponenter som bygger upp ett digitalt CMOS system och hur man konstruerar ett system med dessa. - Innehåll Exempel på VLSI system baserat på CMOS CMOS switchen Kombinatorisk logik Minneselement Beskrivningsmetoder för CMOS system 1 ( 2 9 ) 2 ( 2 9 ) Integrerad krets Digital IC konstruktion System Digital IC konstruktion Algorithm - Architecture I Q A/D A/D Arithmetic X 2 Padframe består av anslutningspunkter för in- och utsignaler samt matningsspänning till kretsen. Core är kretsar för att utföra den funktion man önskar. - i grunden uppbyggd av transistorer - typiska byggblock är logiska grindar RAMoch ROM-minnen padframe core + 2 logx D/A 2 2 log I + Q x i y i c i + z i A A Logic Circuit 3 ( 2 9 ) 4 ( 2 9 )
Exempel på VLSI system baserat på CMOS Mikroprocessorer Komplexa digitala kretsar med hög beräkningskapacitet FPGA:er (FPGA= Field Programmeble Gate Arrays) digitala ASIC:s (ASIC=Application Specific Integrated Circuits) Analoga och mixed analoga digitala kretsar med moderata krav på frekvens Exempel: Digital Equipments ALPHA processor Alpha 21164 Microprocessor Fact Sheet Clock Speed Manufacturing process 600 MHz 0.35 µ m Die size 208 mm 2 Elektroniska logiska grindar Elektronisk krets som beteer sig som en logisk grind (spänning för logisk etta) logisk symbol elektriska parametrar logiska variabler ersätts med spänningar Transistor count 9.6 Million CPU Voltage 2.4 V I/O Voltage 3.3 V Power Package 45 W 499-pin PGA (57x57 mm) icke-operatorns sanningstabell ersatt med spänningar 5 ( 2 9 ) 6 ( 2 9 ) Ström genom en MOSFET av n-typ () har tre anslutningar: - Gate (G) - Source (S) - Drain (D) Spänningen V GS kontrollerar strömmen i transistorn I digitala kretsar är transistorns tillstånd AV (V GS =0V) och PÅ (V GS =V DD ) av intresse. som en kontrollerbar switch Inför en ideal switch-modell för Definiera switchens funktion som: spänning V GS logiskt värde switchens tillstånd 0 V 0 AV I = 0 I flyter V DD 1 PÅ I = 0 I flyter AV PÅ AV (öppen) PÅ (sluten) 7 ( 2 9 ) 8 ( 2 9 )
Switch-modell för Switchen kallas för - spänningskontrollerad switch (då spänningar används) - logikkontrollerad switch (då logiska värden används) Ström genom en MOSFET av p-typ () Den andra typen av transistor kallas för är den logiska och elektriska komplementet till, d.v.s: - polariteten för spänningarna och strömriktningen i transistorn är omvända Switch kontrolleras av G:s värde spänning V GS logiskt värde switchens tillstånd 0 V 0 PÅ V DD 1 AV kretssymbol switch-modell I flyter I = 0 kretssymbol switch-modell PÅ (sluten) AV (öppen) 9 ( 2 9 ) 1 0 ( 2 9 ) Komplementära par av och MOSFET par som inverterare Konstruera en inverterare... 0 motsvarar 0V 1 motsvarar V DD CMOS är förkortning av Complementary MOSFET Digitalt beteende på CMOS krets PÅ AV AV PÅ / par... med MOS transistorer CMOS inverterare PÅ AV AV PÅ Komplementärt par: - en och en med sammankopplade gate-elektroder - Den gemensamma G-signalen kontrollerar den logiska grinden - då en transistor är PÅ så är den andra AV. / par låg gate-spänning hög gate-spänning 1 1 ( 2 9 ) 1 2 ( 2 9 )
Logiska grindar i CMOS ICKE-operationen kan utökas till t.ex NOR- och NAND-operationer Grundläggande struktur: Seriekoppling av MOS transistorer koppling mellan transistorerna träd 3-ingångars logisk grind i CMOS x kopplas till y om och endast om A=1 OCH B=1 x kopplas till y om och endast om A=0 OCH B=0 träd För en sådan krets måste ett av de två följande påståenden vara sant för samtliga kombinationer av insignaler: - trädet är AV (öppet) och trädet är PÅ (slutet) - trädet är PÅ (slutet) och trädet är AV (öppet) f(a,b,c) tilldelas endast ett av värdena 1 eller 0. Seriekoppling verkar som en AND-funktion - : Om både A=1 OCH B=1, då kopplas x till y - : Om både A=0 OCH B=0, då kopplas x till y 1 3 ( 2 9 ) 1 4 ( 2 9 ) Parallellkoppling av MOS transistorer Syntes av grundläggande grindar i CMOS De grundläggande grindarna i CMOS är NOT, NAND och NOR Följande observationer kan göras: - seriekopplade transistorer kan användas för AND funktionen - parallellkopplade transistorer kan användas för OR funktionen x kopplas till y om antingen A=1 ELLER B=1 Parallellkoppling verkar som en OR-funktion - : Om A=1 ELLER B=1, då kopplas x till y - : Om A=0 ELLER B=0, då kopplas x till y x kopplas till y om antingen A=0 ELLER B=0 - Vi kan göra ekvivalenta påståenden för transistorer. Hänsyn måste tas till att de är aktivt låga. Med demorgans relation kan vi skriva om seriekopplingen som A B = A+B parallellkopplingen som A+B = A B - seriekopplade transistorer kan användas för NOR funktionen - parallellkopplade transistorer kan användas för NAND funktionen 1 5 ( 2 9 ) 1 6 ( 2 9 )
Exempel: 2-ingångars NAND grind (NAND2) Syntes av komplexa logiska grindar Komplexa funktioner kan byggas upp av ett antal kaskadkopplade enkla funktioner som NAND, NOR och NOT Med komplexa CMOS grindar får man en lösning som är snabbare och mer kompakt (färre transistorer) En komplex grind har samma karakterisktik som en enkel grind - Komplementära par av MOSFET transistorer används där varje ingång är kopplad till en och en - Den konstrueras enligt den generella modellen: träd träd 1 7 ( 2 9 ) 1 8 ( 2 9 ) Syntes av komplexa CMOS grindar, metod 1 Utgå från det logiska uttrycket Bilda trädet genom att bilda serie- och parallellkopplingar utifrån AND- och OR funktioner Bilda trädet genom inversen av trädet Exempel: logisk funtion Z = AB + C Z n = AB + C Z p är inversen av Z n, alltså: Z p = AB + C = (A + B)C A +B C Syntes av komplexa CMOS grindar, metod 2 Utgå från Karnaugh diagram Bilda -träd - ringa in 0 -orna och skriv upp uttrycket på summa-av-produktform (SOP) Bilda -träd - ringa in 1 -orna och skriv upp uttrycket på summa-av-produktform (SOP) - invertera alla ingående invariabler i SOP-uttrycket Rita up transistorschema for n- och träd enligt uttrycket BC 00 01 11 10 Z n = AB + C 0 1 0 0 1 Z p = A C + B C = (A+B)C A 1 1 0 0 0 A B +C B C C AB A C 1 9 ( 2 9 ) 2 0 ( 2 9 )
Minneselement (latch) Latchens funktion I CMOS byggs en latch upp av - Transmissiongrindar (TG) som kontrollerar dataflödet - Inverterare som utgör ett bistabilt minneselement Load-signalen LD styr TG0 och TG1 så att en, och endast en, alltid är öppen. LD=1 : Latchen är transparent. Signalen D passerar TG0 och genom inverterarna. TG1 är öppen och det tidigare Q-värdet återförs ej. LD=0: Latchen låser Q-värdet (eng. latch mode /hold). Signalen D spärras av TG0. Q-värdet återförs genom TG1. schemasymbol öppen switch sluten switch 2 1 ( 2 9 ) 2 2 ( 2 9 ) Minneselement (D Flip-Flop) Beskrivningsmetoder för CMOS system Master-slave DFF master aktiv slave aktiv Genom att införa olika nivåer av abstraktioner kan komplexa konstruktioner byggas. Ett elektroniskt system kan beskrivas i 3 olika domäner: - Beteende (behavioral) - specificerar vad systemet gör - Struktur (structural) - specificerar hur enheterna i systemet är sammankopplade - fysisk (physical) - specificerar hur strukturerna ska byggas Vart och ett av dessa domäner kan beskrivas i ett antal abstraktionsnivåer Implementering -- två kaskadkopplade D-latchar master slave 2 3 ( 2 9 ) 2 4 ( 2 9 )
Y-diagram Beteende beskrivning Beskriver hur en speciell krets ska uppföra sig för givna indata Kretsens beteende kan t.ex ges i form av: - Boolska uttryck - Tabeller - Algoritmer skrivna i något HDL (Hardware Description Language) språk Exempel på olika abstraktionsnivåer - Algoritm: if (d<0) d=d+a; else d = d+b; - Logiskt beteende: S = ABC + ABC + ACB + ABC CO = AB + AC + BC - Elektriskt beteende: I k DS = - W 2 L - ( V GS V T ) 2 ( 1 + λv DS ) 2 5 ( 2 9 ) 2 6 ( 2 9 ) Strukturell beskrivning Specificerar hur komponenter ska kopplas samman för att det önskade beteendet ska fås Kretsens struktur ges i form av en lista av komponenter och hur dessa är sammankopplade (nätlista) De lägre abstraktionsnivåerna avslöjar mer detaljer om implementeringen av kretsen Exempel: module add4(s,c4,ci,a,b); input [3:0] a,b; input ci; output [3:0] s; output c4; wire [2:0] co; add a0 (co[0],s[0],a[0],b[0],ci); add a1 (co[1],s[1],a[1],b[1],co[0]); add a2 (co[2],s[2],a[2],b[2],co[1]); add a3 (co[3],s[3],a[3],b[3],co[2]); endmodule module add(co,s,a,b,c); input a,b,c; output s,co; sum s1 (s,a,b,c); carry c1 (co,a,b,c); endmodule module carry(co,a,b,c); input a,b,c; output co; wire x,y,z; and g1 (x,a,b); and g2 (y,a,c); and g3 (z,b,c); or g4 (co,x,y,z); endmodule module and(z,a,b); input a,b; output z; wire nz,i1; nmos n1 (b,i1,vss); nmos n2 (a,nz,i1); nmos n3 (nz,z,vss); pmos p1 (a,nz,vdd); pmos p2 (b,nz,vdd); pmos p3 (nz,z,vdd); endmodule; Fysisk beskrivning Den fyskiska specifikationen beskriver hur en struktur ska byggas - I en IC process beskrivs kretsen genom en fotomask Material Dimensioner Placering - T.ex en metalledare: längd: 100 mm bredd: 3 mm material: aluminium startkoordinat: (3.00, 3.00), slutkoordinat: (70.00, 5.00) 2 7 ( 2 9 ) 2 8 ( 2 9 )
Summering Genom att betrakta en MOS transistor som en switch kan grundläggande logiska grindar tas fram Olika typer av sätt att beskriva elektroniksystem har diskuterats Många av de saker som har tagits upp, kommer att gås igenom mer i detalj i kommande föreläsningar 2 9 ( 2 9 )