Luận văn Thiết kế bộ chuyển đổi số - tương tự 8 bít sử dụng công nghệ bán dẫn CMOS

Để tránh nhiễu từ các mạch số tác động lên mạch tương tự, ta tách riêng đường cấp nguồn cho mạch số và mạch tương tự, cụ thể mạch số sử dụng đường nguồn kí hiệu là VD và GD, còn mạch tương tự sử dụng đường nguồn VA và GA (Các đường nguồn VD và VA đều xuất phát từ một chân cấp nguồn VDD của chíp DAC)

pdf165 trang | Chia sẻ: lylyngoc | Lượt xem: 2604 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Thiết kế bộ chuyển đổi số - tương tự 8 bít sử dụng công nghệ bán dẫn CMOS, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
dòng điện ( Iout ) tương ứng với một từ mã đầu vào do bộ tạo dòng DAC tạo ra: IunitDDDDDDDDIout ).2.2.2.2.2.2.2.( 011223344556677 +++++++= IunitDDDDIunitDDDD ).2.2.2.(.16).2.2.2.( 01122334152637 +++++++= (5.3.6-9) Vì thế dễ thấy là thay vì sử dụng một bộ lập mã thermometer 8 đầu vào và 255 đầu ra rất phức tạp để điều khiển đóng mở 255 nguồn dòng Iunit, ta có thể sử dụng hai bộ lập mã thermometer 4 đầu vào và 15 đầu ra với thiết kế đơn giản hơn nhiều, một bộ lập mã với 4 đầu vào là 4 bit thấp ( 0123 ,,, DDDD ) để điều khiển đóng mở 15 nguồn dòng Iunit, và một bộ lập mã với 4 đầu vào là 4 bit cao ( 4567 ,,, DDDD ) để điều khiển đóng mở 15 nguồn dòng 16Iunit. Tất nhiên, thiết kế sử dụng 2 bộ lập mã sẽ có glich ở đầu ra lớn hơn so với trường hợp sử dụng một bộ lập mã. Hình 5.3.6-4 Kí hiệu (a) và sơ đồ mạch (b) của nguồn dòng Iunit Hình 5.3.6-4b là sơ đồ mạch của nguồn dòng Iunit, các điện áp phân cực Vbias1 và Vbias2 được lấy từ khối VBIAS. Giá trị dòng điện Iout của nguồn dòng phụ thuộc vào tín hiệu điều khiển Di. Khi Di ở mức điện áp cao (bằng điện áp nguồn cung cấp, V) thì XM2 mở và mạch trở thành một nguồn dòng nối tầng bình thường, lúc này IunitIout = . Khi Di ở mức điện áp thấp (0V) thì XM2 đóng, toàn bộ dòng từ V chảy qua XM1, chảy qua XM2 xuống đất (G), lúc này 0=Iout hay XM3 tắt. Điện áp source của XM3 khi Di ở mức thấp (Di = 0) bằng điện áp source của XM2 (điện áp cực gate của XM2 bằng 0V): 223 /2 βIunitVTPVV SGS +== (5.3.6-10) Do đó: 2/2 2333 VbiasIunitVTPVVV GSSG −+=−= β (5.3.6-11) 104 XM3 tắt khi VTPVSG ≤3 , kết hợp với (5.3.6-11), ta có: 02/2 2 ≤−VbiasIunit β Hay: Iunit Vbias 2 )2( 2 2 ≥β (5.3.6-12) Dựa vào (5.3.6-12) ta có thể chọn lựa kích thước cho XM2 một cách phù hợp. Mạch nguồn dòng nối tầng 16Iunit cấu trúc và hoạt động giống như nguồn dòng Iunit ở trên. Sơ đồ mạch điện của nó được thể hiện ở hình 5.3.6-5b. Thực chất, nguồn dòng 16Iunit bao gồm 16 nguồn dòng Iunit mắc song song với nhau, tuy nhiên để dễ dàng layout, thay vì sử dụng 16 transistor XM2 với W/L=1/0.7 mắc song song, ta chỉ sử dụng một transistor XM2 với kích thước gấp 16 lần (W/L=16/0.7) Hình 5.3.6-5 Kí hiệu (a) và sơ đồ mạch (b) của nguồn dòng 16Iunit 105 Hình 5.3.6-6 Sơ đồ layout của nguồn dòng Iunit Hình 5.3.6-7 Sơ đồ layout của nguồn dòng 16Iunit Khối nguồn dòng current1x_group và current16x_group được tạo thành từ các nguồn dòng trên. Kí hiệu và sơ đồ mạch của chúng được thể hiện ở hình 5.3.6-8 và 5.3.6-9. Hình 5.3.6-8 Kí hiệu (a) và sơ đồ mạch (b) của khối nguồn dòng Current1x_group 106 Hình 5.3.6-9 Kí hiệu (a) và sơ đồ mạch (b) của khối nguồn dòng Current16x_group Hình 5.3.6-10 Sơ đồ layout của khối nguồn dòng Current1x_group Hình 5.3.6-11 Sơ đồ layout của khối nguồn dòng Current16x_group 5.3.7 Khối driver Khối mạch này có chức năng tạo tín hiệu điều khiển đóng mở các nguồn dòng (là tín hiệu Di của các nguồn dòng) sao cho các nguồn dòng được đóng mở chính xác, từ đó tránh gây ra glich lớn ở đầu ra tương tự của bộ chuyển đổi số - tương tự. Do có hai loại nguồn dòng khác nhau, vì vậy ta có hai mạch driver tương ứng. Thực chất chúng là các mạch khuếch đại đảo (inverter). Do tụ kí sinh ở nút Di (chính là dung kháng cực gate của XM2) của nguồn dòng 16Iunit bằng 16 lần tụ kí sinh của nguồn dòng Iunit nên 107 mạch driver cho nguồn dòng 16Iunit cũng lớn hơn mạch driver cho nguồn dòng Iunit 16 lần như thể hiện ở hình 5.3.7-1. Hình 5.3.7-1 Sơ đồ mạch driver của (a) nguồn dòng Iunit và (b) nguồn dòng 16Iunit Tương ứng với hai khối nguồn dòng Current1x_group và Current16x_group, ta có hai khối driver là Driver1x và Driver16x. Driver1x được dùng để đóng mở các nguồn dòng Iunit trong Current1x_group, còn Driver16x được dùng để đóng mở các nguồn dòng 16Iunit trong Current16x_group. Sơ đồ mạch của chúng được thể hiện ở hình 5.3.7-2 và 5.3.7-3. Hình 5.3.7-2 Kí hiệu (a) và sơ đồ mạch (b) của Driver1x 108 Hình 5.3.7-3 Kí hiệu (a) và sơ đồ mạch (b) của Driver16x Hình 5.3.7-4 Sơ đồ layout của driver cho nguồn dòng Iunit Hình 5.3.7-5 Sơ đồ layout của driver cho nguồn dòng 16Iunit 109 Hình 5.3.7-6 Sơ đồ layout của Driver1x Hình 5.3.7-7 Sơ đồ layout của Driver16x 5.3.8 Khối chuyển đổi dòng điện – điện áp Hình 5.3.8-1 Sơ đồ mạch của khối chuyển đổi dòng điện – điện áp Hình 5.3.8-1 thể hiện sơ đồ mạch của khối chuyển đổi dòng điện – điện áp. Nó chính là một OTA dải rộng (Wide-swing Operational Transconductance Amplifier, là 110 loại OTA có điện áp vào và điện áp ra có thể thay đổi trong dải rộng) [10] được sử dụng trong cấu hình mạch khuếch đại đảo. OTA (được kí hiệu là OAMP trên sơ đồ mạch) nhận dòng điện do khối tạo dòng DAC tạo ra tại nút N (là đầu vào đảo của OTA), và chuyển đổi dòng điện này thành tín hiệu điện áp tương ứng ở đầu ra. Ta sẽ tìm biểu thức liên hệ giữa chúng. Gọi i_src là dòng điện do khối tạo dòng DAC tạo ra tại nút N. Điện áp tại đầu vào đảo (đầu vào N) và đầu vào không đảo (đầu vào P) của OTA bằng nhau, nghĩa là: V(N) = V(REFIN) = VREF (5.3.8-1) Áp dụng định luật Kirchhoff về dòng điện tại nút N ta có: i_src + i1 - i2 + i3 = 0 (5.3.8-2) Dòng chảy vào đầu vào đảo của OTA bằng 0 (i1 = 0) nên từ (5.3-39) suy ra: i3 = i2 – i_src (5.3.8-3) Mặt khác, ta có: 33 )(2 R V R NVi REF== (5.3.8-4) 11 )(3 R VV R NVVi REFOUTOUT −=−= (5.3.8-5) Thay (5.3-41) và (5.3-42) vào (5.3-40), ta có (chú ý 13 RR = ): srci R V R VV REFREFOUT _ 11 −= − Hay 1*_2 RsrciVV REFOUT −= (5.3.8-6) Kết hợp (5.2-1), ta có: 1*_2256 2 RsrciVnVV REFREFOUT −== (5.3.8-7) Suy ra: 1*256 )256(2 _ R nV srci REF −= (5.3.8-8) Hiệu dòng điện do khối I_DAC tạo ra giữa hai từ mã liên tiếp bằng Iunit, vì vậy ta có: 1*256 2)(_)1(_ R VisrciisrciIunit REF=−+= (5.3.8-9)  Iunit VR REF *1281 = (5.3.8-10) Phương trình này cho phép ta xác định được giá trị điện trở R1 theo Iunit Hình 5.3.8-2 thể hiện sơ đồ mạch điện của mạch OAMP. Phương pháp bù OAMP này được trình bày khá chi tiết trong tài liệu [10] vì vậy ở đây chỉ đưa ra kết quả mô phỏng của mạch này. 111 Hình 5.3.8-2 Sơ đồ mạch của mạch OAMP 112 Hình 5.3.8-3 là kết quả mô phỏng độ ổn định (stability) của khối này trong trường hợp VDD=5V, VOUT = VREF = 2,5V, CL = 100pF, RL = ∞. Hệ số khuếch đại tần số thấp đạt được là 104dB (~16000 lần), độ dự trữ pha là 63o . Hình 5.3.8-3 Kết quả mô phỏng vòng hở của khối I/V trong trường hợp VOUT = VREF, CL=100pF, RL=∞ Hình 5.3.8-4 Sơ đồ layout của mạch OAMP 113 5.3.9 Sơ đồ mạch điện, sơ đồ layout và kết quả mô phỏng của chip DAC 5.3.9.1 Sơ đồ mạch điện Hình 5.3.9-1 và 5.3.9-2 thể hiện sơ đồ toàn mạch và sơ đồ chân ra của bộ chuyển đổi số - tương tự. Ở đây, ta có bổ sung thêm đầu vào nPD, Power-Down, cho DAC. nPD là đầu vào logic tích cực mức thấp, được sử dụng để đặt DAC vào chế độ công suất tiêu thụ thấp. nPD được nối tới đầu vào ON của các mạch tương tự trong DAC: mạch IBIAS, VBIAS và OAMP. Khi nPD tích cực (nPD='0') thì DAC chuyển sang chế độ công suất tiêu thụ thấp. Ở chế độ này dòng tiêu thụ của DAC nhỏ hơn 1µA và điện áp đầu ra tương tự là 0V. Để tránh nhiễu từ các mạch số tác động lên mạch tương tự, ta tách riêng đường cấp nguồn cho mạch số và mạch tương tự, cụ thể mạch số sử dụng đường nguồn kí hiệu là VD và GD, còn mạch tương tự sử dụng đường nguồn VA và GA (Các đường nguồn VD và VA đều xuất phát từ một chân cấp nguồn VDD của chíp DAC) 114 Hình 5.3.9-1 Sơ đồ toàn mạch của bộ chuyển đổi số - tương tự 8 bit 115 Hình 5.3.9-2 Sơ đồ chân ra của bộ chuyển đổi số - tương tự 8 bit 5.3.9.2 Kết quả mô phỏng (VDD=2,7V ÷ 5,5V;VREF =VDD/2; CL=100pF; RL=10kΩ, nhiệt độ 25oC ) Thông số Giá trị Đơn vị Điều kiện/ Nhận xét STATIC PERFORMANCE: Resolution 8 Bits Relative Accuracy -0,04 (max) LSB VDD=3,3V, Code range of 15 to 245 Differential Nonlinearity -0,837 ÷ 0,009 LSB VDD=3,3V Zero-Code Error 0,27 LSB VDD=3,3V, All Zeros Loaded to DAC Register Full-Scale Error -0,89 LSB VDD=3,3V, All Ones Loaded to DAC Register Gain Error -0,008 (typ) %FSR VDD=3,3V DAC REFERENCE INPUT: REFIN Input Range 0,6 ÷ VDD/2 V REFIN Input Impedance ∞ Ω OUTPUT CHARACTERISTICS: Output Voltage Range 0 ÷ VDD V 11,4 (max) 8,1 (typ) VDD=2,7V, -40÷105oC Output Voltage Settling Time 2,6 (max) 2,4 (typ) µs VDD=5,5V, -40÷105oC 0,62 (typ) VDD=2,7V Slew Rate 5,98 (typ) V/µs VDD=5,5V 19,7 (typ) VDD=2,7V Digital-to-Analog Glitch Impulse 56,9 (typ) nV-s VDD=5,5V Power Supply Rejection Ratio 0,0402 (typ) %/% VDD=3,3V LOGIC INPUTS: VINL, Input Low Voltage 1,48 (max) V VDD=+5V, -40÷105oC VINL, Input Low Voltage 1,06 (max) V VDD=+3V, -40÷105oC VINH, Input High Voltage 1,7 (min) V VDD=+5V, -40÷105oC VINH, Input High Voltage 1,22 (min) V VDD=+3V, -40÷105oC 116 POWER REQUIREMENTS: VDD 2,37 ÷ 5,5 V IDD (Normal mode) DAC Active and Excluding Load Current VDD=3,3V 1,33 (typ) 1,43 (max) mA VIH=VDD and VIL=GND, -40÷105oC VDD=5,5V 3,01(typ) 3,3 (max) mA VIH=VDD and VIL=GND, -40÷105oC IDD (Power-Down) 15,3 (max) nA Bảng 5.3.9-1 Kết quả mô phỏng các chỉ định của DAC Thông số Giá trị Đơn vị t1 t2 t3 t4 t5 t6 0 (min) 0 (min) 19 (typ) 11 (typ) 5 (typ) 16 (typ) ns ns ns ns ns ns Bảng 5.3.9-2 Kết quả mô phỏng chỉ định định thời của DAC ở VDD=2,7V và 25oC Hình 5.3.9-3 Kết quả mô phỏng điện áp ra tương tự theo từ mã số đầu vào ở VDD=3,3V, VREF=VDD/2,CL=100pF, RL=10kΩ 117 Hình 5.3.9-4 Kết quả mô phỏng thời gian thiết lập của điện áp ra tương tự ở VDD=5,5V, VREF=VDD/2,CL=100pF, RL=10kΩ, D7-D0 thay đổi từ 00h tới FFh Hình 5.3.9-5 Kết quả mô phỏng thời gian thiết lập của điện áp ra tương tự ở VDD=2,7V, VREF=VDD/2,CL=100pF, RL=10kΩ, D7-D0 thay đổi từ 00h tới FFh 118 Hình 5.3.9-6 Kết quả mô phỏng ảnh hưởng của điện áp nguồn lên điện áp đầu ra tương tự ở VDD=3,3V, VREF=VDD/2,VOUT=VREF, CL=100pF, RL=10kΩ Hình 5.3.9-7 Kết quả mô phỏng dòng tiêu thụ của chip DAC ở VDD=3,3V và VDD=5,5V (VREF=VDD/2,VOUT=VREF, CL=100pF, RL=∞) 119 Hình 5.3.9-8 Kết quả mô phỏng dòng tiêu thụ và điện áp đầu ra của chip DAC ở chế độ power-down (VDD=5,5V, nhiệt độ 105oC) Hình 5.3.9-9 Kết quả mô phỏng chip DAC thoát khỏi chế độ power-down (VDD=5,5V, VREF=VDD/2,VOUT=VREF, CL=100pF, RL=10kΩ) 120 Hình 5.3.9-10 Kết quả mô phỏng đặc tính định thời của DAC 5.3.9.3 Sơ đồ layout 121 Hình 5.3.9-11 Sơ đồ layout của chip DAC 8 bit 122 KẾT LUẬN Các kết quả đạt được: - Luận văn đã trình bày tổng quan bộ chuyển đổi số - tương tự: vị trí, vai trò, các thông số và các kiến trúc cơ bản của bộ chuyển đổi số - tương tự. - Trình bày các hiểu biết cơ bản về công nghệ bán dẫn CMOS cần thiết cho người thiết kế: các quy trình sản xuất bán dẫn cơ bản; cấu trúc vật lý, phương pháp layout, mô hình tính toán và mô phỏng của phần tử bán dẫn trong công nghệ CMOS. - Cuối cùng, luận văn đã đưa ra một bản thiết kế gần như hoàn chỉnh chíp chuyển đổi số - tương tự 8 bit sử dụng công nghệ CMOS bao gồm các sơ đồ mạch điện, phân tích mạch, kết quả mô phỏng, và sơ đồ layout. Hướng nghiên cứu tiếp theo: Thiết kế của một số mạch vẫn chưa được tốt lắm như mạch flip-flop có thể được thiết kế nhỏ gọn hơn nếu như sử dụng cấu trúc mạch khác; dòng phân cực của mạch tạo dòng phân cực thay đổi nhiều theo nhiệt độ cũng như sự biến đổi của công nghệ. Một số thông số của bộ chuyển đổi số - tương tự chưa đạt yêu cầu thiết kế như glitch ở đầu ra điện áp tương tự còn lớn, hệ số power supply reject ratio kém, … Vì vậy bản thiết kế cần được cải tiến để khắc phục những hạn chế đó. 123 TÀI LIỆU THAM KHẢO Tiếng Việt 1. Nguyễn Thúy Vân (2004), Kỹ thuật số, NXB KHKT. Tiếng Anh 2. Alan Hastings (2001), The Art of Analog Layout, Prentice Hall, New Jersey 3. Analog Devices Inc (1997), AD7801 Datasheet, Website 4. Andrei Valadimirescu (1994), The SPICE Book, John Wiley & Sons, New York 5. Avant! Corporation (2001), Star-Hspice Manual, Website 6. David A.Jonhs (1997), Analog Integrated Circuit Design, John Wiley & Sons, New York 7. Jan M.Rabaey (2003), Digital Integrated Circuits: A Design Perspective, Prentice Hall, New Jersey 8. Paul R.Gray (2001), Analysis and Design of Analog Integrated Circuits, John Wiley & Sons, New York 9. Phillip E.Allen (2002), CMOS Analog Circuit Design, Oxford University Press, New York 10. R. Jacob Baker (1998), CMOS Circuit Design, Layout, and Simulation, IEEE Press, New York 124 PHỤ LỤC Phụ lục A. KÍ HIỆU VÀ MÔ HÌNH CỦA CÁC PHẦN TỬ MẠCH ĐIỆN Hình A-1 Kí hiệu của các phần tử mạch điện Hình A-1 thể hiện kí hiệu của các phần tử mạch điện được sử dụng trong phần thiết kế của luận văn. Trong đó hình (a) là kí hiệu của transistor MOS kênh p, (b) là kí hiệu của transistor MOS kên n, (c) là kí hiệu của điện trở pôly trở kháng cao RHP, (d) là kí hiệu của tụ pôly CPP (là loại tụ silíc đa tinh thể - ôxít – silíc đa tinh thể), và (e) là kí hiệu của các liên kết (link). Dưới đây là thông tin mô hình mô phỏng SPICE của chúng, những thông tin này được cung cấp bởi công ty sản xuất bán dẫn (fabrication company) Mô hình transistor MOS kênh n (MNI): (Mô hình này theo chuẩn BSIM3v3 [9,10], được định nghĩa trong HSPICE với tham số mô hình LEVEL = 49) .OPTION SCALE=1U TNOM=25 .SUBCKT MNI D G S B L=4 W=4 M=1 GEO=1 .PARAM MM=M WM=W LM=L M1 D G S B MNI W='WM' L='LM' M='MM' + AD='1.9*MAX(WM,1.4)' AS='1.9*MAX(WM,1.4)' +PD='1.9*2+MAX(WM,1.4)*2' PS='1.9*2+MAX(WM,1.4)*2' .ENDS MNI ********************************************************* .MODEL MNI NMOS +LEVEL=49 * * GENERAL PARAMETERS * +LMIN = 6.0E-7 LMAX = 1.0E-4 WMIN = 5.0E-7 +WMAX = 1.0E-4 TREF = 25.0 VERSION = 3.2 +TOX = 1.50E-08 TOXM = 1.50E-08 XJ = 2.0000000E-07 +NCH = 1.6000000E+17 LLN = 0.5000000 LWN = 1.5756161 +WLN = 0.5370212 WWN = 1.5359626 LINT = 1.3000000E-08 +LL = -9.9936400E-21 LW = -1.0000000E-20 LWL = 5.5857230E-21 +WINT = 3.4300000E-08 WL = 1.4127170E-21 WW = 1.0000000E-20 +WWL = -9.7060700E-21 MOBMOD = 1 BINUNIT = 2 125 +XL = 0.00 XW = 0.00 LMLT = 1 +WMLT = 1 BINFLAG = 0 DWG = -3.4276350E-09 +DWB = 1.5532160E-08 * * DIODE PARAMETERS * +ACM = 3 LDIF = 0.00 HDIF = 6.00E-07 RSH = 50 +RD = 0 RS = 0 RSC = 0 RDC = 0 * * THRESHOLD VOLTAGE PARAMETERS * +VTH0 = 0.8330 WVTH0 = 5.0000000E-08 PVTH0 = 1.4000000E-14 +K1 = 0.9000000 LK1 = -1.5200000E-07 WK1 = 5.0000000E-08 +PK1 = 8.6000000E-14 K2 = 2.1085400E-02 K3 = -5.9808700E-02 +DVT0 = 2.2000000 DVT1 = 0.9600000 DVT2 = 3.0724090E-03 +DVT0W = 1.9986100E-02 DVT1W = 5.2963190E+06 DVT2W = -6.3484300E-02 +NLX = 1.7761650E-08 W0 = 1.0000000E-06 K3B = 0.3827230 +VFB = -0.7456436 * * MOBILITY PARAMETERS * +VSAT = 9.7549080E+04 UA = 1.5000000E-09 LUA = -1.5000001E-16 +WUA = -1.0000000E-16 UB = 4.9000000E-19 UC = 5.1964410E-11 +LUC = 2.0000000E-17 WUC = -3.5000000E-17 RDSW = 1.9293560E+03 +PRWB = 0.1153606 PRWG = -5.4923800E-03 WR = 1.0000000 +U0 = 5.6000000E-02 LU0 = 1.0000000E-08 WU0 = -1.1000000E-08 +PU0 = -1.0200000E-14 A0 = 0.8500000 PA0 = 2.9999999E-13 +KETA = -2.4641559E-03 LKETA = -9.0000000E-09 WKETA = 6.0000000E-09 +PKETA = 2.9999999E-15 A1 = 0.00 A2 = 1.0000000 +AGS = 8.3370000E-02 B0 = 3.1957110E-07 B1 = 7.0862350E-07 * * SUBTHRESHOLD CURRENT PARAMETERS * +VOFF = -0.1436638 NFACTOR = 1.0000000 CIT = -6.0000000E-04 +CDSC = 5.0000000E-03 CDSCB = 0.00 CDSCD = 0.00 +ETA0 = 0.00 ETAB = 0.00 DSUB = 1.5396310E-04 * * ROUT PARAMETERS * +PCLM = 0.00 LPCLM = 1.0000000E-07 PDIBLC1 = 5.8360300E-02 +PDIBLC2 = 1.800484E-03 PDIBLCB = -0.1185012 DROUT = 0.5929923 +PSCBE1 = 5.250301E+08 PSCBE2 = 5.8103530E-05 PVAG = 1.4497800E-02 +DELTA = 2.9999999E-02 ALPHA0 = 0.00 ALPHA1 = 0.00 * * TEMPERATURE EFFECTS PARAMETERS * +KT1 = -0.4000000 KT2 = -1.6000001E-02 PKT2 = 2.3999999E-14 +AT = 1.2000000E+05 LAT = -2.0000000E-02 PAT = 0 +UTE = -1.0000000 UA1 = 6.4000000E-09 WUA1 = -2.0000000E-15 +UB1 = -3.9030500E-18 UC1 = 1.0000000E-10 KT1L = 2.0000000E-08 +PKT1L = -1.9999999E-20 PRT = 7.7348860E-03 * 126 * CAPACITANCE PARAMETERS * +CJ = 6.558666E-04 MJ = 0.4202481 PB = 0.8802212 +CJSW = 5.210677E-10 MJSW = 0.1844319 PHP = 0.4057967 +CJGATE = 5.2E-10 TPB = 0 TPBSW = 0 +TCJ = 0 TCJSW = 0 JS = 6.10E-06 +JSW = 0.00 N = 1.0 XTI = 0.00 +CGDO = 7.0E-11 CGSO = 7.0E-11 CGBO = 1.0E-13 +CAPMOD = 2 NQSMOD = 0 ELM = 5 +XPART = 1 CGSL = 0.00 CGDL = 0.00 +CKAPPA = 0.6000000 CF = 0.00 CLC = 1.0000000E-07 +CLE = 0.6000000 DLC = 7.8E-8 DWC = 0 +VFBCV = -1 ACDE = 1 MOIN = 15 +NOFF = 1 VOFFCV = 0 * ********************************************************* Mô hình transistor MOS kênh p (MP): (Mô hình này theo chuẩn BSIM3v3 [9,10], được định nghĩa trong HSPICE với tham số mô hình LEVEL = 49) .OPTION SCALE=1U TNOM=25 .SUBCKT MP D G S B L=4 W=4 M=1 GEO=1 .PARAM MM=M WM=W LM=L M1 D G S B MP W='WM' L='LM' M='MM' + AD='1.9*MAX(WM,1.4)' AS='1.9*MAX(WM,1.4)' +PD='1.9*2+MAX(WM,1.4)*2' PS='1.9*2+MAX(WM,1.4)*2' .ENDS MP .MODEL MP PMOS +LEVEL = 49 * * GENERAL PARAMETERS * +LMIN = 7.0E-7 LMAX = 1.0E-4 WMIN = 5.0E-7 +WMAX = 1.0E-4 TREF = 25.0 VERSION = 3.2 +TOX = 1.50E-08 TOXM = 1.50E-08 XJ = 2.0000000E-07 +NCH = 1.6000000E+17 LLN = 0.5000000 LWN = 1.5753851 +WLN = 0.5000000 WWN = 0.5000000 LINT = 0.10000E-08 +LL = 1.6963909E-21 LW = -1.0000000E-20 LWL = 5.6213330E-21 +WINT = 1.0000000E-08 WL = 2.8410920E-22 WW = 1.0000000E-20 +WWL = -1.0000000E-20 MOBMOD = 1 BINUNIT = 2 +XL = 0.00 XW = '0.00 LMLT = 1 +WMLT = 1 BINFLAG = 0 DWG = -8.5003690E-09 +DWB = 1.1001190E-08 * DIODE PARAMETERS +ACM = 3 LDIF = 0.00 HDIF = 6.00E-07 +RSH = 78 RD = 0 RS = 0 +RSC = 0 RDC = 0 * 127 * THRESHOLD VOLTAGE PARAMETERS * +VTH0 = -0.8730 LVTH0 = 1.0000000E-07 WVTH0 = 8.0000000E-08 +PVTH0 = -2.9999999E-14 K1 = 0.4000000 LK1 = -6.0000000E-08 +WK1 = 4.0000000E-08 PK1 = 2.0000000E-14 K2 = 2.0000001E-03 +K3 = 26.3355030 DVT0 = 0.8000000 DVT1 = 0.9000000 +DVT2 = -2.9999999E-02 DVT0W = 3.7735800E-02 DVT1W = 1.0000000E+07 +DVT2W = -0.5159964 NLX = 5.8571780E-07 W0 = 5.8637150E-07 +K3B = -3.4908430 VFB = -0.5835145 * * MOBILITY PARAMETERS * +VSAT = 5.2241760E+05 UA = 3.6500000E-09 LUA = 3.0000001E-16 +WUA = -3.0000001E-17 UB = 1.0000000E-22 UC = -7.3150300E-11 +RDSW = 2.3872759E+03 PRWB = -1.2514300E-02 PRWG = 0.00 +WR = 1.0000000 U0 = 2.3000000E-02 LU0 = -1.9999999E-09 +WU0 = -5.0000000E-09 PU0 = 2.0000000E-16 A0 = 1.0000000 +LA0 = 3.0000001E-07 KETA = -1.1000000E-02 LKETA = -8.0000000E-09 +WKETA = 1.4000000E-08 A1 = 9.3074300E-02 A2 = 0.02 +AGS = 0.1400000 B0 = 3.0543490E-07 B1 = 2.0279630E-07 * * SUBTHRESHOLD CURRENT PARAMETERS * +VOFF = 1.0000000E-02 NFACTOR = 0.9000000 CIT = -1.0000000E-04 +CDSC = -1.0000000E-04 CDSCB = 5.3180850E-04 CDSCD = 0.00 +ETA0 = 0.1734550 ETAB = 0.00 DSUB = 0.5574343 * * ROUT PARAMETERS * +PCLM = 5.0000000 PDIBLC1 = 7.5337250 PDIBLC2 = -5.6995490E-03 +PDIBLCB = 2.1676799E-02 DROUT = 0.7503241 +PSCBE1 = 6.8085570E+09 PSCBE2 = 8.5458060E-09 +PVAG = 15.0000000 DELTA = 2.9999999E-02 ALPHA0 = 0.00 +ALPHA1 = 0.00 BETA0 = 30.0000000 * * TEMPERATURE EFFECTS PARAMETERS * +KT1 = -0.5000000 KT2 = -3.4000000E-02 AT = 1.000000E+05 +LAT = -0.0010000 WAT = 0.0200000 UTE = -1.5215188 +UA1 = -1.1215430E-09 UB1 = -1.8182300E-18 UC1 = -1.0000000E-10 +KT1L = -7.7894590E-08 PRT = 2.3368699E-03 * * CAPACITANCE PARAMETERS * +CJ = 4.868659E-04 MJ = 0.7962651 PB = 1.041776 +CJSW = 3.99367E-10 MJSW = 0.2076833 PHP = 0.5648831 +CJGATE = 3.99E-10 TPB = 0 TPBSW = 0 +TCJ = 0 TCJSW = 0 JS = 8.00E-06 +JSW = 0.00 N = 1.0 XTI = 0.00 +CGDO = 7E-11 CGSO = 7E-11 CGBO = 1.0E-13 +CAPMOD = 2 NQSMOD = 0 ELM = 5 +XPART = 1 CGSL = 0.00 CGDL = 0.00 128 +CKAPPA = 0.6000000 CF = 0.00 CLC = 1.0000000E-07 +CLE = 0.6000000 DLC = 7.8E-8 DWC = 0 +VFBCV = -1 ACDE = 1 MOIN = 15 +NOFF = 1 VOFFCV = 0 * ************************************************************** Mô hình điện trở pôly trở kháng cao (RHP): Điện trở này được mô hình như là một mạch con (subcircuit) tên là RHP, có 3 cực (N1, N2 và PKT). Mạch con này bao gồm 2 điện trở R1, R2 và 3 tụ điện (là tụ điện ký sinh) C1, C2, C3 như mô tả dưới đây: .SUBCKT RHP N1 N2 PKT L=1 W=1 NS=1 R=1 NP=1 .PARAM WM=W NSM=NS RM=R NPM=NP .PARAM RSHEETHP=2000 DWHP=0 RCHP=14 .PARAM RSHEETHPTT=2000 TC1HP=-2.8588E-3 TC2HP=9.9082E-6 +VC0HP=1.9923E+3 VC1HP=4.9153E-4 VC2HP=-1.6125E-4 CHPSUB=0.095E-15 .PARAM CONTPITCH=1.5 .PARAM RSHEET='RSHEETHP' .PARAM LM='WM*RM*NPM/(NSM*RSHEETHPTT)' .PARAM RVALUE='RSHEET*ABS(LM)/ABS(WM-DWHP)*NSM/NPM' .PARAM RCALC='RVALUE+NSM*RCHP*2/NPM/(WM/CONTPITCH)' C1 N1 PKT '(WM-DWHP)*LM*NSM*NPM*CHPSUB/4' R1 N1 N3 'RCALC/2' TC1='TC1HP' TC2='TC2HP' C2 N3 PKT '(WM-DWHP)*LM*NSM*NPM*CHPSUB/2' R2 N3 N2 'RCALC/2' TC1='TC1HP' TC2='TC2HP' C3 N2 PKT '(WM-DWHP)*LM*NSM*NPM*CHPSUB/4' .ENDS RHP Mô hình tụ điện pôly (CPP): Tụ này được mô hình như một mạch con tên là CPP, có 3 cực (N1, N2 và PKT). Mạch con này gồm 3 tụ trong đó có một tụ chính (tụ C1) đóng vai trò quyết định dung kháng của tụ pôly và hai tụ kí sinh (tụ C1FRINGE và tụ CP). .SUBCKT CPP N1 N2 PKT C=1 MM=1 .PARAM CSHPP=0.668 .PARAM CSHPPTT=0.668 TC1PP=0 TC2PP=0 VC1PP=0 VC2PP=0 + CP1SUBRATIO='570/4000' CFRINGEPPTT=0.092 .PARAM CVALUE=C MS=MM C1 N1 N2 'MS*CVALUE*CSHPP/CSHPPTT' TC1='TC1PP' TC2='TC2PP' C1FRINGE N1 N2 'MS*SQRT(CVALUE/CSHPPTT*1E-15)*4*CFRINGEPPTT' CP N2 PKT 'MS*CVALUE*CP1SUBRATIO' .ENDS CPP Mô hình các liên kết LNK1 và LNK2: 129 Thực chất trên layout, chúng là một đoạn METAL1 (đối với LNK1) và METAL2 (đối với LNK2). Mô hình của chúng đơn giản chỉ là điện trở với trở kháng là 0Ω. Chúng được sử dụng để đánh dấu một vòng hồi tiếp (feedback loop) thường là vòng hồi tiếp âm (negative feedback loop), và vòng hồi tiếp này sẽ được cắt ra tại điểm chứa liên kết để phân tích đặc tính ổn định (stability) của nó. Mô tả chi tiết mô hình của các liên kết là như sau: .SUBCKT LNK1 N1 N2 RLNK N1 N2 0 .ENDS LNK1 .SUBCKT LNK2 N1 N2 RLNK N1 N2 0 .ENDS LNK2 130 Phụ lục B. CÁC MẪU VẼ THỂ HIỆN CÁC LỚP LAYOUT Quá trình sản xuất bán dẫn yêu cầu nhiều mask (photomask) khác nhau, mỗi mask tương ứng với một lớp (layer) layout. Người thiết kế sử dụng phần mềm CAD (Computer Aided Design) để thiết kế các lớp layout này. Tuy nhiên người thiết kế không cần thiết phải tạo ra tất cả các lớp layout, bởi vì một số lớp layout được tạo một cách tự động bởi phần mềm CAD. Phần phụ lục này chỉ trình bày các lớp layout cần được tạo ra bởi người thiết kế (áp dụng cho công nghệ CMOS 0.6µm được trình bày trong luận văn này) Hình B-1 Các mẫu vẽ thể hiện các lớp layout - M1_TEXT: lớp cho phép ghi văn bản trên METAL1, nhận biết các đầu I/O là METAL1 khi check LVS (Layout versus Schematics), nó không phải là 1 layer có vai trò trong quá trình sản xuất bán dẫn. - DIFF (diffusion): lớp khuếch tán, được sử dụng để xác định vùng active (define active region). Lớp này kết hợp với lớp PPLUS để xác định vùng bán dẫn P+, kết hợp với lớp NPLUS để xác định vùng bán dẫn N+. - MRES: định nghĩa cho link (có tên bắt đầu bằng XL trong sơ đồ mạch). Về mặt điện, link chỉ là dây dẫn điện. - NPLUS: lớp định nghĩa cho vùng bán dẫn N+ . - VI1: lớp VIA 1, đây là lớp kết nối lớp METAL1 và METAL2. - ME3O: lớp METAL3. - HR (High Resistance): lớp định nghĩa cho điện trở poly trở kháng cao (điện trở RHP). - ISOPW (Isolate pwell): lớp cách ly vùng PWELL-nmos với các vùng khác. - NMBURD: lớp định nghĩa cho vùng NMOS (define N-_Buried implant region) - PAD: lớp định nghĩa vùng PAD (define PAD region). - TEXT: đây là lớp cho phép ghi văn bản để việc xem sơ đồ layout được dễ dàng hơn, nó không phải là 1 layer có vai trò trong quá trình sản xuất bán dẫn. - NWELL: lớp định nghĩa giếng NWELL (define N_Well implant region) cho vùng PMOS và cách ly cho NMOS. - VIA2: lớp kết nối lớp METAL2 với lớp METAL3. - ME2O: lớp kết nối METAL2. - M2_TEXT: lớp này được sử dụng để đặt tên pin I/O trên METAL2, dùng để check LVS, không phải là 1 layer có vai trò trong quá trình sản xuất bán dẫn. 131 - CONT (contact): lớp kết nối giữa METAL1 và các lớp bên dưới là POLY1, POLY2, N+, P+. - ME1O: lớp kết nối METAL1. - PO1: lớp POLY1 (Polysilicon 1), dùng làm vật liệu kết nối và làm điện trở RHP khi được đặt trong vùng định nghĩa điện trở HR. - PO2: lớp POLY2 (Polysilicon 2), dùng làm vật liệu kết nối và làm cực Gate cho PMOS, NMOS khi được đặt trong vùng bán dẫn P+, N+. - NBURD: định nghĩa cho vùng PMOS (define N+_Buried) - PPLUS: lớp định nghĩa cho vùng bán dẫn P+. 132 Phụ lục C. CÁC QUY TẮC LAYOUT CỦA CÔNG NGHỆ CMOS 0.6µm Phần phụ lục này trình bày một số quy tắc layout (Layout Rules) cơ bản của công nghệ bán dẫn CMOS 0.6µm của công ty sản xuất bán dẫn UMC (để có thông tin, truy nhập trang web ) - Lớp NBURD: (Unit: µm) A. Minimum NBURD Width 2.0 B. Minimum NBURD To NBURD Space 9.0 C. Minimum NBURD Enclosure of DIFFUSION 0.0 D. Minimum NWELL Enclosure of NBURD 3.0 E. Minimum NBURD (outside NWELL) to NWELL Space 7 - Lớp NMBURD: (Unit: µm) Minimum NMBURD Width 2.0 133 - Lớp NWELL: (Unit: µm) A. Minimum NWELL Width 4.0 B. Minimum NWELL To NWELL Space (Equal-Potential) 0 or >1.4 C. Minimum NWELL To NWELL Space (Non Equal-Potential) 4.0 - Lớp DIFFUSION (DIFF): (Unit: µm) A. Minimum DIFFUSION Width (Device) a. NMOS Device 0.6 b. PMOS Device 0.7 B. Minimum DIFFUSION Width (interconnect) 0.6 C. Minimum DIFFUSION To DIFFUSION Space (In the same Well) a. N+ DIFFUSION To N+ DIFFUSION Space 1.0 b. P+ DIFFUSION To P+ DIFFUSION Space 1.0 c. N+ DIFFUSION To P+ DIFFUSION Space 1.4 134 D. Minimum NWELL To N+ DIFFUSION (Outside NWELL) Space 2.0 E. Minimum NWELL Enclosure of N+ DIFFUSION (Inside NWELL) 1.5 F. Minimum NWELL To P+ DIFFUSION (Outside NWELL) Space 1.0 G. Minimum NWELL Enclosure of P+ DIFFUSION (Inside NWELL) 2.0 H. Minimum Field Isolation Area 2 µm2 I. Minimum DIFFUSION Area 1 µm2 - Lớp POLY1 (PO1): (Unit: µm) A. Minimum POLY1 Width for Interconnect 0.8 B. Minimum POLY1 To POLY1 Space or Notch 1.1 C. Minimum POLY1 To Unrelated DIFFUSION Space 1.5 D. Minimum DIFFUSION Overhang of POLY1 2.0 135 - Lớp POLY2 (PO2): (Unit: µm) A. Minimum POLY2 Width for NMOS 0.6 B. Minimum POLY2 Width for PMOS 0.7 C. Minimum POLY2 Width for Interconnect 0.6 D. Minimum POLY2 To POLY2 Spacing 0.6 E. Minimum POLY2 Overhang of DIFFUSION (End Cap) 0.7 F. Minimum POLY2 On Field To DIFFUSION Space 0.2 G. Minimum DIFFUSION Overhang of POLY2 Gate 0.6 H. Minimum POLY2 Width for Analog N/PMOS 1.5 I. Minimum POLY1 Enclosure of POLY2 0.8 J. Minimum POLY2 To POLY1 Space 0.8 K. Maximum POLY2 Capacitor Area 100*100 µm2 L. Maximum POLY2 Area on DIFFUSION 100*100 µm2 136 - Lớp NPLUS (N+): (Unit: µm) A. Minimum N+ Implant Enclosure of N+ DIFFUSION 0.7 B. Minimum N+ Implant To Other DIFFUSION Space 0.7 C. Minimum N+ Implant To N+ Implant Space 0.7 D. Minimum N+ Implant To POLY1 Space (for HR POLY1) 0.8 E. Minimum N+ Implant Width (for MOS) 0.8 137 - Lớp PPLUS (P+): (Unit: µm) A. Minimum P+ Implant Enclosure of P+ DIFFUSION 0.7 B. Minimum P+ Implant To Other DIFFUSION Space 0.7 C. Minimum P+ Implant To P+ Implant Space 0.8 D. Minimum P+ Implant To POLY1 Space (for HR POLY1) 0.8 E. Minimum P+ Implant Width (for MOS) 1.0 138 - Lớp CONTACT (CONT): (Unit: µm) A. CONTACT size for Exact size 0.6*0.6 B. Minimum CONTACT To CONTACT Space for CONTACT 0.6*0.6 µm2 0.6 C. Minimum DIFFUSION Enclosure of CONTACT for CONTACT 0.6*0.6 µm2 0.4 D. Minimum DIFFUSION CONTACT To POLY1/POLY2 Space 0.5 E. Minimum POLY1/POLY2 CONTACT To DIFFUSION Space 0.6 F. Minimum POLY1/POLY2 Enclosure of CONTACT 0.4 G. Minimum POLY1 CONTACT To POLY2 Spacing 0.6 Note: Maximum Current Density is 1.5mA/CONTACT (0.6*0.6 µm2) 139 140 - Lớp METAL1 (ME1O): (Unit: µm) A. Minimum METAL1 Width 0.8 B. Minimum METAL1 To METAL1 Spacing a. METAL1 Width Equal Or Larger Than 10 µm 1.4 b. METAL1 Width Smaller Than 10 µm 0.7 C. Minimum METAL1 Enclosure of CONTACT a. CONTACT Size Is 0.6*0.6 µm2 0.4 b. CONTACT Size Larger Than 0.6*0.6 µm2 0.6 c. METAL1 Width is Larger Than 10 µm 1.0 Note: Maximum Current Density Is 0.8mA/µm 141 - Lớp MVIA1 (VI1): (Unit: µm) A. a. Minimum MVIA1 Size 0.7*0.7 µm2 b. Maximum MVIA1 Size 2.0*2.0 µm2 B. Minimum MVIA1 To MVIA1 Space 0.6 C. Minimum MVIA1 Enclosure of MVIA1 a. MVIA1 Size Is 0.7*0.7 µm2 0.4 b. MVIA1 Larger Than 0.7*0.7 µm2 0.6 c. METAL1 Width is Larger Than 10 µm 1.0 D. Minimum MVIA1 To CONTACT Spacing 0 E. Minimum and Maximum MVIA1 Size when both length and width of METAL1 are larger than 50 µm 2.0*2.0 µm2 Note: Maximum Current Density Is 1.5mA/MVIA1 142 - Lớp METAL2 (ME2O) (Unit: µm) A. Minimum METAL2 Width 0.9 B. Minimum METAL2 To METAL2 Spacing a. METAL2 Width Smaller Than 10 µm 0.8 b. METAL2 Width Equal Or Larger Than 10 µm 1.4 C. Minimum METAL2 Enclosure of MVIA a. MVIA1 Size Equal To 0.7*0.7 µm2 0.4 b. MVIA1 Size Larger Than 0.7*0.7 µm2 0.6 c. METAL2 Width is Equal or Larger Than 10 µm 1.0 Note: Maximum Current Density Is 1.5mA/µm 143 - Lớp PAD_WINDOW (PAD) (Unit: µm) A. Minimum PAD_WINDOW Size 90*90 µm2 B. Minimum PAD_WINDOW To PAD_WINDOW Space (*1,*2) a. PAD Pitch is 115 µm 25 b. PAD Pitch is 140 µm 50 C. Minimum PAD_WINDOW To MVIA Space 6.0 (Typical) D. Minimum PAD METAL Enclosure of PAD_WINDOW a. Without MVIA 5.0 b. With MVIA 10 E. Minimum PAD METAL Enclosure of MVIA1 2.0 F. Minimum MVIA Size on PAD METAL 2.0*2.0 µm2 G. Minimum PAD METAL To Unrelated METAL (*1) Space 10 144 (WELL, DIFFUSION, POLY, METAL) (Typical) H. Minimum PAD METAL To scribe line edge Space 20 I. Minimum MVIA To MVIA Space on PAD METAL 2.0 J. If PAD Ptich is 115 µm: PAD METAL To PAD METAL Space 15 K. Minimum METAL1 region To PAD_WINDOW edge Space 1 L. Minimum PAD METAL Width at junction of interconnect line and PAD METAL 20 Note: *1: The Pad Pitch Size depends on the assembly house *2: Only using top layer Metal as Pad Metal which connect to circuit through MVIA with 2*2 µm2 size, and METAL1 underneath PAD_WINDOW is not allowed. - Lớp HR và các lớp liên quan: (Unit: µm) * About POLY1: A. Minịmum HR POLY1 width 2.0 145 B. Minịmum HR POLY1 length 50 * About HR layer: C. Minimum HR Layer Enclosure of HR POLY1 7.0 D. Minimum HR Layer To Unrelated POLY1 Spacing 0.5 * About N+: E. Minimum N+ Layer Overhang of HR POLY1 Pick-up 0.5 Note: 1. This layer is applied to define the High Resistance POLY1 Region 2. HR is defined by N-dopant 146 Phụ lục D. SƠ ĐỒ MẠCH ĐIỆN VÀ LAYOUT CỦA CÁC CỔNG LOGIC D1. Sơ đồ mạch điện và sơ đồ layout của cổng đảo (Inverter hay NOT gate) Hình D1-1 Kí hiệu (a) và sơ đồ mạch (b) của cổng đảo Hình D1-2 Sơ đồ layout của cổng đảo 147 D2. Sơ đồ mạch điện và sơ đồ layout của cổng và đảo (NAND gate) Hình D2-1 Kí hiệu (a) và sơ đồ mạch (b) của cổng và đảo 2 đầu vào Hình D2-2 Sơ đồ layout của cổng và đảo 2 đầu vào 148 Hình D2-3 Kí hiệu (a) và sơ đồ mạch (b) của cổng và đảo 3 đầu vào Hình D2-4 Sơ đồ layout của cổng và đảo 3 đầu vào 149 D3. Sơ đồ mạch điện và sơ đồ layout của cổng cộng đảo (NOR gate) Hình D3-1 Kí hiệu (a) và sơ đồ mạch (b) của cổng cộng đảo 2 đầu vào Hình D3-2 Sơ đồ layout của cổng cộng đảo 2 đầu vào 150 Phụ lục E. NỘI DUNG CÁC FILE MÔ PHỎNG Trong quá trình thiết kế mạch DAC, các mạch điện đều được mô phỏng bằng chương trình mô phỏng HSPICE [5], một phiên bản thương mại của chương trình mô phỏng mạch SPICE [4]. Vì vậy trước khi trình bày nội dung các file mô phỏng mạch điện, phần này sẽ giới thiệu vắn tắt chương trình mô phỏng mạch SPICE và cấu trúc của file mô phỏng. SPICE (Simulation Program with Integrated Circuit Emphasis) là một chương trình mô phỏng mạch mục đích chung (general-purpose circuit-simulation program). Nó cung cấp một số loại phân tích mạch như là phân tích DC phi tuyến (nonlinear DC analysis), phân tích transient phi tuyến (nonlinear transient analysis) và phân tích AC tuyến tính (linear AC analysis). Các mạch điện có thể chứa điện trở, tụ điện, cuộn cảm, cuộn cảm tương hỗ (mutual inductor), nguồn dòng và nguồn áp độc lập (independent voltage and current source), đường truyền (transmission line), và các thiết bị bán dẫn như điốt (diode), transistor lưỡng cực (bipolar junction transistor, BJT), các transistor hiệu ứng trường như JFET (Junction Field Effect Transistor), MOSFET (Metal-Oxide- Semiconductor Field Effect Transistor) và MESFET (Metal-Semiconductor FET). Phần phân tích DC của chương trình mô phỏng sẽ tính toán điểm phân cực (bias point) trong đó các tụ được hở mạch hay không kết nối (unconnected) và các cuộn cảm được ngắn mạch (short-circuited). SPICE sử dụng phương pháp lặp để giải các phương trình mạng phi tuyến (nonlinear network equation) của mạch điện, tính phi tuyến chủ yếu là do đặc tính dòng-áp (I-V) phi tuyến của các thiết bị bán dẫn gây ra. Chế độ phân tích AC tính toán giá trị phức (complex value) của các điện áp nút (node voltage) của mạch điện tuyến tính như là một hàm của tần số của một tín hiệu sin được cấp vào đầu vào. Đối với các mạch điện phi tuyến (mạch điện chứa phần tử phi tuyến như điốt, transistor,…), loại phân tích này yêu cầu giả định tín hiệu nhỏ (small-signal assumption), nghĩa là biên độ của nguồn kích thích (excitation source) được cho là nhỏ, so sánh được với điện áp nhiệt (thermal voltage, Vth = kT/q = 25,8mV ở 27oC). Chỉ với sự giả định này, mạch điện phi tuyến có thể thay thế bằng mạch tuyến tính tương đương quanh điểm phân cực một chiều. Chế độ phân tích transient tính dạng sóng điện áp tại mỗi nút của mạch như một hàm của thời gian. Đây là một phân tích tín hiệu lớn (biên độ tín hiệu vào không bị hạn chế). Vì thế đặc tính phi tuyến của các thiết bị bán dẫn được tính đến trong loại phân tích mạch này. Trước khi chạy chương trình SPICE để mô phỏng, người sử dụng phải tạo ra một file văn bản (sử dụng kí tự theo mã ASCII) chứa hai loại thông tin: thông tin miêu tả mạch điện và các yêu cầu phân tích (analysis request). File này được gọi là file đầu vào SPICE (SPICE input file) (ở đây ta gọi là file mô phỏng). Nó luôn bắt đầu bằng một dòng tiêu đề (title statement) và kết thúc bằng dòng .END. Cấu trúc chung của file đầu vào SPICE là như sau: 151 Dòng tiêu đề (title statement) * Các dòng nhận xét (comment statement) Các dòng miêu tả các phần tử của mạch điện (element statements) Các dòng toàn cục (global statement) Các dòng điều khiển (control statement) .END (dòng kết thúc, end statement) Sau đây ta xem xét một ví dụ file mô phỏng cho mạch logic_in của DAC, mục đích của file mô phỏng này là tìm điện áp ngưỡng logic của mạch logic_in. Logic_in circuit simulation * Purpose: Find logic threshold voltages of Logic_in cicruit .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .include "E:\ch_proj\dw\logic_in.NET" V_V V G pwl(0 0 1u 3) V_G G 0 0 V_IN IN G pwl(0 0 1m 3 2m 0) .temp 25 .tran 1u 2m * PROBE OUTPUTs: .probe v(in) v(out) .END Giải thích nội dung file mô phỏng: - Dòng đầu tiên " Logic_in circuit simulation " chính là dòng tiêu đề, nội dung dòng tiêu đề thường chứa tên mạch điện được mô phỏng. Ở đây là mạch Logic_in. - Dòng tiếp theo "* Purpose: Find logic threshold voltages of Logic_in cicruit" là một dòng nhận xét (comment statement), nó bắt đầu bằng kí tự * - Ba dòng tiếp theo bắt đầu bằng .option là các lệnh thiết lập các giá trị option của chương trình SPICE, các option này giúp chương trình mô phỏng tránh gặp vấn đề không hội tụ (nonconvergence) khi chạy mô phỏng. - Dòng tiếp theo bắt đầu với .lib [5] là lệnh nạp file thư viện (library file). File thư viện chứa các dòng mô tả mô hình (model) của các phần tử của mạch (như 152 transistor MOS, điện trở mạch tích hợp, tụ điện mạch tích hợp, …). Những thông tin này do nhà máy sản xuất bán dẫn cung cấp. - Dòng tiếp theo bắt đầu bằng .include, đây là lệnh nạp file mô tả mạch của mạch điện cần mô phỏng. Trong ví dụ này là file "logic_in.NET". File này được tạo bởi chương trình vẽ mạch điện DesignWork. Nội dung của file này như sau: ** Subcircuits section ** .SUBCKT AINV V G A Z XM1 Z A V V MP L=0.7 W=2.7 M=1 GEO=1 XM2 Z A G G MN L=0.6 W=1.4 M=1 GEO=1 .ENDS AINV ** Top level circuit ** X1 V G SIG3985 OUT AINV X2 V G OUT SIG4014 AINV XM1 SIG3962 IN G G MNI L=0.6 W=12 M=1 GEO=1 XM2 SIG3985 IN SIG3962 G MNI L=0.6 W=60 M=1 GEO=1 XM3 V SIG3985 SIG3962 G MNI L=0.6 W=2 M=1 GEO=1 XM4 SIG3985 IN SIG3983 V MP L=0.7 W=20 M=1 GEO=1 XM5 SIG3983 IN V V MP L=0.7 W=4 M=1 GEO=1 XM6 G SIG3985 SIG3983 V MP L=0.7 W=2 M=1 GEO=1 - Ba dòng tiếp theo là ba mô tả phần tử (element statement) nguồn áp đặt vào mạch. - Dòng tiếp theo là dòng toàn cục (global statement) .temp, dòng này cho phép thiết lập nhiệt độ mạch được mô phỏng, trong ví dụ này là 25oC. - Dòng tiếp theo là một dòng điều khiển (control statement) chỉ định loại phân tích sử dụng cho mô phỏng là phân tích transient. - Tiếp theo là một dòng nhận xét - Dòng tiếp theo là dòng điều khiển .probe, dòng điều khiển này được sử dụng để chỉ định những kết quả mô phỏng cần được lưu trữ ở file kết quả mô phỏng. Trong ví dụ này đó là điện áp của nút in và nút out của mạch logic_in - Cuối cùng là dòng kết thúc .END Sau đây là nội dung một số file mô phỏng khác được sử dụng trong quá trình thiết kế mạch DAC: - Nội dung file mô phỏng đặc tính chuyển mạch của mạch logic_in: ************ logic_in circuit simulation ************ *Purpose: Simulation switching characteristic of logic_in circuit .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt 153 .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .include "E:\ch_proj\dw\schmitt.NET" V_V V G pwl(0 0 1u 3) V_G G 0 0 V_IN IN G pwl(0 0 2u 0 2.001u 3 3u 3 3.001u 0) .temp 25 .tran 1n 4u * PROBE OUTPUTs: .probe v(in) v(out) .END - Nội dung file mô phỏng hoạt động của DFF1: ************ DFF1 simulation ************ .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .include "E:\ch_proj\dw\DFF1.NET" .param vdd=3.6 V_V V G pwl(0 0 10n vdd) V_G G 0 0 V_D D G pulse(vdd 0 0 10n 10n 4u 8u) V_CLK CLK G pulse(vdd 0 0 10n 10n 16u 32u) $'Tclk=4Td .temp 25 .tran 0.1u 64u * SEE OUTPUT (default HSPICE save all voltage of nodes in top circuit) * So don't need use .probe statement here .END - Nội dung file mô phỏng hoạt động của DFF2: ************ DFF2 simulation ************ .option cshunt=5e-14 154 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .include "E:\ch_proj\dw\DFF.NET" .param vdd=3.6 V_V V G pwl(0 0 10n vdd) V_G G 0 0 V_D D G pulse(vdd 0 0 10n 10n 4u 8u) V_CLK CLK G pulse(vdd 0 0 10n 10n 16u 32u) $'Tclk=4Td V_nCLR nCLR G pwl(0 0 64u 0 64.01u vdd) .temp 25 .tran 0.1u 128u * SEE OUTPUT .END - Nội dung file mô phỏng hoạt động của khối Logic Control: ************ Control Logic simulation ************ .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .include "E:\ch_proj\dw\for_sim\control_logic_sim.NET" .param vdd=3.6 V_V V G pwl(0 0 10n vdd) V_G G 0 0 V_WR WR G pulse(vdd 0 0 10n 10n 4u 8u) V_nCLR nCLR G pulse(vdd 0 0 10n 10n 16u 32u) $'Tclk=4Td V_CS CS G pwl(0 0 64u 0 64.01u vdd) .temp 25 .tran 0.1u 128u 155 * SEE OUTPUT: .END - Nội dung file mô phỏng hoạt động của bộ lập mã Thermometer: ************ Thermometer encoder simulation ************ .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .include "E:\ch_proj\dw\thermometer_encoder_sim.NET" .param vdd=5 V_V V G pwl(0 0 1u vdd) V_G G 0 0 V_b0 b0 G pulse(vdd 0 0 10n 10n 5u 10u) V_b1 b1G pulse(vdd 0 0 10n 10n 10u 20u) V_b2 b2 G pulse(vdd 0 0 10n 10n 20u 40u) V_b3 b3 G pulse(vdd 0 0 10n 10n 40u 80u) .temp 25 .tran 0.1u 80u * SEE OUTPUT: .END - Nội dung file mô phỏng sự phụ thuộc của dòng IQ theo điện áp nguồn của khối tạo dòng phân cực: ************I BIAS circuit simulation ************ .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt 156 .include "E:\ch_proj\dw\for_sim\ibias_sim.NET" V_V V G 0 V_G G 0 0 V_ON ON V 0 .temp 25 .DC V_V 0 5 1m * PROBE OUTPUTs: *Display drain current of all MOS .probe i1(x1.xm*.m1) .END - Nội dung file mô phỏng vòng hở của mạch tạo điện áp phân cực: ************ VBIAS circuit simulation ************ * Purpose: Phase margin of VBIAS circuit .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .include "E:\ch_proj\dw\for_sim\VBIAS_sim.NET" V_V V G 3 V_G G 0 0 V_ON ON V 0 V_VREF VREF G 1 I_IPU2U V IPU2U 2u R_AC FBI FB 0 ac=1g R_DC FBI TNT 1g ac=0 VTEST TNT G 0 ac=1 .temp 25 .AC DEC 30 1 1000meg * PROBE OUTPUTs: .probe vdb(fbi) vdb(fb) vp(fb) .END - Nội dung file mô phỏng vòng hở của mạch OAMP: 157 ************ OAMP circuit simulation ************ * Purpose: Phase margin of OAMP .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .include "E:\ch_proj\dw\for_sim\OAMP_openloop_sim.NET" V_VA VA G 5.5 V_G G 0 0 V_GA GA G 0 V_nPDIN nPDIN VA 0 V_REFIN REFIN G 2.5 $'worst case for phase margin I_IPD10U IPD10U G 10U *Vout=VREF I_SRC VA N 159.2u $' current from current sources, n=128--> Vout=VREF C_OUT OUT G 100p RAC NI N 0 ac=1g RDC NI TNT 1g ac=0 VTEST TNT G 0 ac=1 .temp 25 .OP $ to check operating point .AC DEC 20 1m 50meg * PROBE OUTPUTs: .option probe $ to limit output .probe vdb(NI) vdb(N) vp(N) .END - Nội dung file mô phỏng điện áp ra tương tự theo từ mã số của chip DAC ở VDD=3,3V,VREF=VDD/2: ************ DAC top simulation ************ *NOTE: .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear 158 .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .include "E:\ch_proj\dw\dac8bits_pinout.NET" .param VSUP=3.3 V_VDD VDD G pwl(0 0 1u 3.3) V_REFIN REFIN G pwl(0 0 1u 1.65) V_nPD nPD G pwl(0 0 5u 0 5.1u VSUP) V_nWR nWR G pulse(VSUP 0 101u 10n 10n 1u 20u) V_G G 0 0 V_GA GA G 0 V_GD GD G 0 V_nCLR nCLR VDD 0 V_nCS nCS G 0 V_D0 D0 G pulse(VSUP 0 100u 10n 10n 20u 40u) V_D1 D1 G pulse(VSUP 0 100u 10n 10n 40u 80u) V_D2 D2 G pulse(VSUP 0 100u 10n 10n 80u 160u) V_D3 D3 G pulse(VSUP 0 100u 10n 10n 160u 320u) V_D4 D4 G pulse(VSUP 0 100u 10n 10n 320u 640u) V_D5 D5 G pulse(VSUP 0 100u 10n 10n 640u 1.28m) V_D6 D6 G pulse(VSUP 0 100u 10n 10n 1.28m 2.56m) V_D7 D7 G pulse(VSUP 0 100u 10n 10n 2.56m 5.12m) C_OUT OUT G 100p R_OUT OUT G 10k .temp 25 .tran 0.01u 5.4m * PROBE OUTPUTs: .END - Nội dung file mô phỏng thời gian thiết lập của điện áp ra tương tự của chip DAC ở VDD = 2,7V: ************ DAC top simulation ************ .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt 159 .include "E:\ch_proj\dw\dac8bits_pinout.NET" .param VSUP=2.7 VREF=1.35 V_VDD VDD G pwl(0 0 1u VSUP) V_G G 0 0 V_GA GA G 0 V_GD GD G 0 V_nCLR nCLR G pwl(0 0 5u 0 5.1u VSUP) V_nCS nCS G 0 V_nWR nWR G pwl(0 0 1u VSUP 50u VSUP 50.1u 0 55u 0 55.1u VSUP) V_nPD nPD VDD 0 V_D0 D0 VDD 0 V_D1 D1 VDD 0 V_D2 D2 VDD 0 V_D3 D3 VDD 0 V_D4 D4 VDD 0 V_D5 D5 VDD 0 V_D6 D6 VDD 0 V_D7 D7 VDD 0 V_REFIN REFIN G pwl(0 0 1u VREF) C_OUT OUT G 100p R_OUT OUT G 10k .temp 25 .tran 0.1u 200u * PROBE OUTPUTs: .alter $ change temperature to -40oC .temp -40 .alter $ change temperature to 105oC .temp 105 .END - Nội dung file mô phỏng ảnh hưởng của điện áp nguồn đến điện áp ra tương tự của chip DAC ở VDD = 3,3V: ************ DAC top simulation ************ .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .option post=2 160 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" BIP_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .lib "\WORK\MODELS\U06_REV4.LIB" DIO .include "E:\ch_proj\dw\dac8bits_pinout.NET" .param VSUP=3.3 VREF=1.65 V_VDD VDD G pwl(0 0 1u 2.97 50u 2.97 50.1u 3.63 80u 3.63 80.1u 3.3) V_G G 0 0 V_GA GA G 0 V_GD GD G 0 V_nCLR nCLR G pwl(0 0 5u 0 5.1u VSUP) V_nCS nCS G 0 V_nWR nWR G pwl(0 0 1u VSUP 10u VSUP 10.1u 0 15u 0 15.1u VSUP) V_nPD nPD VDD 0 *Vout=VREF V_D0 D0 G 0 V_D1 D1 G 0 V_D2 D2 G 0 V_D3 D3 G 0 V_D4 D4 G 0 V_D5 D5 G 0 V_D6 D6 G 0 V_D7 D7 VDD 0 V_REFIN REFIN G pwl(0 0 1u VREF) C_OUT OUT G 100p R_OUT OUT G 10k .temp 25 .tran 0.01u 100u * PROBE OUTPUTs: .END - Nội dung file mô phỏng dòng tiêu thụ của chip DAC ở VDD = 3,3V: ************ DAC top simulation ************ .option cshunt=5e-14 .option gshunt=5e-14 161 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" BIP_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .lib "\WORK\MODELS\U06_REV4.LIB" DIO .include "E:\ch_proj\dw\dac8bits_pinout.NET" .param VSUP=3.3 VREF=1.65 V_VDD VDD G pwl(0 0 1u VSUP) V_G G 0 0 V_GA GA G 0 V_GD GD G 0 V_nCLR nCLR VDD 0 V_nCS nCS G 0 V_nWR nWR G pwl(0 0 1u VSUP 10u VSUP 10.1u 0 15u 0 15.1u VSUP) V_nPD nPD G pwl(0 0 5u 0 5.1u VSUP) V_D0 D0 G 0 V_D1 D1 G 0 V_D2 D2 G 0 V_D3 D3 G 0 V_D4 D4 G 0 V_D5 D5 G 0 V_D6 D6 G 0 V_D7 D7 VDD 0 V_REFIN REFIN G pwl(0 0 1u VREF) C_OUT OUT G 100p .temp 25 .tran 0.1u 50u * PROBE OUTPUTs: .probe i(V_VDD) .alter $2 .temp -40 .alter $3 .temp 105 .END 162 - Nội dung file mô phỏng chế độ power-down của chip DAC: ************ DAC top simulation ************ .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .include "E:\ch_proj\dw\dac8bits_pinout.NET" .param VSUP=5.5 VREF=2.75 V_VDD VDD G pwl(0 0 1u VSUP) V_G G 0 0 V_GA GA G 0 V_GD GD G 0 V_nCLR nCLR VDD 0 V_nCS nCS G 0 V_nWR nWR G pwl(0 0 1u VSUP 10u VSUP 10.1u 0 15u 0 15.1u VSUP) V_nPD nPD G 0 $shutdown condition V_D0 D0 G 0 V_D1 D1 G 0 V_D2 D2 G 0 V_D3 D3 G 0 V_D4 D4 G 0 V_D5 D5 G 0 V_D6 D6 G 0 V_D7 D7 VDD 0 V_REFIN REFIN G pwl(0 0 1u VREF) C_OUT OUT G 100p .temp 25 .tran 0.1u 50u * PROBE OUTPUTs: .probe i(V_VDD) .alter $2 .temp 105 .END - Nội dung file mô phỏng chip DAC thoát khỏi chế độ power-down: 163 ************ DAC top simulation ************ .option cshunt=5e-14 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .include "E:\ch_proj\dw\dac8bits_pinout.NET" .param VSUP=5.5 VREF=2.75 V_VDD VDD G pwl(0 0 1u VSUP) V_G G 0 0 V_GA GA G 0 V_GD GD G 0 V_nCLR nCLR VDD 0 V_nCS nCS G 0 V_nWR nWR G pwl(0 0 1u VSUP 10u VSUP 10.1u 0 15u 0 15.1u VSUP) V_nPD nPD G pwl(0 0 50u 0 50.1u VSUP) $shutdown condition V_D0 D0 G 0 V_D1 D1 G 0 V_D2 D2 G 0 V_D3 D3 G 0 V_D4 D4 G 0 V_D5 D5 G 0 V_D6 D6 G 0 V_D7 D7 VDD 0 V_REFIN REFIN G pwl(0 0 1u VREF) C_OUT OUT G 100p R_OUT OUT G 10k .temp 25 .tran 0.01u 100u * PROBE OUTPUTs: .probe i(V_VDD) .END - Nội dung file mô phỏng đặc tính định thời của DAC: ************ DAC top simulation ************ *NOTE: .option cshunt=5e-14 164 .option gshunt=5e-14 .option method=gear .option post=2 .lib "\WORK\MODELS\U06_REV4.LIB" MOS_tt .lib "\WORK\MODELS\U06_REV4.LIB" RES_tt .lib "\WORK\MODELS\U06_REV4.LIB" CAP_tt .include "E:\ch_proj\dw\for_sim\dac8bits_digitalpart_sim_2.NET" .param vdd=2.7 V_VV VV G pwl(0 0 1n vdd) V_G G 0 0 V_GD GD G 0 V_D0 D0 G pwl(0 0 10n 0 10.1n vdd) V_D1 D1 G 0 V_D2 D2 G 0 V_D3 D3 G 0 V_D4 D4 G 0 V_D5 D5 G 0 V_D6 D6 G 0 V_D7 D7 G 0 V_nPD nPD G 0 V_nCS nCS G 0 V_nWR nWR G pulse(vdd 0 0 0.1n 0.1n 1u 2u) V_nCLR nCLR G pwl(0 0 4u 0 4000.1n vdd 6u vdd 6000.1n 0) .temp 25 .tran 1n 8u * SEE OUTPUT: .END

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN-THIẾT KẾ BỘ CHUYỂN ĐỔI SỐ - TƯƠNG TỰ 8 BÍT SỬ DỤNG CÔNG NGHỆ BÁN DẪN CMOS.pdf