phần mở đầu, việc đẩy mạnh sản xuất điện từ nguồn thuỷ năng dồi dào của nước ta là nhu cầu hiện thực. Hy vọng đề tài góp phần Lê Hồng Tiến – Cao học Xử lý thông tin và truyền thông 2003 TỔNG QUAN -6- nhỏ bé vào công cuộc điện khí hoá của nước nhà. 1 – Tua bin thuỷ lực; 2 – Máy điều tốc Hình 1.4 - Một trạm thuỷ điện điều chỉnh lưu lượng Hình 1.5 - Một trạm thuỷ điện điều chỉnh phụ tải Lê Hồng Tiến – Cao học Xử lý thông tin và truyền thông 2003 TỔNG QUAN -7- 1.2 MỤC ĐÍCH CỦA ĐỀ TÀI 1. Nghiên cứu khả năng ứng dụng thành tựu công nghệ điện tử tin học vào thực tế sản xuất, cụ thể là công nghệ ASIC-FPGA, phù hợp với chủ trương chính sách của Nhà nước về phát triển công nghệ thông tin.
Bám sát vào nhu cầu thực tế của sản xuất điện phục vụ các vùng, miền xa xôi hẻo lánh, việc chế tạo bộ điều khiển tải (ELC) sẽ góp phần vào việc cải thiện cuộc sống nông thôn miền núi, theo phương hướng công nghiệp hoá, hiện đại hoá nông thôn miền núi. Việc chế tạo bộ ELC mang lại nhiều lợi ích thiết thực.3 NỘI DUNG CỦA LUẬN VĂN Nội dung của luận văn bao gồm: - Lý thuyết: Khảo sát phương pháp thiết kế hệ thống bằng công nghệ FPGA. - Thực nghiệm: Ứng dụng công nghệ FPGA thiết kế thiết bị điều khiển phụ tải trong trạm thủy điện nhỏ.4 PHƯƠNG PHÁP NGHIÊN CỨU VÀ THỰC HIỆN - Tham khảo các tài liệu của nước ngoài. - Khảo sát các thiết bị của nước ngoài đang hoạt động tại các trạm thủy điện tại Việt Nam.
- Tự nghiên cứu thiết kế chế tạo thiết bị Lê Hồng Tiến – Cao học Xử lý thông tin và truyền thông 2003 QUI TRÌNH THIẾT KẾ ASIC VÀ CÔNG NGHỆ FPGA -8- Chương 2. QUI TRÌNH THIẾT KẾ ASIC VÀ CÔNG NGHỆ FPGA 2.1 GIỚI THIỆU Field Programmable Gate Array (FPGA) đang trở thành phần then chốt của mọi thiết kế hệ thống. Nhiều nhà sản xuất đưa ra nhiều kiến trúc và qui trình khác nhau. Loại nào là phù hợp với thiết kế của người dùng? Cần thiết kế thế nào để vi mạch có thể làm việc đúng đắn và hoạt động như mong muốn trong toàn bộ hệ thống? Phần đầu của chương này đề cập cấu trúc bên trong và đặc tính của các thiết bị này.
PLD (Programmable logic devices) được mô tả khái quát, dẫn đến mô tả chi tiết FPGA. Các kiến trúc khác nhau của loại thiết bị này được khảo sát chi tiết cho phép quyết định lựa chọn loại thiết bị phù hợp với thiết kế. Phần tiếp theo là tiến trình thiết kế dự án FPGA. Phần này mô tả các bước thiết kế cần thiết.
Điều này cho phép người thiết kế hoặc quản trị dự án định rõ tài nguyên và tạo kế hoạch. Phần cuối của chương thảo luận chi tiết về thiết kế, mô phỏng và thử nghiệm khi thiết kế FPGA. Hiểu biết những thử nghiệm này sẽ cho phép thiết kế vi mạch hoạt động chính xác trong hệ thống và tin cậy suốt thời gian tuổi thọ của sản phẩm.2 LINH KIỆN ASIC DẢI CỔNG MẶT NẠ Một vi mạch tích hợp ứng dụng cụ thể, hay ASIC, là một vi mạch có thể được thiết kế bởi một kỹ sư không có kiến thức chuyên sâu về vật lý bán dẫn hoặc xử lý bán dẫn. Nhà sản xuất ASIC đã tạo ra thư viện các ô (cell) và chức Lê Hồng Tiến – Cao học Xử lý thông tin và truyền thông 2003 QUI TRÌNH THIẾT KẾ ASIC VÀ CÔNG NGHỆ FPGA -9- năng (function) mà người thiết kế có thể sử dụng mà không cần biết chính xác làm sao các chức năng đó được thực hiện trên chất bán dẫn.
Nhà sản xuất ASIC cũng hỗ trợ phần mềm tự động các quá trình như tổng hợp và bố trí mạch, thậm chí có thể cung cấp công nghệ ứng dụng để hỗ trợ các kỹ sư thiết kế ASIC thực hiện nhiệm vụ. Dải cổng (gate array) là một ASIC với cấu trúc cụ thể bao gồm các hàng và cột của cấu trúc transitor chuẩn. Mỗi ô cơ bản, hoặc mỗi cổng, bao gồm cùng số nhỏ transistor không liên kết với nhau. Thực tế, không một transistor nào trên dải cổng được nối với nhau lúc đầu.
Lý do cho điều này là, các kết nối sẽ được xác định cuối cùng bởi bản thiết kế của người dùng. Mỗi khi nhận được bản thiết kế, phần mềm sẽ bố trí tính toán transistor nào cần được liên kết. Đầu tiên, các hàm chức năng mức thấp được kết nối với nhau. Ví dụ, 6 transistor có thể được nối với nhau để tạo ra D flip-flop, các transistor này sẽ được định vị một cách vật lý rất gần nhau.
Sau khi các hàm chức năng mức thấp được định tuyến, đến lượt chúng sẽ được liên kết với nhau. Phần mềm sẽ tiếp tục quá trình xử lý này cho đến khi toàn bộ thiết kế được hoàn chỉnh. Cấu trúc hàng và cột được mô tả ở hình 2.1 - Kiến trúc dải cổng mặt nạ Lê Hồng Tiến – Cao học Xử lý thông tin và truyền thông 2003 QUI TRÌNH THIẾT KẾ ASIC VÀ CÔNG NGHỆ FPGA - 10 - Nhà sản xuất ASIC chế tạo nhiều khối chứa các dải cổng chưa liên kết với nhau và nó có thể sử dụng cho bất kỳ yêu cầu nào. Một mạch tích hợp bao gồm nhiều lớp vật liệu trong đó có vật liệu bán dẫn , chất cách điện và chất dẫn điện.
Một khối chưa liên kết được xử lý với tất cả các lớp ngoại trừ lớp kim loại cuối cùng liên kết các cổng với nhau. Mỗi khi thiết kế kết thúc, nhà chế tạo đơn giản cần bổ sung các lớp kim loại cuối cùng lên khối để tạo ra vi mạch, sử dụng mặt nạ (photomasks) cho mỗi lớp kim loại. Vì lý do này, đôi khi nó được nhắc đến như là dải cổng mặt nạ (Masked Gate Array) để phân biệt nó với FPGA.3 SỰ PHÁT TRIỂN CỦA CÁC LINH KIỆN CÓ THỂ LẬP TRÌNH Các linh kiện có thể lập trình đã trải qua một cuộc cách mạng lâu dài để đạt tới sự phức tạp như ngày nay. Phần sau đưa ra sự xem xét theo thời gian của các linh kiện này từ đơn giản đến phức tạp.1 Programmable Read Only Memories (PROM) Bộ nhớ ROM lập trình được (Programmable Read Only Memorie - PROM) đơn giản là bộ nhớ có thể dễ dàng lập trình lại bởi người sử dụng để chứa nội dung nhất định.
Nội dung này có thể là một chương trình của vi xử lý, một thuật toán đơn giản hoặc trạng thái máy. Một vài loại PROM chỉ có thể lập trình một lần. Các loại PROM khác, như EPROM hoặc EEPROM có thể xoá và ghi nhiều lần. PROM rất thuận tiện cho việc thực thi bất kỳ loại tổ hợp logic nào với số giới hạn các đầu vào và đầu ra.
Là phần tử logic tuần tự, các thiết bị có xung đồng hồ ngoài như flip-flop hoặc vi xử lý phải được bổ sung vào. Ngoài ra, PROM có khuynh hướng rất chậm, vì vậy chúng không hữu ích với các ứng dụng cần tốc độ nhanh. Lê Hồng Tiến – Cao học Xử lý thông tin và truyền thông 2003 QUI TRÌNH THIẾT KẾ ASIC VÀ CÔNG NGHỆ FPGA - 11 - 2.2 Programmable Logic Arrays (PLA) Mảng logic lập trình được (Programmable Logic Arrays - PLA) là một giải pháp đối với giới hạn tốc độ và số đầu vào của PROM. PLA bao gồm số lớn các đầu vào được nối với lớp (plane) các cổng AND, nơi các tổ hợp khác nhau của tín hiệu có thể được liên kết AND với nhau tuỳ theo cách các phần tử được lập trình.
Các đầu ra của các lớp AND đi trực tiếp tới lớp cổng OR, nơi các quan hệ được liên kết OR theo các tổ hợp khác nhau và cuối cùng đưa ra kết quả. Tại các đầu ra và đầu vào, có các khối đảo cho logic NOT. Những linh kiện này có thể thực hiện một số lớn hàm tổ hợp, mặc dù không phải tất cả tổ hợp giống như trường hợp linh kiện PROM thực hiện. Tuy nhiên, chúng nói chung có nhiều hơn số đầu vào và nhanh hơn.2 - Kiến trúc PLA 2.3 Programmable Array Logic (PAL) Logic mảng lập trình được (Programmable Array Logic - PAL) là biến thể của PLA.
Giống như PLA, nó có lớp AND rộng, lập trình được đối với logic AND các đầu vào. Tuy nhiên, lớp OR được cố định, giới hạn số đầu ra có thể OR với nhau. Các thiết bị logic cơ bản khác, như multiplexer, exclusive OR, và bộ chốt (latche) được bổ sung thêm vào các đầu vào và ra. Quan trọng nhất, các phần tử đồng hồ (clocked element), flip-flop thông thường, được đóng gói cùng.
Những linh kiện này hiện nay có thể thực hiện số lớn các hàm Lê Hồng Tiến – Cao học Xử lý thông tin và truyền thông 2003 QUI TRÌNH THIẾT KẾ ASIC VÀ CÔNG NGHỆ FPGA - 12 - logic bao gồm hàm logic tuần tự theo nhịp xung (clocked sequential logic) cần thiết cho các máy trạng thái. Điều này là sự phát triển quan trọng cho phép linh kiện PAL có thể thay thế nhiều logic chuẩn trong nhiều thiết kế. PAL cũng có tốc độ rất nhanh.3 - Kiến trúc PAL 2.4 CPLD và FPGA Hình 2.4 - So sánh CPLD và FPGA Một cách lý tưởng, người thiết kế phần cứng mong muốn một cái gì đó mang lại sự linh hoạt và sự phức tạp của ASIC, nhưng với một quá trình ngắn hơn linh kiện có thể lập trình (programmable device). Giải pháp đưa đến hai dạng linh kiện mới - CPLD (Complex Programmable Logic Device) và FPGA (Field Programmable Gate Array).
Như có thể thấy trong hình 2.4, linh kiện Lê Hồng Tiến – Cao học Xử lý thông tin và truyền thông 2003 QUI TRÌNH THIẾT KẾ ASIC VÀ CÔNG NGHỆ FPGA - 13 - CPLD và FPGA khắc phục sự khiếm khuyết giữa linh kiện PAL và Gate Array. Linh kiện CPLD có tốc độ nhanh như linh kiện PAL nhưng có độ phức hợp cao hơn. Linh kiện FPGA đạt đến độ phức hợp của Gate Array, lại có thể lập trình được.5 Complex Programmable Logic Devices (CPLD) Linh kiện CPLD (Complex Programmable Logic Devices) về cơ bản chúng được thiết kế để xuất hiện như là một số lớn linh kiện PAL trên một vi mạch đơn, được liên kết với nhau qua các chuyển mạch giao điểm (crosspoint switch). Chúng sử dụng cùng một công cụ phát triển và lập trình và được dựa trên cùng công nghệ, nhưng chúng có thể xử lý phức hợp hơn.1 Các cấu trúc CPLD Hình 2.5 - Kiến trúc CPLD Sơ đồ trong hình 2.5 thể hiện cấu trúc bên trong của linh kiện CPLD thông thường.