Ngày nay, cùng với việc ứng dụng những kỹ thuật tiên tiến vào sự phát triển của các ngành công nghệ như điện tử, tin học, công nghệ viễn thông …đòi hỏi phải sử dụng nhiều vi mạch tích hợ
GIỚI THIỆU VỀ ĐỀ TÀI
Tổng quan về đề tài
Đề tài Thiết kế máy phát sóng và đếm tần số sử dụng CPLD – ispLSI 1032 hiển thị lên LED 7 đoạn là một nghiên cứu trong lĩnh vực thiết kế chip, tập trung vào triển khai mạch CPLD để phát sóng và đếm tần số, đồng thời hiển thị kết quả trên LED 7 đoạn Đây là công nghệ mới và tiên tiến, đang được ứng dụng rộng rãi trong nhiều lĩnh vực công nghiệp và nghiên cứu, góp phần nâng cao hiệu suất và độ chính xác của các hệ thống truyền thông và đo lường.
Mục tiêu, đối tượng và phạm vi nghiên cứu
1.2.1 Mục tiêu của đề tài
Đề tài nhằm sử dụng phần mềm ispLever Classic 1.2 để thiết kế máy phát sóng và đếm tần số trên chip ispLSI-1032, sau đó hiển thị kết quả lên LED 7 đoạn Quá trình thiết kế tích hợp hệ thống phát sóng với bộ đếm tần số và điều khiển tín hiệu trên chip ispLSI-1032, đảm bảo độ chính xác và ổn định vận hành Kết quả đo được được thể hiện trực tiếp trên LED 7 đoạn, phục vụ cho các bài thí nghiệm và ứng dụng thực tiễn liên quan đến thiết kế vi công nghệ và hệ thống phát sóng.
1.2.2 Đối tượng và phạm vi nghiên cứu Đề tài tập trung nghiên cứu về cấu trúc của CPLD (Complex Programable Logic Devices), tìm hiểu và phân tích các đặc điểm của hệ thống thiết kế phần cứng VLSI (Very-large-scale integration), tìm hiểu phần mềm ispLever Classic 1.2 hỗ trợ cho Chip ispLSI 1032, từ đó ứng dụng vào board mạch cụ thể.
Bố cục của đề tài
Đề tài gồm các phần chính sau:
Chương 1: Giới thiệu đề tài
Giới thiệu tổng quan về đề tài, đối tượng và phạm vi nghiên cứu, bố cục, ý nghĩa của đề tài
Chương 2: Tìm hiểu cấu trúc CPLD
Giới thiệu sơ l ược cấu trúc c ủa CP LD.
Chương 3: Tìm hiểu hệ thống thiết kế phần cứng VLSI
Tìm hiểu và phân tích các đặc điểm của VLSI, tìm hiểu công nghệ CMOS
Chương 4: Tìm hiểu ngôn ngữ thiết kế phần cứng VHDL
Giới thiệu sơ lược về ngôn ngữ VHDL, cấu trúc, tập lệnh của VHDL.
Chương 5: Tìm hiểu phần mềm hỗ trợ cho chip ispLSI 1032
Giới thiệu phần mềm ispLever Classic 1.2, cách sử dụng phần mềm này để thiết kế cho Chip ispLSI 1032
Chương 6: Thiết kế board mạch và mô phỏng
Trong bài viết này trình bày cách tính toán thiết kế mạch ứng dụng IC ispLSI 1032 để tạo sóng vuông và đếm tần số, sau đó hiển thị kết quả lên LED 7 đoạn Quá trình thiết kế tập trung vào xác định tham số tín hiệu nguồn, điều chỉnh tần số ngõ ra và cấu hình logic cho ispLSI 1032 nhằm sinh ra tín hiệu vuông ổn định và thực hiện chức năng đếm tần số Mạch đếm được đồng bộ hóa với hiển thị LED 7 đoạn để thể hiện kết quả một cách trực quan và dễ theo dõi Việc sử dụng phần mềm mô phỏng để tạo xung và đếm tần số cho phép kiểm tra hệ thống ở dải tần tối đa lên tới 10 MHz, từ đó tối ưu hóa hiệu năng và độ tin cậy của mạch.
Chương 7: Hướng ứng dụng và phát triển của đề tài Ứn g dụ n g c ủa đề tài vào các lĩnh vực của c uộc sốn g và h ướn g phát triển của đ ề tài.
Ý nghĩa của đề tài
Với đề tài Thiết kế máy phát sóng và đếm tần sử dụng CPLD – ispLSI 1032, bài viết bước đầu giúp người đọc làm quen với công nghệ thiết kế chip, một công nghệ tiên tiến đang được ứng dụng rộng rãi trong nhiều lĩnh vực tương lai Việc sử dụng CPLD ispLSI 1032 cho phép tích hợp các chức năng phát tín hiệu và đếm tần số trong một mạch logic linh hoạt, tối ưu hoá hiệu suất và chi phí Bài viết trình bày các khái niệm cơ bản về thiết kế máy phát sóng và đếm tần số, cùng với quy trình triển khai trên CPLD từ mô phỏng đến thử nghiệm trên mạch thực tế, giúp người đọc nắm bắt được các bước thiết kế và kiểm tra chức năng Nhờ tính tùy biến và khả năng mở rộng của CPLD, phương pháp này đang được áp dụng rộng rãi trong viễn thông, đo lường và hệ thống điều khiển nhúng, đồng thời mở ra nhiều cơ hội nghiên cứu và ứng dụng công nghệ cao trong tương lai.
CẤU TRÚC CPLD
Sơ lược về PLD
Trong thời đại hiện nay, khoa học kỹ thuật trên toàn cầu tiếp tục phát triển không ngừng, và lĩnh vực điện tử luôn chiếm vị trí hàng đầu Mốc khởi đầu mang ý nghĩa quan trọng là sự ra đời của linh kiện bán dẫn, chính là tiền đề cho đà phát triển của công nghệ điện tử.
Xu hướng phát triển hiện nay cho thấy việc tích hợp càng nhiều linh kiện bán dẫn trong một đơn thể IC ngày càng được chú trọng để đáp ứng đà tiến bộ của khoa học kỹ thuật và các ứng dụng thực tế Việc tối ưu hóa tích hợp IC giúp tăng hiệu suất, giảm kích thước và chi phí sản xuất, đồng thời mở rộng khả năng ứng dụng trong nhiều lĩnh vực công nghiệp, điện tử tiêu dùng và tự động hóa.
Khi xuất xưởng, các IC thường đi kèm với các chức năng riêng biệt, buộc người thiết kế phải chọn linh kiện sao cho thiết kế mạch được tối ưu Tuy nhiên, độ tích hợp của IC có giới hạn, và để tăng tính linh hoạt cũng như tối ưu hóa khả năng ứng dụng của IC, nhà sản xuất đã cho ra một loại linh kiện đặc biệt mà chức năng do người thiết kế quyết định, không phải do nhà sản xuất quy định Linh kiện này gọi là PLD (Programmable Logic Device - Thiết bị logic lập trình được).
Chúng ta khảo sát linh kiện PLD qua các IC điển hình như PAL (Programmable Array Logic), GAL (Generic Array Logic) và CPLD (Complex Programmable Logic Device); Những IC PAL, GAL, CPLD có mức độ tích hợp rất cao nên có thể thay thế hầu hết các loại IC TTL (Transistor-Transistor Logic) Điều đặc biệt và thú vị ở các thiết bị này là chức năng của chúng sẽ được người thiết kế định hình cho các ứng dụng của mình để tối ưu về kinh tế và hiệu quả nhất Để thiết kế các ứng dụng trên PAL, GAL và CPLD đòi hỏi người dùng kết hợp kiến thức về kỹ thuật số với các ngôn ngữ lập trình cho thiết bị.
Cấu trúc linh kiện PLD
PLD (Programmable Logic Device) thuộc họ bộ nhớ hàm (Function Memory) PLD có dung lượng tương đối lớn và có kết cấu đơn giản nhất trong các linh kiện logic Thông thường PLD cho phép người thiết kế tạo ra các chức năng riêng biệt bằng cách lập trình sau khi mua về, vì nhà sản xuất chưa tích hợp sẵn một ứng dụng cụ thể nào cho PLD.
Trong PLD (Programmable Logic Device), cấu trúc mạch bên trong thường là một chuỗi các ô nhớ đồng dạng (identical cell) được sắp xếp thành các mảng hình chữ nhật Hai mảng AND - OR có thể lập trình được nhờ sự kết hợp ngẫu nhiên của các cổng logic và phần tử nhớ, được gọi là OLMC (Output Logic Macro Cell) Nhờ kiến trúc này, PLD cho phép tái cấu hình linh hoạt để thực hiện các hàm logic khác nhau mà không cần thiết kế mạch mới, tối ưu cho các ứng dụng cần mức độ linh hoạt cao về cấu hình.
Hình 2.1 : Cấu trúc một PLD đơn giản
PLD là mạch tích hợp kết hợp SSI và MSI, cho phép các chức năng logic được cấu hình lại và hoạt động linh hoạt theo yêu cầu Nhờ đặc tính lập trình, PLD dễ sử dụng và dễ thiết kế, giúp rút ngắn chu trình phát triển và giảm diện tích mạch so với thiết kế mạch bằng IC rời chứa các cổng logic.
Việc sử dụng PLD giúp thiết kế dễ dàng và nhanh chóng nhờ các phần mềm thiết kế chuyên trách đảm nhận các phần việc logic, làm cho quy trình thiết kế trở nên hợp lý và hiệu quả Đồng thời, PLD cho phép sửa lỗi chương trình, bổ sung hoặc thay đổi cấu hình bên trong để triển khai một chức năng ứng dụng khác mà không cần xây dựng lại từ đầu Công nghệ PLD được sản xuất bằng EECMOS (Electrically Erasable CMOS) cho phép lập trình lại nhiều lần với tốc độ cao, tiêu thụ điện năng thấp, và phương pháp lập trình đơn giản, với chi phí thấp hơn so với mạch rời tương đương.
Giới thiệu về mãng lập trình
Giống như ROM hay PROM, PLD có thể được lập trình cơ bản bằng cách truy cập trực tiếp vào khối cầu chì hoặc diode; tuy nhiên phương pháp này rất ít người thiết kế thực hiện, và thậm chí việc gián tiếp qua một tệp tin thập lục phân (hex) cũng không phổ biến Thay vào đó, người thiết kế thường dùng một số ngôn ngữ lập trình dành cho PLD để định nghĩa những chức năng logic cần thiết cho các ứng dụng.
Một ngôn ngữ lập trình được hỗ trợ bởi một bộ xử lý ngôn ngữ, hay nói đơn giản là bộ biên dịch, có nhiệm vụ chuyển một chương trình nguồn viết bằng ngôn ngữ đó thành một tập tin sơ đồ cầu chì (*.jed) theo chuẩn JEDEC (Joint Electron Device Engineering Council) Tập tin *.jed sau đó được nạp vào linh kiện PLD thông qua một thiết bị nạp đặc biệt Mặc dù hầu hết PLD có thể lập trình thực sự bằng các biểu thức tổng tích, ngôn ngữ lập trình cho PLD cho phép viết biểu thức ở mọi dạng; bộ biên dịch sẽ tính toán và rút gọn chúng để phù hợp với cấu trúc PLD được cho trước nếu có thể.
Các bộ biên dịch tiến bộ cho phép định nghĩa lưu đồ trạng thái (state machine) cho PLD tuần tự, tự động chọn PLD thích hợp, trình bày cách thực hiện gán trạng thái và phát triển các công thức logic.
Phân loại PLD
PLA là linh kiện tổ hợp hai tầng (mảng) AND và OR được lập trình để thực hiện bất cứ một biểu thức logic nào theo dạng tổng của các tích Một PLA ký hiệu là 'n.m' với m ngõ vào, n ngõ ra và p biểu thức nhân; nó có 2n ngõ vào cho mỗi cổng AND và m.p ngõ vào cho mỗi cổng OR.
PAL là loại thiết bị PLD được sử dụng rộng rãi nhất hiện nay nhờ kết cấu nội bộ tương đối đơn giản Nó được lập trình chủ yếu bằng mảng AND và có mảng OR cố định Một PAL điển hình có n đầu vào và m đầu ra, gồm p cổng AND được lập trình với tổng số 2n ngõ vào cho mảng AND, đồng thời có m cổng OR tạo ra các ngõ ra tương ứng với p đầu ra Giá trị của p thay đổi tùy theo cấu trúc của từng loại PAL, nhưng thường nhỏ hơn rất nhiều so với 2n, giúp tối ưu hóa kích thước và hiệu suất.
Một số loại PAL có cấu trúc bên trong tích hợp bộ nhớ đầu ra ở dạng Flip-Flop, và các mảng AND được lập trình để thực hiện chức năng logic của PAL Tính năng này không chỉ cho phép thực hiện các chức năng logic bình thường mà còn tăng khả năng mở rộng đầu vào do các mảng OR trong bộ nhớ đầu ra Các chức năng của loại linh kiện này khi đã được ghi vào PAL thường không thể sửa chữa hay thay đổi Trên thị trường còn có loại PAL có thể sửa đổi chương trình (nạp lại nhiều lần), gọi là PALCExXXX (CE: CMOS Electrically Erasable).
Chức năng của PAL : Thực hiện hầu hết các chứa năng logic tổ hợp và tuần tự như Multiplex, Decoder, Encoder, Counter, Shift Register
Có thể nói GAL bao gồm đầy đủ chức năng của PAL (tương thích 100%), nhưng khác PAL ở chỗ sau khi ghi các chức năng logic nó có thể xóa và sửa lỗi nhiều lần bằng phương pháp xóa bằng điện, do đó thuận tiện cho bảo mật thông tin và giá thành của GAL sẽ cao hơn các loại PAL thông thường Tuy nhiên, GAL có thể thay thế bằng PALCE mà không ảnh hưởng gì đến các chức năng logic Riêng PAL loại V là loại linh hoạt, có thể dùng cho cả hai loại tổ hợp và tuần tự tùy theo người thiết kế khai báo trong chương trình lập trình.
PAL và GAL là những thiết bị logic ở quy mô nhỏ, chứa từ vài nghìn đến khoảng 10.000 cổng logic; trong khi CPLD có thể tích hợp từ 10.000 đến 100.000 cổng logic CPLD được cấu trúc từ một số khối SPLD (Simple Programmable Devices – thuật ngữ chung cho PAL, PLA) SPLD thường là một mảng logic AND/OR được lập trình sẵn với kích thước xác định và có một số lượng hạn chế phần tử nhớ đồng bộ (clocked registers) Chính đặc trưng cấu trúc này giới hạn khả năng thực hiện các hàm phức tạp và hiệu suất của vi mạch phụ thuộc nhiều hơn vào đặc điểm của cấu trúc vi mạch cụ thể chứ không chỉ vào yêu cầu bài toán.
Mặc dù mỗi nhà sản xuất đặt tên cho sản phẩm theo thuật ngữ riêng, ví dụ như Lattice Semiconductor gọi chúng là "in-system programming", các thuật ngữ này chỉ nêu bật rằng các thiết bị được thiết kế và hoạt động theo chuẩn Joint Test Action Group, hay JTAG.
CPLD ispLSI 1032
2.5.1 Giới thiệu ispLSI 1032 là thiết bị logic có thể lập trình được với mật độ cao gồm có: 192 thanh ghi, 64 chân I/O, 8 ngõ vào chuyên dụng, 4 ngõ vào xung clock chuyên dụng và một Global Routing Pool (GRP) GPR cung cấp những đường kết nối hoàn chỉnh với các phần tử khác Một nét đặt trưng của ispLSI 1032 là có thể lập trình được trong hệ thống (in-system programmability - ISP™) với nguồn được cấp là 5V Nó là thiết bị đầu tiên không giới hạn lần nạp cho các mảng logic, cũng như là số lần kết nối để cấu hình hệ thống
Trong ispLSI 1032, đơn vị logic cơ bản là Generic Logic Block (GLB), được dán nhãn là A0, A1… D7 và có tổng cộng 32 GLB trên vi xử lý Mỗi GLB có 18 chân inputs, một chuỗi cổng có thể lập trình cho mảng AND/OR/XOR, và 4 cổng outputs, các cổng này dùng để định dạng hoặc đăng ký tín hiệu Tất cả đầu ra của GLB đều được đưa vào GRP, cho phép chúng kết nối với đầu vào của bất kỳ GLB nào khác trên vi xử lý.
Vi xử lý này có 64 cell I/O, mỗi cell kết nối trực tiếp với một chân I/O Mỗi cell có thể được lập trình độc lập thông qua một tổ hợp ngõ vào (được đăng ký), ngõ vào chốt, ngõ ra hoặc chân I/O lưỡng hướng với 3 trạng thái điều khiển Hơn nữa, toàn bộ ngõ ra được phân cực ở mức cao hoặc ở mức thấp Mức tín hiệu tương thích TTL và có thể lái ngõ ra với nguồn cấp 2 mA hoặc 8 mA.
Megablock được tạo thành từ 6 GLBs, 16 ô I/O, 2 ngõ vào chuyên dụng và một ORP liên kết với nhau (xem hình 1) Ngõ ra của 8 GLBs được kết nối đến 16 ô I/O thông qua ORP Các ô I/O bên trong Megablock dùng chung một tín hiệu Output Enable (OE) Mỗi chip ispLSI 1032EA có 4 Megablocks.
Trong ispLSI 1032, các xung clock được phân bố thông qua Clock Distribution Network để đồng bộ toàn bộ hệ thống Bốn chân clock chuyên dụng Y0, Y1, Y2 và Y3 nhận tín hiệu vào mạng và phân phối chúng rộng khắp nền tảng, tối ưu hóa độ cân bằng và giảm suy yếu tín hiệu Năm clock ngõ ra gồm CLK0, CLK1, CLK2, IOCLK và CLK3 cung cấp các nhánh đồng bộ cho các bộ phận khác, đảm bảo hoạt động nhịp nhàng của toàn hệ thống.
Clock và IOCLK cung cấp tín hiệu clock cho GLBs và các tế bào I/O Mạng phân phối clock (Clock Distribution Network) cũng có thể được kích hoạt từ một xung clock đặc biệt do GLB sinh ra, ví dụ tại chân C0 trên chip ispLSI 1032EA Mạch logic của GLB cho phép người dùng tạo ra một xung clock nội bộ bằng cách kết hợp các tín hiệu bên trong chip.
ispLSI 1032 có nhiều phiên bản được dùng trong thương mại, công nghiệp và quân sự; mỗi phiên bản có tính năng, cấu trúc và ứng dụng riêng, nhằm đáp ứng các yêu cầu thiết kế khác nhau Các loại cơ bản của ispLSI 1032 được tối ưu cho hiệu suất logic cao, độ tin cậy và khả năng mở rộng, phù hợp với các hệ thống nhúng và thiết bị điện tử phổ thông, đồng thời cũng có phiên bản dành cho môi trường công nghiệp khắc nghiệt và các ứng dụng quân sự với đòi hỏi bảo mật, bền bỉ và vận hành ổn định.
Bảng 2.1 phân loại ispLSI 1032 cho thấy ispLSI 1032 hoạt động ở tần số lên tới 90 MHz trong thị trường thương mại, fmax đạt khoảng 60 MHz trong công nghiệp; nó có tốc độ xử lý nhanh và thời gian trễ (tpd) chỉ 12 ns, nhờ đó được ứng dụng rộng rãi trong nhiều lĩnh vực như bộ đếm tốc độ cao, máy trạng thái và giải mã địa chỉ.
2.5.3 Sơ đồ chân ispLSI 1032-90LJ
Hình 2.4 : Sơ đồ chân ispLSI 1032-90LJ
Chức năng của các chân trên chip
Chân vào, ra: là những chân dùng để giao tiếp với mãng logic
IN 4 – IN 7 Đây là những chân ngõ vào chuyên dụng ispEN
Input là chân chuyên dụng cho ngõ vào hệ thống dùng để kích hoạt các chân MODE, SDI, SDO và SCLK Khi chân này ở mức thấp, các chân MODE, SDI, SDO và SCLK sẽ được kích hoạt và hoạt động đúng với chế độ mong muốn của hệ thống.
Input là chân có hai chức năng: ở mức cao của ispEN, nó đóng vai trò ngõ vào chuyên dụng; ở mức thấp của ispEN, chân này thực hiện chức năng tải dữ liệu xuống chip SDI/IN0 cũng được dùng như một trong hai chân điều khiển trạng thái ISP.
Input – Chân này có hai chức năng: khi ispEN ở mức cao, nó hoạt động như một ngõ vào chuyên dụng; khi ispEN ở mức thấp, chân này đảm nhận chức năng điều khiển hoạt động của máy ở trạng thái cụ thể.
Input/ Output - chân này có 2 chức năng
Nó là ngõ vào chuyên dụng khi ispEN là cao
Khi ispEN là mức thấp chân này có chức năng như một chân ngõ ra dùng để đọc chuỗi dữ liệu của thanh ghi dịch
Input – Chân này có hai chức năng chính: khi ispEN ở mức cao, nó hoạt động như ngõ vào chuyên dụng cho hệ thống Khi ispEN ở mức thấp, chân này đóng vai trò như tín hiệu cấp clock cho chuỗi thanh ghi dịch.
Là chân reset khi ở mức thấp (0), nó sẽ reset tấc cả các GLB và thanh ghi I/O trong chip
Chân clock ngõ vào Xung clock này được kết nối đến 1 trong những clock ngõ vào của những GLBs trong chip
Chân clock ngõ vào Xung clock này được mang phân bổ lên toàn bộ hệ thống trong chip
Và có thể tìm đến bất kỳ GLB nào trong chip
Chân clock ngõ vào Xung clock này được mang phân bổ lên toàn bộ hệ thống trong chip
Nó có thể tìm đến bất kỳ GLB và(hoặc) bất kỳ cell I/O nào trong chip
Chân clock ngõ vào Xung clock này được mang phân bổ lên toàn bộ hệ thống trong chip
Nó có thể tìm đến bất kỳ cell I/O nào trong chip Chân này không được kết nối
Là chân nối đất (GND)
Bảng 2.2: Chức năng của các chân linh kiện trên Chip
GIỚI THIỆU HỆ THỐNG VLSI
Giới thiệu hệ thống VLSI
VLSI (Very-large-scale integration) là công nghệ tích hợp các linh kiện bán dẫn như điện trở, tụ điện, transistor … vào trong một con Chip Các thiết kế có độ tích hợp lên đến hàng trăm triệu transistor và sẽ có các thiết kế độ tích hợp lên đến hàng tỷ transistor Qua ba thập kỷ, công nghệ sản xuất chip bán dẫn đã phát triển từ công nghệ 4àm đến 45nm Cụng nghệ CMOS (Complementary Metal Oxide Sillicon) là cụng nghệ trung tâm trong thiết kế VLSI
Hình 3.1: Cấu trúc của CPU
Trên thực tế, nguyên tắc cơ bản về transistor trường MOS đã được J.Lilenfeld đề xuất vào đàu năm 1925 các transistor loại p đơn cực đã được ưa chuộng cho đến khi có sự nổi lên của công nghệ cổng Sillic nMOS vào khoảng năm 1971 Việc sử dụng cả hai linh kiện phân cực trên cùng một chất nền được phát minh bằng ít nhất hai người trong đầu năm 1960 P.K.Weiner của hãng RCA đã mô tả những nét nổi bật các yếu tố của mạch lật CMOS (Flip – Flop) chứng minh khả năng thực hiện trong công nghệ transistor màng mỏng Khái niệm CMOS và ba mạch: cổng đảo, cổng NOR, cổng NAND được công bố vào năm 1967 những mạch ban đầu được phát triển sử dụng các transistor MOS rời rác và đã xác nhận phẩm chất của CMOS là tiêu thụ công suất thấp Với phẩm chất này, CMOS đã được sử dụng cho những ứng dụng có công suất rất thấp như đồng hồ đeo tay Vì công nghệ sản xuất phức tạp nên ban đầu, CMOS được sử dụng rất hạn chế Khi quá trình sản xuất nMOS trở nên phức tạp hơn và việc sản xuất các Chip có kích thước lớn bằng nMOS làm công suất tiêu thụ của Chip tăng lên rất lớn thì CMOS trở thành sự lựa chọn hợp lý, mang lại tính hiệu quả cao Vì vậy, công nghệ CMOS trở thành công nghệ trung tâm trong thiết kế VLSI
Silic là chất bán dẫn cơ bản cho hầu hết các vi mạch Cấu trúc MOS (Metal-Oxide-Semiconductor) được tạo bằng cách chồng lên nhau các lớp vật liệu dẫn điện, cách điện và các thành phần hình thành transistor Các cấu trúc này được chế tạo qua chuỗi xử lý hóa học và khắc axit của nhôm lên silic để tạo liên kết giống như cấu trúc bảng mạch in Quá trình xây dựng này được thực hiện trên một đơn tinh thể silic ở dạng wafer tròn, phẳng, mỏng có đường kính 15 cm Công nghệ CMOS cung cấp hai loại transistor: nMOS và pMOS.
Hình 3.2: Transistor nMOS và pMOS
• Có bốn cực: cổng (gate), nguồn (source), máng (drain), nền (body)
• Cực cổng – lớp oxide – cực nền tương đương với một transistor
– Cực cổng và cực nền là hai mặt dẫn g s d g = 0 s d g = 1 s d g s d s d s d nMOS pMOS
– SiO2 (oxide) là lớp cách điện tốt
– Do đó ta gọi là tụ bán dẫn – oxide – kim loại (metal – oxide – semiconductor (MOS) capacitor)
– Dù hiện nay cực cổng không còn được chế tạo bằng kim loại nữa
Hình 3.3: Cấu trúc của transistor nMOS
Hoạt động của transistor nMOS:
• Cực nền được nối với ground (0 V)
• Khi cực cổng ở mức điện áp thấp:
– Cực nền loại P cũng ở mức điện áp thấp
– Các diode nguồn-nền và máng-nền đều tắt (OFF)
– Không có dòng qua transistor: OFF
• Khi cực cổng ở mức điện áp cao :
– Tụ MOS được nạp điện dương ở cực cổng
– Ở cực nền mang điện tích âm
– Làm cho kênh dẫn ở phía dưới cực cổng thành loại n
– Dòng điện chạy trong bán dẫn loại n từ nguồn đến máng, transistor ON
• Tương tự như MOS, nhưng đảo ngược loại bán dẫn và mức điện áp
– Cực nền nối với điện áp mức cao (VDD)
– Cực cổng ở mức thấp: transistor ON
– Cực cổng ở mức cao: transistor OFF n+ p
– Dấu tròn trong ký hiệu biểu thị tính chất đảo ngược
Hình 3.4: Cấu trúc của transistor pMOS
Điện áp nguồn cung cấp:
• VDD đã giảm xuống trong các qui trình hiện đại
– VDD cao có thể làm hỏng các transistor kích thước nhỏ hiện nay
– VDD thấp giúp tiết kiệm công suất
Hình 3.5: Ký hiệu cổng đảo CMOS
Bảng 3.1: Bảng chân trị cho cổng đảo
• Phân tích bảng chân trị:
– Khi A = 0, pMOS ON và nMOS OFF, ngõ ra Y = 1
– Khi A = 1, pMOS OFF và nMOS ON, ngõ ra Y = 0
Hình 3.6: Ký hiệu cổng NAND CMOS
Bảng 3.2: Bảng chân trị cho cổng NAND
• Phân tích bảng chân trị:
– Khi A=0,B=0: 2 transistor pMOS ON, 2 transistor nMOS OFF, ngõ ra Y=1
– Khi A=0,B=1: có 1 trong 2 transistor pMOS ON, 1 trong 2 transistor nMOS OFF, ngõ ra Y=1
Hình 3.7: Trạng thái các transistor khi A=0,B=1
– Khi A=1,B=0: có 1 trong 2 transistor pMOS ON, 1 trong 2 transistor nMOS OFF, ngõ ra Y=1
Hình 3.8: trạng thái các transistor khi A=1 , B=0
– Khi A=1,B=1: 2 transistor pMOS OFF, 2 transistor nMOS ON, ngõ ra Y=0
Hình 3.9: Trạng thái các transistor khi A=1, B=1
Hình 3.10: Ký hiệu cổng NOR CMOS
Mạng nMOS kéo xuống input output
Bảng 3.3: Bảng chân trị cho cổng NOR
• Phân tích bảng chân trị:
– Ngõ ra Y sẽ kéo lên cao khi cả 2 ngõ vào ở mức logic 0
– Ngõ ra Y sẽ kéo xuống mức thấp o[r các trạng thái còn lại của ngõ vào
Hình 3.11: Mạng kéo lên và kéo xuống CMOS Độ mạnh yếu của tín hiệu
• Độ mạnh của tín hiệu: cho biết tín hiệu đó gần bằng hay cách xa các nguồn áp lý tưởng
• VDD và GND là các tín hiệu 1 và 0 mạnh nhất
• nMOS cho qua tín hiệu 0 mạnh nhưng làm yếu tín hiệu 1
• pMOS cho qua tín hiệu 1 mạnh nhưng làm yếu tín hiệu 0
• Do đó nMOS thích hợp nhất cho mạng kéo xuống (pull-down network)
Lợi điểm của IC và việc tăng mật độ tích hợp
• Độ tin cậy của IC cao hơn các linh kiện rời
• Dễ chế tạo với số lượng lớn
• Giảm kích thước: công nghệ sản xuất chip bán dẫn đã phát triển từ công nghệ 4àm đến 45nm
• Tăng tốc độ (giảm các phần tử ký sinh, kích thước lan truyền)
• Giảm công suất tiêu thụ
• Tăng khả năng xử lý
3.3 Ứng dụng của chip VLSI
• VLSI được ứng dụng trong mọi lĩnh vực của đời sống như: Công nghiệp, quân sự, hàng không, vũ trụ, Y tế, ngân hàng, giáo dục, giải trí
3.4 Công nghệ thiết kế VLSI hiện nay:
• Thiết kế dựa trên thiết bị logic có thể lập trình (programmable logic devices) : – PLA (programmable logic arrays),
– Complex Programmable Logic Devices (CPLD)
– Field Programmable Gate Array (FPGA)
• Thiết kế trên mảng cổng logic (Gate Arrays, Sea of Gates)
• Thiết kế dựa trên các phần tử cơ bản (Standard-Cells Based)
• Các transistor CMOS được chế tạo trên một mẫu silicon
• Quá trình tích hợp giống như quá trình in khắc
• Ở mỗi bước, các vật liệu khác nhau sẽ được chèn vào hoặc cắt bỏ ra
• Để hiểu rõ quy trình này hãy quan sát một quy trình chế tạo đơn giản từ hướng thẳng đứng và từ mặt cắt ngang của mẫu silicon
• Thường dùng loại p làm nền cho các transistors nMOS
• Cần dùng bán dẫn đã làm giàu n để làm phần nền cho transistors pMOS
Hình 3.12: Mặt cắt ngang của cổng NOT
• Nền phải được nối với GND còn n-well nối với VDD
• Kim loại và bán dẫn kích tạp nhẹ tạo nên các tiếp xúc dẫn kém gọi là Shottky Diode
• Sử dụng các tiếp xúc miền giàu và miền nền được kích tạp mạnh
Hình 3.13: Các mẫu nền và “giàu”
• Transistor và dây nối được tạo thông qua các “mặt nạ” (mask)
• Mặt cắt ngang được lấy theo đường chấm chấm n+ p substrate p+ n w ell
SiO 2 n+ diffusion p+ diffusion polysilicon m etal1 nMO S transistor pM O S transistor n + p s u b s t r a t e p + n w e l l
Hình 3.14: Các “mặt nạ” cho cổng đảo
Hình 3.15: Ký hiệu chi tiết các mặt nạ
• Bắt đầu với một miếng bán dẫn thô
• Chế tạo cổng đảo từ phần đáy lên
• Bước đầu tiên là tạo ra một lớp bán dẫn giàu n
– Phủ lên miếng bán dẫn một lớp SiO2 (oxide)
– Bỏ đi lớp oxide ở nơi cần tạo bán dẫn giàu n
– Đưa trực tiếp hoặc khuếch tán chất kích tạp loại n vào lớp bán dẫn lộ ra – Phủ SiO2
Hình 3.16: Tạo ra một lớp bán dẫn giàu n
• Tạo lớp SiO2 trên bề mặt miếng bán dẫn Si
– 900 – 1200 C với H2O hoặc O2 trong lò oxy hoá
Hình 3.17: Quá trình oxy hoá
• Kéo một lớp quang trở
– Quang trở là một polymer nhạy sáng
– Mềm đi khi phơi ra trước ánh sáng
• Mở lớp quang trở ở vị trí của mặt nạ n-well
• Cắt bỏ lớp quang trở ở vị trí này
• Khắc oxide bằng hydrofluoric acid (HF)
– Seeps through skin and eats bone; nasty stuff!!!
• Chỉ khắc lớp oxide khi lớp quang trở đã lộ ra p subs trate p s u b s tra te
• Cắt bỏ lớp quang trở còn lại
– Dùng hỗn hợp acid gọi là phương pháp khắc piranah
• Bước này cần thiết để lớp quang trở không bị chảy trong bước tiếp theo
Hình 3.21: Cắt bỏ lớp quang trở
• n-well tạo bởi sự khuếch tán hay tiêm ion
– Đặt miếng bán dẫn trong lò gas arsen
– Nung đến khi các nguyên tử As khuếch tán vào Si
– Thổi vào bán dẫn các chùm ion As
– Các ion bị chặn bởi SiO2, chỉ đi vào những chỗ Si bị lộ ra
• Cắt bỏ lớp oxide còn lại dùng HF
• Trở lại miếng bán dẫn gốc với một lớp n-well
• Các bước tiếp theo cũng gồm một chuỗi các bước tương tự như các bước trên p s u b s t r a t e
Hình 3.23: Cắt bỏ lớp oxide
• Trám một lớp rất mỏng gate oxide
• Quá trình trám bằng hơi hoá học (Chemical Vapor Deposition - CVD) trên lớp silicon
– Đặt miếng bán dẫn trong lò gas Silane (SiH4)
– Hình thành nhiều tinh thể nhỏ gọi là polysilicon
– Được kích tạp mạnh để tạo vật dẫn tốt
Hình 3.24: Silicon đa tinh thể (Polysilicon)
• Sử dụng quy trình in khắc như trên để tạo các mẫu polysilicon như hình vẽ
• Dùng oxide và phương pháp mặt nạ để lộ ra các vùng chất kích tạp n+ cần được khuếch tán hay tiêm vào
• N-diffusion (vùng khuếch tán N) tạo thành các cực nguồn, máng của transistor nMOS và tiếp xúc n-well p s u b s t r a t e n w e l l
Hình 3.26: Quy trình self-aligned
• Khắc oxide để tạo các vùng n+
• Thực hiện quy trình self-aligned trong đó cổng sẽ ngăn chặn sự khuếch tán
• Polysilicon tốt hơn kim loại trong quá trình self-aligned vì nó không bị chảy trong các xư lý tiếp theo
• Trước đây các chất kích tạp được khuếch tán vào Si
• Ngày nay thường dùng phương pháp tiêm ion
• Tuy nhiên các vùng này vẫn gọi là vùng khuếch tán
• Cắt bỏ lớp oxide để hoàn tất bước tạo hình
Hình 3.29: Cắt bỏ lớp oxide p s u b s t ra t e n w e ll n + D iffu s io n p s u bs trate n w e ll n well p substrate n+ n+ n+ n well p substrate n+ n+ n+
• Các bước tương tự để tạo các vùng khuếch tán p+ cho nguồn và máng của pMOS và tiếp xúc nền
• Bây giờ ta cần nối các linh kiện với nhau
• Phủ lên chip một trường oxide dày
• Khắc oxide tại các chỗ cần tạo tiếp xúc
• Thổi nhôm lên toàn bộ miếng bán dẫn
• Tạo hình như hình vẽ để bỏ phần kim loại thừa, chỉ để lại các đoạn nối cần thiết
• Chip được xác định bởi tập hợp các “mặt nạ” p + D if fu s io n p s u b s t r a t e n w e ll n + n + p + p + n + p + p s u b s trat e
T h ic k fie ld o xid e n w e ll n + n+ p + p + n + p +
Metal Thick field oxide n well n+ n+ p+ p+ n+ p+
• Các kích thước tối thiểu của mặt nạ sẽ xác định kích thước transistor (và do đó xác định tốc độ, giá thành và công suất)
• Kích thước đặc trưng f = khoảng cách giữa nguồn và máng
– Được quy định bơi chiều rộng tối thiểu của polysilicon
• Kích thước đặc trưng này được cải thiện 30% sau mỗi 3 năm
• Normalize for feature size when describing design rules
• Express rules in terms of l = f/2
NGÔN NGỮ THIẾT KẾ PHẦN CỨNG VHDL
Những phần tử ngôn ngữ cơ bản
Lời chú thích được chỉ ra sau hai dấu gạch nối liên tiếp ( ) và được kết thúc ở cuối dòng
Ví dụ : Đây là lời chỉ dẫn
4.1.2 Những điều cần biết về ngôn ngữ VHDL
Cú pháp nhận biết VHDL:
• Một dãy của một hoặc nhiều ký tự viết hoa, ký tự thường, chữ số, đường gạch dưới
• Ký tự thường và ký tự hoa được xử lý như nhau
• Ký tự đầu tiên thường là một chữ cái
• Ký tự cuối cùng không thể là đường gạch dưới
• Không thể có 2 đường gạch dưới cùng một lúc
Có 3 loại đối tượng dữ liệu: biến, hằng, tín hiệu
Đối tượng dữ liệu tín hiệu đại diện cho tín hiệu logic trên đường dây trong mạch Đây là một tín hiệu không có bộ nhớ; do đó khi nguồn tín hiệu bị mất, tín hiệu sẽ không còn có giá trị.
• Đối tượng dữ liệu biến nhớ nội dung của nó và dùng để tính toán trong mô hình hành vi
• Đối tượng dữ liệu hằng cần có 1 giá trị ban đầu khi khai báo và giá trị này không đổi
Trong VHDL, Loại Bit và Bit_vector được xác định trước và dùng để biểu diễn các giá trị nhị phân '0' và '1' Loại Bit là một giá trị nhị phân cơ bản, trong khi Bit_vector là một vector đơn giản gồm nhiều phần tử kiểu Bit Một vector có tất cả các bit cùng giá trị có thể được biểu diễn bằng từ khóa 'others', giúp rút gọn và tối ưu mô tả tín hiệu nhị phân.
Signal y: Bit_vector ( 7 downto 0); x