Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
0,98 MB
Nội dung
Khi đọc qua tài liệu này, phát sai sót nội dung chất lượng xin thông báo để sửa chữa thay tài liệu chủ đề tác giả khác Bạn tham khảo nguồn tài liệu dịch từ tiếng Anh đây: http://mientayvn.com/Tai_lieu_da_dich.html Thông tin liên hệ: Yahoo mail: thanhlam1910_2006@yahoo.com Gmail: frbwrthes@gmail.com CHUYÊN ĐỀ ASIC Đối tượng: sinh viên năm 5, ngành Điện tử ThS NGUYỄN BÁ HỘI Khoa Điện tử Viễn thông Sách tham khảo Cách thức tính điểm Dẫn nhập .3 CHƯƠNG 1: Giới thiệu ASIC 1.1 Các loại ASIC 1.1.1 1.1.2 1.1.3 1.1.4 Full-custom ASIC Standard-Cell-Based ASIC (CBIC) Gate-array-based ASIC (GA) PLD & FPGA 1.1.4.1 PLA & PAL 1.2 Qui trình thiết kế ASIC 1.3 Kết luận 10 CHƯƠNG 2: CMOS logic 11 2.1 2.1.1 2.1.2 2.1.3 CMOS transistor 12 Transistor kênh dẫn loại p .15 Bão hòa vận tốc (velocity saturation) .15 Mức logic 15 2.2 Qui trình chế tạo CMOS 16 2.3 Qui luật thiết kế 18 2.4 Tế bào logic tổ hợp (Combinational Logic Cell) 20 2.4.1 2.4.2 2.4.3 2.5 2.5.1 2.5.2 2.5.3 Định luật de Morgan .20 Drive strength 20 TG & MUX 22 Tế bào logic (Sequential Logic Cell) 23 Bộ chốt liệu – latch or D-latch 24 Flip-Flop 24 Cổng đảo có xung clock - Clocked Inverter 26 2.6 I/O cell 26 2.7 Trình dịch cell - Cell Compiler 26 CHƯƠNG 3: Thiết kế thư viện ASIC 27 3.1 Mô hình trở transistor 27 3.2 Tụ ký sinh 27 3.3 Logical Effort 27 3.3.1 3.3.2 3.4 Ước tính trễ 29 Diện tích logic & hiệu logic 30 Bài tập 31 CHƯƠNG 4: VHDL 33 Sách tham khảo Michael J.S Smith, Application Spesific ICs, Addison Wesley, 1997 Charles H Roth, Digital System Design using VHDL, PWS, 1998 Stephen Brown & Zvonko, Fundamentals of Digital Logic with VHDL Design, McGrawHill, 2000 Neil H.E Weste & Kamran, Principles of CMOS VLSI Design – a system prospective, Addison Wesley, 1993 David Johns & Ken Martin, Analog IC design, John Wiley & Sons, 1997 Kang & Leblebici, CMOS Digital ICs, Mc-GrawHill, 1999 Allen & Holberg, CMOS Analog Circuit Design, Oxford University Press, 2002 John P Uyemura, Circuit Design for CMOS VLSI, Kluwer Publisher, 1992 Nguyen Quoc Tuan, Giao trinh ngon ngu VHDL de thiet ke vi mach, 2002 Cách thức tính điểm Bài tập: 20% Thi cuối kỳ (cho phép dùng tài liệu): Thực hành: 20% 60% Dẫn nhập Bảng Karnaugh, 2-input NAND, NOR & vẽ mạch CMOS logic tương đương, ký hiệu Tầm quan trọng NAND & NOR gates Cổng hỗn hợp (compound gate), n-input gates, AND gate Bài tập Tham khảo file [M-chip Disk on chip, filename: NOR_vs_NAND.pdf]: So sánh công nghệ NOR NAND: kiến trúc NOR thích hợp cho thiết bị lưu trữ từ – 4MB, NOR cho hiệu suất đọc cao thời gian xóa thời gian lập trình lớn, nên không thích hợp cho thiết bị lưu trữ yêu cầu dung lượng tốc độ cao NAND có tính vừa nêu, dung lượng từ – 512 MB cộng với giá phải Bù lại, nhà chế tạo phải đương đầu với giao diện không chuẩn (non-standard interface) quản lý phức tạp (complicated management) NAND CHƯƠNG 1: Giới thiệu ASIC ASIC (Application Specific IC) IC and PGA package (Pin Grid Array) (hình 1.1) Hình 1-1 An integrated circuit (IC) (a) A pingrid array (PGA) package (b) The silicon die or chip is under the package lid Tính toán kích cỡ IC: theo số lượng cổng (logic-gate hay transistor) bên IC Đơn vị tính kích cỡ IC NAND NOR gate Ví dụ: 100k-gate = 100.000 twoinput NAND gates 2-input NAND gate = CMOS transistors Tương tự cho NOR gate (xem chương dẫn nhập) Các giai đoạn phát triển công nghệ tích hợp: SSI (thập niên 70), MSI, LSI, VLSI, ULSI (SSI với vài chục transistor tức cỡ 1-10 gates, LSI chế tạo microprocessor, thuật từ VLSI (phổ biến) = ULSI (Nhật)) TTL (ECL – emitter coupled logic) Đầu thập niên 70 NMOS Thập niên 70 CMOS Thập niên 80 Bipolar IC Tốn lượng Giá thành cao Kích cỡ lớn MOS IC Metal gate nMOS, chưa có pMOS Ít bước masking Mật độ cao (denser) Tiêu tốn lượng (consumed less power) Thị trường MOS IC CMOS IC Đột phá: Polysilicon Gate cho phép tích hợp nMOS & pMOS IC Tiêu tốn lượng Polysilicon cho phép đơn giản trình chế tạo dẫn đến thu nhỏ kích cỡ IC Bipolar & BiCMOS ICs sử dụng ứng dụng điện cao (s/v CMOS) điện tử công suất, xe hơi, mạch điện thoại Feature size: đặc trưng λ; λ = ½ smallest transistor size; VD: λ = 0,25µm tương ứng transistor nhỏ có kích cỡ 0.5 µm (liên hệ cấu tạo CMOS transistor côn nghệ chế tạo) Thông thường, xây dựng hệ thống vi điện tử (microelectronic system) sử dụng thành phần chuẩn - “standard parts” hay IC chuẩn - “standard ICs” Sau đời VLSI năm 80, ta xây dựng thứ IC đơn cho ứng dụng chuyên dụng khác (customized to a particular system) “custom ICs” Tất nhiên trường hợp thích hợp Nguyên tắc định nghĩa yêu cầu toán (xác định design entry), sau xây dựng số phần sử dụng standard IC, phần lại sử dụng custom IC giá rẻ, tăng độ tin cậy Custom IC hoàn toàn không cần thiết nhớ chẳng hạn IEEE Custom IC Conference (CICC) custom IC phát triển mạnh mẽ cho vô số ứng dụng khác thuật ngữ ASIC, IEEE International ASIC Conference cho riêng ASIC Not ASIC ASIC ROM DRAM, SRAM Microprocessor TTL, TTL-equivalent IC mức tích hợp SSI, MSI, LSI Gấu đồ chơi nói PC chip Satellite chip Modem chip Chip đảm nhận việc giao tiếp workstation CPU với nhớ Chip chứa microprocessor với thành phần logic khác qui tắc: tìm thấy “data book” Nhận dạng người: Gương mặt Các đặc điểm vật lý … 1.1 Lưỡng tính chuyên dụng (Application Specific IC) sản xuất rộng rãi (ASSPs) Nhận dạng ASIC: Các đặc điểm vật lý Giá thành Phương pháp thiết kế ASIC … loại ASIC Các loại ASIC Nêu khái niệm Wafer, Mask layer, Interconnect Full-custom ASICs logic cells & mask layers thiết kế theo yêu cầu user giá thành cao tuần chế tạo (không kể thời gian thiết kế) Semi-custom ASICs logic cells thiết kế sẵn cell library vài tất mask layers thiết kế theo yêu cầu user standard-cell-based ASICs gate-array-based ASICs Progammable ASICs logic cells & mask layers thiết kế sẵn PLDs FPGAs (what we can in Danang!!!) 1.1.1 Full-custom ASIC Đặc điểm: logic cells & mask layers thiết kế theo yêu cầu user giá thành cao thời gian chế tạo tuần (không bao gồm thời gian thiết kế) 1.1.2 Standard-Cell-Based ASIC (CBIC) Nêu khái niệm: Standard cell = logic cell = cell (AND, OR, MUX, Flip-Flop, Latch) Megacell = full-custom block = System Level Macro (SLM) = fixed block = core = Functional Standard Block (FSB) VD: SRAM, SCSI Controller, MPEG Decoder… Hình 1-2 (CBIC) die with a single standard-cell area (a flexible block) together with fixed blocks The flexible block contains rows of standard cells This is what you might see through a low-powered microscope looking down on the die of Hình 1.1(b) The small squares around the edge of the die are pads that are connected to the pins of the ASIC package Đặc điểm CBIC: mask layers thiết kế theo yêu cầu user cell & megacell đặt đâu chip Ưu: Cell thiết kế sẵn (predesigned) Cell kiểm tra (pretested) Cell đặc tả rõ (precharacterized) cell thiết kế tối ưu độc lập giảm rủi ro giảm giá thành tiết kiệm thời gian thiết kế Nhược: Thời gian thiết kế hay chi phí mua thư viện cell Thời gian chế tạo mask layer Thời gian chế tạo: tuần (không bao gồm thời gian thiết kế) Cell-based ASIC (CBIC) Gate-based ASIC (GA) Điểm chung: Predesigned cells Có thể thay đổi kích cỡ transistor cell Kích cỡ transistor cố định (fixed cell) để tối ưu hóa tốc độ hiệu suất Sự thỏa hiệp diện tích (area) hiệu Sự thỏa hiệp diện tích (area) hiệu suất (performance) tầng thư viện suất (performance) tầng silicon ASIC tiên tiến dụng đến lớp kim loại (metal layer) nhiều cho interconnect Metal 1: power bus Metal 2: input hay output cells Xem hình 1.3 Hình 1-3 layout of a standard cell, with λ = 0.25 microns Standard cells are stacked like bricks in a wall; the abutment box (AB) defines the “edges” of the brick The difference between the bounding box (BB) and the AB is the area of overlap between the bricks Power supplies (VDD and GND) run horizontally inside a standard cell on a metal layer that lies above the transistor layers Each different shaded and labeled pattern represents a different layer This standard cell has center connectors (the three squares, labeled A1, B1, and Z) that allow the cell to connect to others The layout was drawn using ROSE, a symbolic layout editor developed by Rockwell and Compass, and then imported into Tanner Research’s L-Edit Các khái niệm: Feedthrough: Spacer cell: Row-end-cell: Power-cell: đường dẫn kim loại xuyên qua cell hiệu chỉnh chiều dọc hàng cell kết nối nguồn cho hàng khác dùng cell-row dài Hình 1-4 Routing the CBIC (cell-based IC) shown in hình 1.2 The use of regularly shaped standard cells, such as the one in hình 1.3, from a library allows ASICs like this to be designed automatically This ASIC uses two separate layers of metal interconnect (metal1 and metal2) running at right angles to each other (like traces on a printed-circuit board) Interconnections between logic cells uses spaces (called channels) between the rows of cells ASICs may have three (or more) layers of metal allowing the cell rows to touch with the interconnect running over the top of the cells Datapath: Khi nhiều tín hiệu qua bus liệu logic cell không hiệu quả, đó, datapath sử dụng Tạo datapath datapath compiler từ nhà SX Datapath library bao gồm datapath cell là: cộng - adder, trừ subtracter, nhân - multiplier & khối logic số học đơn giản – simple ALU Ưu: kết nối datapath cell để tạo nên datapath thông thường cho layout chặt (tốn diện tích) & hoạt động nhanh (so với standard-cell hay gate-array) 1.1.3 Gate-array-based ASIC (GA) SV tự đọc sách 1.1.4 PLD & FPGA Logic cell mask layer có sẵn (không theo yêu cầu user) Interconnect khả trình Ma trận macrocell bao gồm PAL + FF Latch Thời gian thiết kế hoàn chỉnh nhanh (vài giờ) Ví dụ: Field-programmable: PROM, EPROM, EEPROM, UVPROM Mask-programmable: Mask- programmable ROM (Masked ROM) Field-programmable: kết nối dùng chuyển mạch lập trình (cấu chì chẳng hạn, CMOS transistor) & chậm kết nối cứng có ưu điểm rẻ SX với số lượng nhỏ thời gian lập trình tức Mask-programmable: kết nối bên thực phần cứng SX có nhược điểm lập trình vài tháng, song bù lại giá thành giảm SX với số lượng lớn PLD: gồm khối cổng AND nối với khối cổng OR Mạch logic thực PLD theo dạng tổng tích (sum-of-product) Các loại PLD: PLD bản: PAL (Khối AND khả trình, khối OR cố định) PLD linh hoạt: PLA (Khối AND OR khả trình) PLA maskprogrammable hay field- programmable Cả hai loại PLD cho phép thực mạch logic tốc độ cao Tuy nhiên cấu trúc đơn giản cho phép thực mạch logic nhỏ Các PLD phức tạp (complex PLD - CPLD) biết đến FPGA Hình 1-5 FPGA die Cấu trúc FPGA bao gồm cell khả trình bao quanh interconnect khả trình Các loại FPGA khác có số lượng cell & kích cỡ cell khác 1.1.4.1 PLA & PAL Cấu trúc PLA: Mảng logic khả trình Tìm bảng PLA hàng tối thiểu Cấu trúc PAL: Logic mảng khả trình, tr.h riêng PLA - mảng OR cố định Bài tập 1.2 Qui trình thiết kế ASIC Hình 1-6 ASIC design flow Better impress this flow on the memory by explaining in comparison with building construction Mô tả toán: sử dụng ngôn ngữ mô tả phần cứng HDL (VHDL hay Verilog) (VHDL by Department of Defense in 1980s and standardized by IEEE in 1993 - Verilog is created by Cadence in 1989 and standardized by IEEE in 1995) Tổng hợp logic: dùng HDL công cụ tổng hợp logic để xây dựng netlist – mô tả tế bào (cell), khối (block) kết nối (interconnect) chúng Phân chia hệ thống: chia hệ thống lớn thành phần thích hợp Mô tiền layout: kiểm tra tính đắn thiết kế (tiền layout = sơ đồ mạch logic – gần với thực tế) Sắp xếp khối chip: xếp khối netlist chip Nên xem xét khía cạnh vật lý logic thiết kế bước Bố trí cell: định vị cell bên khối Thiết kế tuyến: kết nối cell khối Kiểm tra tính hợp lý bước 7: tính toán trở kháng dung kháng lớp interconnect M3 A M4 Z B M1 M2 A B NOR2 gate p-well (1) VDD n-well (2) p+M4 p+ M3 p-diff (3) metal (6) A+ B M1 n+ M2 n-diff (3) contact (5) n+ VSS poly (4) A B M4 A M6 M5 C B Z M1 A M2 NAND3 gate B M3 C 19 p-well (1) VDD p+M5 p+ M4 n-well (2) p-diff (3) M6 metal (6) ABC M1 n+ M2 M3 n+ n-diff (3) contact (5) VSS poly (4) A B C Vẽ layout AND3, giải đầy đủ? 2.4 Tế bào logic tổ hợp (Combinational Logic Cell) AOI & OAI cell cho hiệu cao CMOS Dưới vd AOI221 & OAI321 Các ký hiệu không chuẩn hóa sử dụng rộng rãi Các chữ đại diện tầng thứ tự chúng - số lớn định ngõ vào cho tầng thứ nhất, số định ngõ vào cho tầng thứ Các số thường viết theo thứ tự giảm dần AOI211 – biểu diễn hàm Z=(AB+C+D)’ OAI111 = NAND3 Hình 2-8 Tên cell tổ hợp cách đánh số giảm dần cho cell tổ hợp phức tạp (a) AND-OR-INVERT cell (b) OR-ANDINVERT cell Theo đó, hàm logic (a) Z=(AB+CD+E)’ Ghi tắc Z=OAI221(A,B,C,D,E) Hay, Z=AOI321(A,B,C,D,E,F) nghĩa F nối trực tiếp đến tầng Xây dựng cell OA, AO cách thêm cổng đảo vào sau OAI, AOI 2.4.1 Định luật de Morgan o Đã học chương dẫn nhập o Ký hiệu bubble 2.4.2 Drive strength Drive Strength - Độ bền điều khiển: transistor loại n p cổng đảo có trở kháng Nói cách khác chúng có hệ số khuếch đại Tổng quát hơn, phần transistor nMOS va pMOS có trở kháng Đạt Drive Strength bẳng cách thay đổi hệ số hình dáng tham số hỗ dẫn 20 W β n / β p = cho L phép tụ tải (capacitive load) nạp xả với khoảng thời gian nhau, nghĩa dòng INV cung cấp thu nhận Mục đích sâu xa độ bền điều khiển: IDS ~ β n = kn' βn / β p = 0.1 Vout βn / β p = βn / β p = 10 Vin Bài toán hình vẽ cho KQ 2/1 cho phần nMOS 1/1 cho phần pMOS Hình 2-9 AOI221 Giả sử transistor có kích thước cố định INV cấu thành transistor có tham số hổ dẫn 2kn kp/2 (kp=4kn) Nếu muốn dùng NOR2 để tạo INV đạt độ bền điều khiển transistor NOR2 phải có tham số hổ dẫn bao nhiêu? Giải thích, vẽ hình? Trả lời: kp kp/2 A kp Z A Z 2kn kn kn 21 INV với giả thiết cho đạt độ bền điều khiển Đã biết: R tỷ lệ nghịch với W W β = k , cố định Cho nên: L L = R pINV = R pNOR + R pNOR ⇒ k pNOR = k pINV k pINV / k p NOR 1 RnINV = RnNOR // RnNOR ⇒ knNOR = knINV 2knINV 2kn NOR Tính toán số 224 cells (for AOI family) 2.4.3 TG & MUX Hình 2-10 CMOS transmission gate (TG) (a) transistor kênh p n mắc song song tạo thành TG (b) Ký hiệu TG thông dụng (c) tượng chia sẻ điện tích Biểu thức TG: Z = TG(A, S) Chỉ ưu điểm sử dụng transistor s/v pass transistor, vẽ, giải thích Nhược TG: tượng chia sẻ điện tích (charge sharing) với phần mạch – cho ví dụ chứng minh VF = VSMALLCCSMALL+ +CVBIGCBIG CBIG = 0.2pF (10 lần giá trị tải SMALL BIG chuẩn với G5) CSMALL = 0.02pF VBIG =0V, VSMALL=5V tính VF = 0.45V Cách cải tiến: ngõ vào đủ mạnh dùng buffer A Z Thiết kế MUX: cách: sử dụng TG sử dụng tế bào logic AOI, OAI Cách 1: Thiết kế MUX2:1 S)=A.S’+B.S=MUX(A,B,S) dùng TG: Z = TG(A, S') + TG(B, 22 Hình 2-11 CMOS MUX (a) MUX2:1 dùng TG đệm (b) Ký hiệu MUX (c) Ký hiệu MUX theo chuẩn IEEE (d) Ký hiệu MUX phổ biến (theo IEEE) (e) MUX đảo có đệm ngõ (f) MUX2:1 có đệm vào Giải thích Các trường hợp (e) (f) cải tiến (a) Giải thích ý nghĩa G cách thức tác động Nếu MUX4:1 ta có w0,1,2,3 với s1,0 Cách 2: Thiết kế MUX2:1 đảo dùng OAI cell: ZN = A'S' + B'S= [(A'S')' · (B'S)']' = [(A+S)(B+S')]' = OAI22[A,S,B,NOT(S)] Hình 2-12 MUX2:1 dùng OAI22 cell (Sum-ofProduct circuit) Thiết kế MUX2:1 sử dụng tế bào logic AOI? Thiết kế MUX 4:1 dùng AOI cell? Thiết kế MUX 4:1 dùng MUX 2:1? Thiết kế MUX 16:1 dùng MUX 4:1? Thiết kế tri-state buffer dùng TG tránh tượng chia điện tích? XOR XOR(A1,A2)=A1.A2’+A1’A2=MUX(A1,NOT(A1),A2) XOR(A1,A2)=NOT[MUX(NOT(A1),NOT(NOT(A1)),A2)] XOR(A1,A2)=A1.A2’+A1’A2=[A1.A2+A1’.A2’]’=[(A1.A2)+(A1+A2)’]’=[(A1.A2)+NOR(A1,A2)]’ =AOI21[A1,A2,NOR(A1,A2)] XNOR XNOR(A1,A2)=A1.A2+A1’.A2’=NOT[NOT[MUX(A1,NOT(A1),A2)]]=OAI21[A1,A2,NAND(A1,A 2)] Chỉ ưu điểm TG so với pass transistor? Thiết kế XOR2 sử dụng TG cho tổng số transistor 6? 2.5 Tế bào logic (Sequential Logic Cell) So sánh mạch logic tổ hợp (CL) logic (SL) Moore & Mealy FSM 23 Hai pp clocking công nghệ VLSI: Xung đồng hồ đa pha đơn pha - multiphase or single clock Thiết kế đồng - synchronous design Cách có nhiều ưu điểm Cho phép thiết kế tự động An toàn Cho phép thực thi ASIC giống mô - vendor signoff 2.5.1 Bộ chốt liệu – latch or D-latch Hình logic cell - latch hay D-Latch Xung đồng hồ bên (nội) CLKN (N for negative) & CLKP (P for positive), tạo từ xung clock hệ thống CLK, cổng đảo (I4, I5) Hai cổng đảo bên latch Tuy tiết kiệm không gian song nguy hiểm tạo tín hiệu bên Hình 2-13 CMOS latch (a) Latch kích khởi mức dương (dùng TG đệm ngõ ra), xung clock đệm bên (b) Latch dẫn xung clock mức cao (c) Latch lưu giữ trạng thái D xung clock xuống mức thấp Để nhấn mạnh khác latch với FF người ta gọi ngõ vào clock tín hiệu cho phép (enable), nhìn vào hình (b), xung clock mức cao, Latch dẫn thông, nghĩa thay đổi D dẫn đến thay đổi ngõ Q (rất khác so với FF xem xét sau) Còn clock xuống mức thấp, hình (c), cổng đảo I2 I3 kết nối với tạo nên vòng lưu giữ trạng thái cũ D có clock mức cao trở lại Vòng thực công việc lưu giữ chừng cung cấp nguồn, gọi latch tĩnh Logic khác với logic tổ hợp đặc điểm lưu trữ hay nhớ (feature of storage or memory) Ngõ Q không đệm kết nối trực tiếp đến ngõ I2, nút lưu trữ Thư viện ASIC thường có thêm INV ngõ cho Q QN nhằm đảm bảo cách ly cho nút lưu trữ Khi Latch bao gồm INV TG bên (4.5 gates) Latch kích khởi mức âm: thêm cổng đảo cho xung clock bên hoán đổi chức CLKN với CLKP 2.5.2 Flip-Flop Dùng D-latch (master latch & slave latch) xây dựng Flip-flop hình FF gồm inverters & TGs, tức tổng cộng 6.5 gates Nút lưu trữ S đệm 24 Trễ clock-to-Q + trễ inverter = trễ clock-to-QN Hình 2-14 CMOS flip-flop (a) FF kích khởi cạnh âm gồm latch chủ tớ (b) Khi clock mức cao, latch chủ dẫn thông (c) Khi clock mức thấp, latch tớ chuyển tải giá trị latch chủ (d) Dạng sóng mô tả định nghĩa setup time t SU , hold time t H , & clock to Q propagation delay t PD FF Khi clock mức cao: latch chủ dẫn thông, nút M biến đổi theo ngõ vào D Latch tớ bị tách biệt với latch chủ lưu trữ trạng thái M trước Khi clock chuyển xuống mức thấp: latch tớ dẫn thông khiến cho trạng thái ngõ Q cập nhật theo trạng thái nút M Giá trị M cạnh âm xung clock lưu giữ ngõ Q bất chấp thay đổi ngõ vào D clock mức thấp Khi clock lên mức cao trở lại, latch tớ giữ lại giá trị M cũ Tiến trình tiếp tục Kết hợp latch để lấy mẫu ngõ vào D cạnh âm xung clock, tức ta có FF kích khởi cạnh âm Rõ ràng hành vi FF khác với latch Hình (d): giữ cho liệu ổn định (logic ‘1’ hay ‘0’) khoảng thời gian tSU trước cạnh âm xung clock tH sau cạnh âm xung clock Điểm tham chiếu cạnh âm (50%VDD) – trip point D-FF dùng phổ biến thiết kế ASIC Một số loại khác dùng ASIC cell lib JK-FF, T-FF (toggle), & SR-FF nhằm tương thích với thiết kế TTL Đôi khái niệm register để tập FFs latch, song 25 có nghĩa FF hay latch mà Tác giả ngầm định register có FF hay latch Để tạo DFF với chân set, reset, ta INV (cả latch chủ tớ) NAND2 cell Set tác động mức thấp: I2 I7 Reset tác động mức thấp: I3 I6 Chỉ INV không? Vài loại TTL FF có reset set trội (dominant), khó làm điều ASIC Set gọi preset (IEEE ký hiệu ‘P’) Reset gọi clear (‘R’) 2.5.3 Cổng đảo có xung clock - Clocked Inverter Hình vẽ rõ thiết kế clocked inverter dùng inverter TG Mũi tên chiều dòng điện nạp (IR) xả (IF) tụ tải qua TG Dễ thấy ta gỡ bỏ mối nối mà không làm thay đổi chất hoạt động mạch Ký hiệu hình thông dụng song không chuẩn Hình 2-15 Clocked inverter (a) inverter + transmission gate (TG) (b) Dòng nạp xả tụ tải qua TG Việc gỡ bỏ mối nối không làm ảnh hưởng hoạt động mạch (c) gỡ bỏ mối nối tạo thành clocked inverter (d) ký hiệu thông dụng Ta sử dụng clocked inverter thay cho cặp INV-TG latch hay FF Latch: thay I1 & I3 (cùng với TGs theo sau) clocked inverter Trong TH latch khó nhận thấy ưu điểm vượt trội, ngoại trừ việc thiết kế layout dễ dàng có mối nối FF: thay I1, I3 & I7 (cùng với TGs theo sau) clocked inverters Còn việc I6 không Thế TG sau M clocked inverter làm thay đổi Q ngõ thành QN Khi này: Trễ clock-to-QN + trễ inverter = trễ clock-to-Q Theo đó, muốn trễ clock-to-QN ngắn sử dụng clocked inverters, ngược lại, cần trễ clock-to-Q ngắn dùng INV-TG Thực tế, ta không dùng Q QN vài thư viện có Q QN để tiết kiệm tài nguyên Layout cho clocked inverter dễ xây dựng INV-TG, FF thương mại hay sử dụng cách thực thi 2.6 I/O cell (Xem sách) 2.7 Trình dịch cell - Cell Compiler (Xem sách) 26 CHƯƠNG 3: Thiết kế thư viện ASIC Drive strength: 1X, 2X Hệ số scale s Tỷ lệ logic r 3.1 Mô hình trở transistor Hình 3-1 Mô hình trễ logic (a) CMOS INV với tải Cout (b) falling propagation delay, t PDf (input trip point: 0.5, output trip point: 0.35 (falling) and 0.65 (rising)) Mô hình cho t PDf ≈ R pd (C p + C out) (c) Mô hình cho INV bao gồm: tụ ngõ vào, C ; điện trở kéo lên R pu & điện trở kéo xuống R pd); tụ ngõ ký sinh C p Bài toán: Vin thay đổi từ đến VDD, ngõ Vout thay đổi từ VDD đến (falling) Tính thời gian truyền lan tPD với trip point cho? Thật vậy, ban đầu M1 tắt, vin tăng kéo theo M1 dẫn miền bão hòa, sau dẫn miền tuyến tính Ta mô hình M1 Rpd (kéo xuống), M2 Rpu (kéo lên) Trễ Rpd, Rpu, Cp, Cout tạo nên Nếu giả sử Rpd = const vout đạt tới giá trị 0,35VDD : ⎡ ⎤ −tPDf 0,35VDD = VDD exp ⎢ ⎥ ⎢⎣ R pd (Cout + C p ) ⎥⎦ ≈ nên tPDf R pd (Cout + C p ) Chọn 0,35 ln 0,35 3.2 Tụ ký sinh (Xem sách) 3.3 Logical Effort Gọi tq trễ không lý tưởng gây nên, ta có tq bao gồm: o Trễ phụ thuộc tụ ký sinh bên o Trễ phụ thuộc thời gian Vin đạt tới Vth (ngưỡng) cell o Trễ phụ thuộc slewrate ngõ vào 27 Thì tPD R (Cout + C p ) + tq Với C5 (Compass, 3,3V, 0,5um) (Compass Lib sử dụng mô hình PSPICE phức tạp xác G5), với NAND2 cell 1X drive, ta có : tPD (0,07 + 1, 46Cout + 0,15)ns Số hạng thứ ứng với RCp, số hạng thứ hai tức R~1,46K, số hạng ba tq Trễ cho toán rising xấp xỉ cho toán falling vừa đạt Nếu cell có hệ số scale s (W lớn gấp s lần, L = const), R →→ R/s Cp → sCp tq không lý tưởng khó tiên đoán (chỉ giả sử thay đổi tuyến tính) R (Cout + sC p ) + stq s Ví dụ, NAND2 cell 2X drive, s=2 tPD (0,03 + 0,75Cout + 0,51)ns , theo đó, Rp Cp tiên đoán, tq khác hoàn toàn với giả thiết đặt Vậy, tPD cho cell có hệ số scale s tPD R (Cout + sC p ) + stq sử dụng Cin cell có hệ số scale s Cin = sC, ta s C RC out + RC p + stq Cin Viết lại tPD tPD Đơn vị hóa tPD cách chia cho τ = RinvCinv Với Rinv điện trở kéo, Cinv tụ ngõ vào INV 1X (minimum) C RC out + RC p + stq t Cin = f + p+q d = PD = τ τ τ xem đặc tính công nghệ CMOS C5, INV 1X drive tPD = (0,06 + 1,6Cout + 0,1)ns tức Rinv = R pd = R = 1,6 K C5, τ = RinvCinv = (1,6 K ).(0,036 pF ) 0,06ns (Cinv from data book) d = f + p+q = effort delay + parasitic delay + nonideal delay =g*h+p+q = logical effort * electrical effort + parasitic delay + nonideal delay Logical effort g: phụ thuộc loại cell mà không phụ thuộc kích cỡ cell RC const = R→R/s, C→sC g= τ τ Cách tìm g: thay đổi cell cho có drive (độ bền điều khiển) INV 1X, C g = in , với Cin cell vừa thay đổi Cinv 28 Hình 3-2 Logical effort (a) Cin INV 1X (min size) (b) thay đổi cell cho độ bền điều khiển nhu INV 1X (hệ số logic 2), tính Cin (c) tìm g, g=4/3 Logical effort phụ thuộc hệ số logic r Xem bảng Electrical effort h: phụ thuộc Cout (tụ tải) & Cin (tụ ngõ vào) logic cell C h = out Cin RC p Parasitic delay p: p = τ Cell effort (logic ratio = 2) Cell Cell effort (logic ratio = r) Parasitic delay/ τ Nonideal delay/ τ (by definition) (by definition) p inv (by definition) q inv (by definition) inverter n -input NAND ( n + 2)/3 ( n + r )/( r + 1) n p inv n q inv n -input NOR (2 n + 1)/3 ( nr + 1)/( r + 1) n p inv n q inv C5, pinv =1, qinv=1,7, Rinv=1,5K,Cinv=0,036pF Table 3-1 Cell effort, parasitic delay, nonideal delay (in units of τ ) cho cell CMOS đơn tầng Ý nghĩa logical effort? 3.3.1 Ước tính trễ Tính delay cho NOR3 2X drive điều khiển ngõ (fanout of 4) tải 0.3 pF (bao gồm tụ input cell tụ interconnect) Từ bảng trên, ta có p = pinv q = qinv Cin cho NOR3 1X gC inv , cho NOR3 2X cell, C in = gC inv Do C out g ·(0.3 pF) (0.3 pF) gh = g ––––– = ––––––––––– = –––––––––––– (3.27) C in g C inv (2)·(0.036 pF) (Nhận thấy g không ảnh hưởng đến delay, ta xem xét tiếp phần 3.3.3) Delay NOR logic cell tính theo đơn vị 0.3 ∗ 10 τ (tau), –12 29 d = gh + p + q = –––––––––––––––––––– + (3)·(1) + (3)·(1.7) (2)·(0.036 ∗ 10 –12 ) = 4.1666667 + + 5.1 = 12.266667 τ Tương ứng delay tuyệt đối (3.28) t PD = 12.3 ∗ 0.06 ns = 0.74 ns Delay cho 2X drive, NOR3 logic cell thư viện C5 t PD = (0.03 + 0.72 C out + 0.60) ns (3.29) Với C out = 0.3 pF, t PD = 0.03 + (0.72)·(0.3) + 0.60 = 0.846 ns (3.30) Kết luận: So với giá trị ước đoán 0.74 ns Sai lêh chủ yếu sai lệch ước đoán nonideal delay Logical effort cho ta pp khảo sát delay tương đối song không hoàn toàn xác Song quan trọng logical effort cho hiểu logic gây delay 3.3.2 Diện tích logic & hiệu logic Hình OAI cell đơn tầng: có logical effort khác input Logical effort cho OAI221 logical-effort vector g = (7/3, 7/3, 5/3) VD, thành phần vector 7/3 logical effort input A & B tring hình Hình 3-3 OAI221 g = (7/3, 7/3, 5/3) Logical effort cho input A B 7/3, logical effort cho input C D 7/3, cho input E 5/3 Diện tích logic 33 logical square Gọi diện tích transistor kênh n 1X (min) logical squares Tính diện tích transistor logic cell (bỏ qua routing area, drain area, & source area) theo logical square Diện tích logic OAI221 1X drive tính sau: • n -channel transistor sizes: 3/1 + ∗ (3/1) • p -channel transistor sizes: 2/1 + ∗ (4/1) • diện tích logic tổng cộng = + (4 ∗ 4) + (5 ∗ 3) = 33 logical squares AOI221 cell đơn tầng hình sau, với g = (8/3, 8/3, 6/3) Tương tự: • n -channel transistor sizes: 1/1 + ∗ (2/1) 30 • • p -channel transistor sizes: 6/1 + ∗ (6/1) diện tích logic tổng cộng = + (4 ∗ 2) + (5 ∗ 6) = 39 logical squares Figure 3-4 AOI221, với logical-effort vector, g = (8/3, 8/3, 7/3) Diện tích logic 39 logical squares Nhận xét: OAI221 đơn tầng với diện tích logic = 33 logical squares logical effort (7/3, 7/3, 5/3) cho hiệu logic cao AOI221 đơn tầng với 39 logical squares logical effort lớn (8/3, 8/3, 6/3) 3.4 Bài tập Pull resistance Chỉ với VDS nhỏ, n-transistor giống điện trở VGS = VDD R= Với VDS = miền tuyến , tính R cho transistor 0,6 β n (VDD − Vtn ) kn = 200µ AV −2 tính? Tính logical effort vector cho AOI221 cell với logical ratio r thay đổi? (XOR cell & logical effort) Chỉ cách thực XOR2 sử dụng AOI22 & INV Dựa vào logical effort để so sánh cách xây dựng với trường hợp sử dụng AOI21 & NOR ? Bài 3.11 (*AOI & OAI cell efficiency) thư viện cell chuẩn có liệu sau: AOI221: tR = 1.06–1.15ns; tF = 1.09–1.55ns; Cin = 0.21–0.28pF; WC = 28.8 µ m OAI221: tR = 0.77–1.05ns; tF = 0.81–0.96ns; Cin = 0.25–0.39pF; WC = 22.4 µ m ( WC : cell width; cell height 25.6 µ m.) (a) Tính logical effort (b) Tính diện tích logic cho AOI221 OAI221 cells Thực thi OAI221 kiểu đơn tầng: OAI221 = OAI221(a1, a2, b1, b2, c), Thực thi AOI221 kiểu đa tầng: AOI221 = NOT(NAND(NAND(a1, a2), AOI21(b1, b2, c))) (c) Có cách thực thi khác cho cell không? (d) Giải thích thực thi 31 Bải 3.18 (Set & reset, 10 phút.) Chỉ cách thêm synchronous set synchronous reset vào FF hình 2.18(a) sử dụng 2:1MUX.? 32 CHƯƠNG 4: VHDL (12 tiết) LED đoạn Bô đếm Bộ điều khiển đèn giao thông XILINX FPGA KIT 33