Nghiên cứu - Ứng dụng CPLD9500 thiết kế modul điều khiển vị trí

BỘ GIÁO DỤC VÀ ðÀO TẠO TRƯỜNG ðẠI HỌC BÁCH KHOA HÀ NỘI ----------------------------- LUẬN VĂN THẠC SĨ KHOA HỌC NGHIấN CỨU- ỨNG DỤNG CPLD9500 THIẾT KẾ MODUL ðIỀU KHIỂN VỊ TRÍ NGÀNH: XỬ Lí THễNG TIN VÀ TRUYỀN THễNG Mà SỐ: VŨ THỊ THU HƯƠNG Người hướng dẫn khoa học: TS. ðẶNG VĂN CHUYẾT HÀ NỘI 2006 Mục lục Trang Lời cam đoan...................................................................................................................... 2 Mục lục...................

pdf112 trang | Chia sẻ: huyen82 | Lượt xem: 1702 | Lượt tải: 1download
Tóm tắt tài liệu Nghiên cứu - Ứng dụng CPLD9500 thiết kế modul điều khiển vị trí, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
............................................................................................................... 3 DANH mục CáC Từ VIếT TắT.......................................................................................... 7 DANH mục các hình vẽ .................................................................................................. 9 DANH Mục CáC BảNG Dữ LIệU .................................................................................... 10 Mở đầu.................................................................................................................................. 11 CH−ơNG 1.............................................................................................................................. 13 Tổng quan về Công nghệ asic ............................................................................... 13 1.1. Sự ra đời của công nghệ AsiC .................................................. 13 1.2. Các h−ớng tiếp cận thiết kế ASIC. ............................................. 14 1.2.1. Các công nghệ lập trình thiết kế ASIC.................................................................... 14 1.2.2. Đầu vào thiết kế ASIC............................................................................................. 15 1.2.3. Thiết kế vật lý. ......................................................................................................... 17 1.2.4. Các công cu CAD.................................................................................................... 18 1.3. Các Công cụ thiết kế và phát triển ASIC................................... 19 1.3.1. Tổng quan về quá trình thiết kế và công cụ thiết kế. ........................................... 19 1.3.2. Giới thiệu các công cụ và sản phẩm của một số h;ng chuyên về ASIC. ................ 22 1.3.2.1. Giới thiệu h;ng Xilinx....................................................................................... 22 1.3.2.2. Giới thiệu h;ng Actel........................................................................................ 23 1.3.2.3. Giới thiệu h;ng Altera...................................................................................... 24 1.4. Tổng hợp Logic. ......................................................................... 25 CH−ơNG 2.............................................................................................................................. 27 Thiết Bị logic lập trình đ−ợc và công nghệ cpld.................................. 27 2.1. Lịch sử phát triển của vi mạch số lập trình............................... 27 2.2. Cấu trúc cơ bản của các họ vi mạch lập trình (pld) ................. 34 2.2.1.Họ vi mạch PROM (Progammable Read Only Memory)......................................... 34 2.2.2. Họ vi mạch FPLA ( Field Progammable Logic Array)........................................... 37 2.2.3. Họ vi mạch FPLS ( Field Programable Logic Sequencer) ..................................... 39 2.2.4. Ho vi mạch FPGA ( Field Progammable Gate Array)............................................ 40 2.2.5. Ho vi mạch PAL (Programmable Array Logic). .................................................... 41 2.2. 6. Họ vi mạch GAL ( Generic Array Logic). .............................................................. 42 2.2. 7. Họ vi mạch PEEL (Progammable Electrially Erasable Logic). ............................ 43 2.2.8. Họ vi mạch EPLD (Erasable PLD). ...................................................................... 43 2.2.9. Họ vi mạch PML ( Programmable Macro Logic)................................................... 45 2.2.10. Họ vi mạch ERASIC(Erasable Programmable Application Specific IC).............. 46 2.2.11. Họ vi mạch LCA (Logic Cell Array). .................................................................... 46 CH−ơNG 3.............................................................................................................................. 48 Ngôn ngữ mô tả phần cứng VHDL......................................................................... 48 3.1. Mở đầu ....................................................................................... 48 3.1.1. Giới thiệu................................................................................................................. 48 2.1.2 Các thuật ngữ của VHDL......................................................................................... 51 3.2. Cấu trúc của một ch−ơng trình VHDL ...................................... 52 3.3. Các đơn vị thiết kế trong VHDL ................................................ 53 3.3.1.Gói (Package) .......................................................................................................... 54 3.3.2. Thực thể (Entity) ..................................................................................................... 55 3.3.3. Kiến trúc (Architecture) .................................................................................... 56 3.3.3.1. Mô tả kiến trúc theo mô hình hoạt động. ......................................................... 57 3.3.3.2.Mô tả kiến trúc theo mô hình cấu trúc. ............................................................. 58 3.3.4. Cấu hình (Configuration) ....................................................................................... 58 3.4. Các kiểu dữ liệu trong VHDL .................................................... 59 3.4.1. Các đối t−ợng dữ liệu .............................................................................................. 60 3.4.1.1. Tín hiệu ............................................................................................................ 60 3.4.1.2. Biến .................................................................................................................. 61 3.4.1.3. Hằng................................................................................................................. 61 3.4.2. Các kiểu dữ liệu ...................................................................................................... 61 3.5. Toán tử và biểu thức .................................................................. 62 3.5.2. Các toán hạng ......................................................................................................... 63 3.6. Các lệnh tuần tự trong VHDL.................................................... 64 3.6.1.Câu lệnh gán biến. ................................................................................................... 64 3.6.2.Câu lệnh gán tín hiệu. .............................................................................................. 65 3.6.3. Câu lệnh if............................................................................................................... 65 3.6.4. Câu lệnh Case ......................................................................................................... 66 3.6.5. Các lệnh vòng lặp ................................................................................................... 67 3.6.6. Câu lệnh Null.......................................................................................................... 68 3.7. Các lệnh song song trong VHDL............................................... 69 3.7.1. Các quá trình Process............................................................................................. 69 3.7.2. Các phép gán tín hiệu song song............................................................................. 70 3.7.3. Phép gán tín hiệu có điều kiện ................................................................................ 72 3.7.4. Phép gán theo lựa chọn........................................................................................... 73 3.7.5. Khối......................................................................................................................... 74 3.7.6. Gọi ch−ơng trình con song song.............................................................................. 76 CH−ơNG 4 ............................................................................................................................... 78 Thiết kế modul thực hành cpld .............................................................................................. 78 sử dụng họ cpld XC9500 của Xilinx ...................................................................................... 78 4.1. tổng quan về họ cpld xc9500. .................................................... 78 4.1.1. Đặc điểm chung của họ CPLD XC9500.................................................................. 78 4.1.2. Mô tả kiến trúc. ....................................................................................................... 78 4.2. Trình tự thiết kế cpld.................................................................. 81 4.3. Những công cụ sử dụng khi thiết kế CPLD. ............................. 83 4.3.1. Phần mềm................................................................................................................ 83 4.3.2. Phần cứng ............................................................................................................... 83 4.4. Thiết kế modul thực hành CPLD .............................................. 85 4.4.1. Nhiệm vụ và yêu cầu của modul ............................................................................. 85 4.4.2. Sơ đồ nguyên lý của modul...................................................................................... 85 4.5. Thiết kế một số ch−ơng trình VHDL chạy thử trên modul ........ 87 4.5.1. Bộ đếm nhị phân thuận nghịch 4 bit. ...................................................................... 87 4.5.2. Bộ đếm nhị phân 5 bit. ............................................................................................ 90 4.5.3. Bộ giải m; 4-16....................................................................................................... 92 4.5.4. Bộ chốt 8 bit. ........................................................................................................... 94 4.5.5. Mạch ngoại vi cho đồng hồ hiển thị số. .................................................................. 96 Kết luận............................................................................................................................ 101 Tài liệu tham khảo.................................................................................................... 103 Phụ lục............................................................................................................................... 104 Sơ đồ chân và chức năng các chân của CPLD XC 95108. ......................................... 104 1 Lời cam đoan Tôi xin cam đoan bản luận văn này là kết quả nghiên cứu của bản thân d−ới sự h−ớng dẫn của TS. Đặng Văn Chuyết. Nếu có gì sai phạm, tôi xin hoàn toàn chịu trách nhiệm. Ng−ời làm cam đoan: Vũ Thị Thu H−ơng 2 Mục lục Trang Lời cam đoan...................................................................................................................... 1 Mục lục ................................................................................................................................. 2 DANH mục CáC Từ VIếT TắT.......................................................................................... 5 DANH mục các hình vẽ .................................................................................................. 7 DANH Mục CáC BảNG Dữ LIệU ...................................................................................... 9 Mở đầu.................................................................................................................................. 10 CH−ơNG 1 ............................................................................................................................. 12 Tổng quan về Công nghệ asic............................................................................... 12 1.1. Sự ra đời của công nghệ AsiC . .................................................12 1.2. Các h−ớng tiếp cận thiết kế ASIC...............................................13 1.2.1. Các công nghệ lập trình thiết kế ASIC.................................................................... 13 1.2.2. Đầu vào thiết kế ASIC............................................................................................. 14 1.2.3. Thiết kế vật lý. ......................................................................................................... 16 1.2.4. Các công cu CAD.................................................................................................... 17 1.3. Các Công cụ thiết kế và phát triển ASIC. ..................................18 1.3.1. Tổng quan về quá trình thiết kế và công cụ thiết kế. ........................................... 18 1.3.2. Giới thiệu các công cụ và sản phẩm của một số hNng chuyên về ASIC. ................ 21 1.3.2.1. Giới thiệu hNng Xilinx....................................................................................... 21 1.3.2.2. Giới thiệu hNng Actel........................................................................................ 22 1.3.2.3. Giới thiệu hNng Altera...................................................................................... 23 1.4. Tổng hợp Logic. ..........................................................................24 CH−ơNG 2 ............................................................................................................................. 27 Thiết Bị logic lập trình đ−ợc và công nghệ cpld.................................. 27 2.1. Lịch sử phát triển của vi mạch số lập trình................................27 3 2.2. Cấu trúc cơ bản của các họ vi mạch lập trình (pld) ..................34 2.2.1.Họ vi mạch PROM (Progammable Read Only Memory)......................................... 35 2.2.2. Họ vi mạch FPLA ( Field Progammable Logic Array)........................................... 37 2.2.3. Họ vi mạch FPLS ( Field Programable Logic Sequencer) ..................................... 40 2.2.4. Ho vi mạch FPGA ( Field Progammable Gate Array)............................................ 41 2.2.5. Ho vi mạch PAL (Programmable Array Logic)..................................................... 42 2.2. 6. Họ vi mạch GAL ( Generic Array Logic). .............................................................. 42 2.2. 7. Họ vi mạch PEEL (Progammable Electrially Erasable Logic). ............................ 44 2.2.8. Họ vi mạch EPLD (Erasable PLD). ...................................................................... 44 2.2.9. Họ vi mạch PML ( Programmable Macro Logic)................................................... 46 2.2.10. Họ vi mạch ERASIC(Erasable Programmable Application Specific IC).............. 47 2.2.11. Họ vi mạch LCA (Logic Cell Array). .................................................................... 47 CH−ơNG 3 ............................................................................................................................. 48 Ngôn ngữ mô tả phần cứng VHDL ........................................................................ 48 3.1. Mở đầu........................................................................................48 3.1.1. Giới thiệu................................................................................................................. 48 2.1.2 Các thuật ngữ của VHDL......................................................................................... 51 3.2. Cấu trúc của một ch−ơng trình VHDL.......................................53 3.3. Các đơn vị thiết kế trong VHDL.................................................54 3.3.1.Gói (Package) .......................................................................................................... 54 3.3.2. Thực thể (Entity) ..................................................................................................... 56 3.3.3. Kiến trúc (Architecture).................................................................................... 57 3.3.3.1. Mô tả kiến trúc theo mô hình hoạt động. ......................................................... 58 3.3.3.2.Mô tả kiến trúc theo mô hình cấu trúc.............................................................. 58 3.3.4. Cấu hình (Configuration) ....................................................................................... 59 3.4. Các kiểu dữ liệu trong VHDL.....................................................60 3.4.1. Các đối t−ợng dữ liệu.............................................................................................. 60 3.4.1.1. Tín hiệu ............................................................................................................ 60 3.4.1.2. Biến .................................................................................................................. 61 3.4.1.3. Hằng................................................................................................................. 62 3.4.2. Các kiểu dữ liệu ...................................................................................................... 62 3.5. Toán tử và biểu thức ...................................................................63 3.5.2. Các toán hạng ......................................................................................................... 64 3.6. Các lệnh tuần tự trong VHDL ....................................................65 3.6.1.Câu lệnh gán biến. ................................................................................................... 65 3.6.2.Câu lệnh gán tín hiệu. .............................................................................................. 66 3.6.3. Câu lệnh if............................................................................................................... 66 3.6.4. Câu lệnh Case......................................................................................................... 67 3.6.5. Các lệnh vòng lặp ................................................................................................... 68 4 3.6.6. Câu lệnh Null.......................................................................................................... 69 3.7. Các lệnh song song trong VHDL................................................70 3.7.1. Các quá trình Process............................................................................................. 70 3.7.2. Các phép gán tín hiệu song song............................................................................. 71 3.7.3. Phép gán tín hiệu có điều kiện ................................................................................ 72 3.7.4. Phép gán theo lựa chọn........................................................................................... 74 3.7.5. Khối......................................................................................................................... 75 3.7.6. Gọi ch−ơng trình con song song.............................................................................. 77 CH−ơNG 4 ............................................................................................................................... 79 Thiết kế modul thực hành cpld .............................................................................................. 79 sử dụng họ cpld XC9500 của Xilinx ...................................................................................... 79 4.1. tổng quan về họ cpld xc9500......................................................79 4.1.1. Đặc điểm chung của họ CPLD XC9500.................................................................. 79 4.1.2. Mô tả kiến trúc. ....................................................................................................... 79 4.2. Trình tự thiết kế cpld ..................................................................82 4.3. Những công cụ sử dụng khi thiết kế CPLD. ..............................84 4.3.1. Phần mềm ............................................................................................................... 84 4.3.2. Phần cứng ............................................................................................................... 84 4.4. Thiết kế modul thực hành CPLD...............................................86 4.4.1. Nhiệm vụ và yêu cầu của modul ............................................................................. 86 4.4.2. Sơ đồ nguyên lý của modul...................................................................................... 86 4.5. Thiết kế một số ch−ơng trình VHDL chạy thử trên modul .........88 4.5.1. Bộ đếm nhị phân thuận nghịch 4 bit. ...................................................................... 88 4.5.2. Bộ đếm nhị phân 5 bit. ............................................................................................ 91 4.5.3. Bộ giải mN 4-16....................................................................................................... 93 4.5.4. Bộ chốt 8 bit. ........................................................................................................... 96 4.5.5. Mạch ngoại vi cho đồng hồ hiển thị số. .................................................................. 97 Kết luận............................................................................................................................ 102 Tài liệu tham khảo.................................................................................................... 104 Phụ lục............................................................................................................................... 105 Sơ đồ chân và chức năng các chân của CPLD XC 95108. ......................................... 105 5 DANH mục CáC Từ VIếT TắT STT Chữ viết tắt Tiếng Anh 1 IC Integrated Circuit 2 ASIC Application Specific Integrated Circuit 3 CPLD Complex Programmable Logic Devices 4 FPGA Field Programmable Gate Array 5 VHSIC Very High Speed IC 6 VHDL VHSIC Hardware Description Languages 7 CICC Custom Integrated Circuit Conference 8 CBICs Cell Based ICs 9 PLD Programmable Logic Devices 10 ASSPs Application Specific Standard Product 11 CAD Computer Aided Design 12 CDL Computer Design Language 13 CONLAN Consensus Language 14 IDL Interactive Design Language 15 ISPS Intruction Set Proccessor Specification 16 TEGÂS Test generation and Simulation 17 IDE Integrated Design Environment 18 PAL Programmable Array Logic 19 HAL Hard Array Logic 20 FPLS Field Programmable Logic Sequencer 21 AMAZE Automated Map and Zap Equations 6 22 ABEL Advanced Boolean Expression Language 23 IFL Intergrated Fuse Logic 24 CUPL Universal Compiler for Programmable 25 LCA Logic Call Array 26 PROM Progammable Read Only Memory 27 GAL Generic Array Logic 28 FPLA Field Progammable Logic Array 29 PEEL Progammable Electrially Erasable Logic 30 EPLD Erasable PLD 31 PML Programmable Macro Logic 32 FPLS Field Programable Logic Sequencer 33 ERASIC Erasable Programmable Application Specific IC 34 LCA Logic Cell Array 35 JTAG Join Test Action Group 7 DANH mục các hình vẽ STT Tên hình 1 Hình 1.1: Một phần của thiết kế ASIC 2 Hình 2.1: PROM đơn giản 3 Hình 2.2: Minh hoạ sơ đồ logic của PROM 4 Hình 2.3 : Sơ đồ biểu thức ngõ ra của FPLA 5 Hình 2.4: Sơ đồ logic của FPLA PLS 153 6 Hình 2.5: Sơ đồ logic FPLS PLS157 7 Hình 2.6 : Sơ đồ logic của PAL 8 Hình 2.7: Sơ đồ logic của L16V8 9 Hình 2.8: Cấu trúc vi mạch PEEL18CV8 10 Hình 2.9: Cấu trúc LCA 11 Hình 3.1: Quan hệ giữa các đơn vị thiết kế 12 Hình 3.1: Cấu trúc của ch−ơng trình VHDL 13 Hình 4.1: Kiến trúc bên trong của họ CPLD XC9500 14 Hình 4.2: Khối vào ra IOB của XC9500 15 Hình 4.3: Ma trận chuyển mạch Fast Conector 16 Hình 4.4: Khối chức năng FB 17 Hình 4.5: Cấu trúc một Macrocell 18 Hình 4.6: Tiến trình thiết kế với CPLD 19 Hình 4.7: Sơ đồ kết nối giữa CPLD với máy tính 20 Hình 4.8: Sơ đồ mạch JTAG. 8 21 Hình 4.9: Sơ đồ nguyên lý của modul 9 DANH Mục CáC BảNG Dữ LIệU STT Tên bảng 1 Bảng 1.1: Tóm tắt công nghệ lập trình cho ASIC 2 Bảng 4.2: Bảng trạng thái của bộ đếm nhị phân thuận nghịch 4 bit. 3 Bảng 4.2: Bảng trạng thái của bộ đếm nhị phân thuận nghịch 4 bit 4 Bảng 4.3: Bảng trạng thái bộ đếm nhị phân 5 bit. 5 Bảng 4.3: Bảng trạng thái bộ giải mN 4-16. 6 Bảng 4.4: Bảng trạng thái của bộ chốt 8 bit 7 Bảng 4.5 Bảng trạng thái của decoder 10 Mở đầu Có thể nói công nghệ điện tử đN và đang thay đổi hàng ngày hàng giờ trong những năm gần đây. Để đáp ứng các nhu cầu của xN hội nhiều loại IC với khả năng tích hợp tới hàng chục triệu linh kiện bán dẫn trên một vi mạch đN ra đời. Một trong những công nghệ mới đó, có thể thay thế cho các hệ thống số tr−ớc đây đòi hỏi rất nhiều thời gian và chi phí cho nghiên cứu và chế tạo, đó là công nghệ ASIC (Application Specific Integrated Circuit). Dẫn đầu trong lĩnh vực này là sản phẩm CPLD (Complex Programmable Logic Devices) và FPGA (Field Programmable Gate Array). Sử dụng CPLD hoặc FPGA thì có thể tối thiểu hóa đ−ợc nhiều công đoạn thiết kế, lắp ráp vì hầu hết đ−ợc thực hiện trên máy tính. Các ngôn ngữ mô phỏng phần cứng (HDL: Hardware Description Languages) nh− ABEL, VHDL, Verilog, Schematic...cho phép thiết kế và mô phỏng hoạt động của mạch bằng ch−ơng trình. Các ch−ơng trình mô phỏng cho phép xác định lỗi thiết kế một cách dễ dàng và kết quả thực hiện của ch−ơng trình là một file *.BIT, file *.JED hay file *.BSDL để tải xuống (download) CPLD thông qua giao diện chuẩn JTAG để nó hoạt động giống nh− một mạch logic. Với sự h−ớng dẫn của Tiến sỹ Đặng Văn Chuyết, trong khuôn khổ luận văn này, tôi mạnh dạn tìm hiểu và nghiên cứu về công nghệ CPLD và ứng dụng CPLD thiết kế mạch điều khiển vị trí để phục vụ công tác giảng dạy tại tr−ờng Đại học Công nghiệp Hà nội Nội dung của luận văn bao gồm 4 ch−ơng, trong đó: 11 Ch−ơng 1: Tổng quan về công nghệ ASIC. Ch−ơng 2: Xilinx và sản phẩm CPLD Ch−ơng 3: Công cụ thiết kế và phát triển ASIC. Ch−ơng 4: ứng dụng CPL9500 thiết kế modul điều khiển vị trí. Do thời gian và khả năng có hạn nên luận văn này sẽ còn nhiều thiếu sót. Rất mong đ−ợc sự góp ý và thông cảm của các thầy giáo, cô giáo. Hà nội, ngày 5 tháng 9 năm 2006 Học viên: Vũ Thị Thu H-ơng 12 Ch−ơng 1 Tổng quan về Công nghệ asic 1.1. Sự ra đời của công nghệ AsiC . Nhằm cải thiện tính linh hoạt của các IC và nâng cao chất l−ợng ngành công nghiệp sản xuất IC, IEEE đN tổ chức các hội thảo về các IC “theo đơn đặt hàng” CICC (Custom Integrated Circuit Conference). Theo đó, có nhiều kiểu IC dạng “theo đơn đặt hàng” khác nhau đ−ợc đ−a ra nhằm giải quyết cho nhiều mục đích ứng dụng cụ thể chuyên biệt. Từ đây, xuất hiện một thuật ngữ mới và chính thức đ−ợc sử dụng đó là: Application - Specific IC, hay viết tắt là ASIC. Hiện nay, IEEE th−ờng xuyên tổ chức định kỳ các hội thảo cấp quốc tế về ASIC, nhằm điều chỉnh và nâng cao các −u điểm cũng nh− tính thuận tiện và đ−a ra các công nghệ tiên tiến của các hNng sản xuất ASIC khác nhau và phân loại chúng thành nhiều chủng loại IC theo đơn đặt hàng. Mặc dù để định nghĩa đ−ợc chính xác ASIC là rất khó, song chúng ta coi nh− đó là một thuật ngữ đN đ−ợc công nhận chính thức trong ngành công nghiệp IC. Định nghĩa tiếng Anh của thuật ngữ ASIC theo IEEE 12/1999 nh− sau: “ASIC stands for Application Specific Integrated Circuits. An ASIC is custom tailored IC that perfoms a specific task for specific application”- tạm dịch là “ASIC là viết tắt của từ Application Specific Integrated Circuits, nghĩa là các mạch tích hợp ứng dụng chuyên biệt” - hoặc ngắn gọn hơn là “IC chuyên dụng”. Tuy nhiên, nhiều nhà “ASIC học” vẫn quen gọi là các “IC dùng cho mục đích của khách hàng” hoặc là các “IC đ−ợc thiết kế đặc biệt theo yêu cầu của khách hàng”. 13 Các IC thuộc dòng ASIC bao gồm: các chip dùng trong công nghiệp giải trí; các chip dùng trong công nghiệp vệ tinh, vũ trụ, các chip đ−ợc thiết kế dùng để giao tiếp giữa bộ vi xử lý đối với các CPU của các máy trạm làm việc và các chip chứa bộ vi xử lý bên trong cùng với các phần tử logic khác. Theo quy tắc chung, một IC có thể không phải là ASIC, nh−ng đôi khi có những tr−ờng hợp ngoại lệ. Ví dụ, một IC là chip điều khiển đối với PC và một IC là chip điều khiển MODEM. Cả hai đều là các IC ứng dụng chuyên biệt (giống nh− ASIC) nh−ng cả hai đều có một số điểm khác khi sử dụng vào những hệ thống khác. Do vậy, ng−ời ta chia họ ASIC thành ba thành viên chính: Cell Based ICs (CBICs), Gate Array và Programmable Logic Devices (PLDs). Lúc đó xuất hiện thêm một thuật ngữ t−ơng đ−ơng ASIC là ASSPs (Application Specific Standard Product -các sản phẩm tiêu chuẩn ứng dụng chuyên biệt). Do vậy, khi quyết định chọn IC nào trong số họ ASIC rộng lớn thì rất khó, chủ yếu dựa vào công nghệ chế tạo và khả năng ứng dụng cũng nh− mục đích sử dụng. 1.2. Các h−ớng tiếp cận thiết kế ASIC. 1.2.1. Các công nghệ lập trình thiết kế ASIC Tóm tắt công nghệ lập trình cho ASIC đ−ợc trình bày trong bảng 1.1 sau: Bảng 1.1: Tóm tắt công nghệ lập trình cho ASIC Công nghệ lập trình Tính bay hơi Có thể lập trình Diện tích của ASIC Điện trở (ohm) Điện tích (pF) 14 Các phần tử RAM tĩnh Có Trong mạch Lớn 1-2K 10 - 20 Lập trình cầu chì nghịch PLICE (PLICE - anti fuse) Không Không Anti- fuse nhỏ Số transistor lớn 300-500K 3-5 Lập trình cầu chì nghịch ViaLink (ViaLink anti - fuse) Không Không Anti - fuse nhỏ Số transistor lớn 50-80K 1-3 EPROM Không Ngoài mạch Nhỏ 2-4K 10-20 EEPROM Khô._.ng Trong mạch 2xEPROM 2-4K 1-20 1.2.2. Đầu vào thiết kế ASIC Đầu vào thiết kế ASIC mô tả một hệ thống vi điện tử dựa trên các công cụ của hệ tự động thiết kế điện tử EDA. Các hệ thống điện tử đ−ợc xây dựng dựa trên các thành phần tĩnh, nh− là các IC TTL. Đầu vào thiết kế đối với các hệ thống này chính là công việc vẽ các mạch và tổng hợp dạng giản đồ. Giản đồ thể hiện các thành phần đ−ợc kết nối với nhau nh− thế nào, đó chính là liên kết của 15 một ASIC. Phần này của quá trình đầu vào thiết kế đ−ợc gọi là đầu vào giản đồ. Một giản đồ mạch mô tả một ASIC giống nh− là một bản thiết kế cho một công trình xây dựng. Giản đồ mạch là một bản vẽ, là một khuôn dạng đơn giản để chúng ta có thể hiểu và sử dụng, nh−ng các máy tính cần làm việc với các phiên bản ASCII hoặc các tệp nhị phân và chúng ta gọi là các tệp tin netlist (viết tắt là netlist). Đầu ra của công cụ thiết kế giản đồ chính là một netlist có chứa mô tả của tất cả các thành phần trong một bản thiết kế và các đ−ờng kết nối của chúng. Đầu vào thiết kế là một trong những phần quan trọng nhất của công nghệ ASIC. Đầu vào thiết kế bao gồm các thành phần thiết kế sau: Th− viện thiết kế ASIC. Th− viện thiết kế các vi mạch ASIC lập trình đ−ợc (programmable ASIC). Th− viện phần tử logic ASIC lập trình đ−ợc. Th− viện phần tử vào/ ra ASIC lập trình đ−ợc. Th− viện phần tử kết nối ASIC lập trình đ−ợc. Phần mềm thiết kế ASIC lập trình đ−ợc: - Đầu vào thiết kế logic mức thấp (Low - level design entry) sử dụng VHDL: Bộ quốc phòng Mỹ (The US Department of Defence-DoD) đN hỗ trợ việc phát triển ngôn ngữ VHDL (VHSIC Hardware Description Laguage) nh− một phần của ch−ơng trình quốc gia VHSIC (Very High Speed IC) vào đầu thập kỷ 80. 16 - Tổng hợp logic (Logic Synthesis): tổng hợp logic cung cấp giữa một tệp HDL (VHDL hoặc Verilog) và một netlist t−ơng tự nh− cách mà một bộ biên dịch C cung cấp liên kết giữa mN lệnh ch−ơng trình C và ngôn ngữ máy. - Mô phỏng (Simulation): các kỹ s− đN quen với các hệ thống mẫu dùng để kiểm tra sản phẩm thiết kế của họ, đó là việc sử dụng một đế thử mạch mẫu, cho phép cắm các IC và các dây dẫn lên. Đế thử mạch mẫu chỉ có thể thực hiện đ−ợc khi xây dựng hệ thống từ một vài IC TTL. Tuy nhiên, điều này là phi thực tế đối với thiết kế ASIC. Do vậy, hầu hết các kỹ s− thiết kế ASIC đề sử dụng ph−ơng pháp mô phỏng t−ơng đ−ơng thay cho mô hình đế thử mạch. -Thử nghiệm mức logic (test): các ASIC đ−ợc thử nghiệm theo hai giai đoạn trong quá trình sản xuất bằng cách sử dụng các ph−ơng pháp thử nghiệm sản xuất. 1.2.3. Thiết kế vật lý. Để dụng việc phân chia hệ thống để chia một hệ thống vi điện tử thành các ASIC. Khi lên sơ đồ mặt bằng, chúng ta sẽ đánh giá kích th−ớc và đặt các vị trí liên quan của các khối trong ASIC (đôi khi còn đ−ợc gọi là sắp xếp chip - chip planning). Cùng thời điểm này chúng ta định vị khoảng trống cho đ−ờng xung nhịp, nguồn và quyết định vị trí của cổng I/O. Việc Design Entry Synthesis System partitioning Floor planning Placement Routing Hình 1.1: Một phần của thiết kế ASIC 17 sắp đặt (Placement) định nghĩa vị trí của các phần tử logic cùng với sự linh hoạt của các khối và khoảng trống dành cho việc nối các phần tử logic. Việc sắp đặt đối với thiết kế ma trận cổng (Gate - array) hoặc phần tử tiêu chuẩn (Standard - cell) bố trí mỗi một phần tử logic vào vị trí trong cùng một hàng. Việc lên sơ đồ mặt bằng (floor planning) và sắp đặt phần tử đôi khi có thể sử dụng công cụ CAD (Computer Aided Design). Việc định tuyến (Routing) thực hiện đ−ờng kết nối giữa các phần tử logic. Việc định tuyến là một vấn đề rất khó và th−ờng đ−ợc phân chia thành các b−ớc riêng biệt gọi là định tuyến toàn cục và định tuyến cục bộ. Định tuyến toàn cục xác định các kết nối giữa các phần tử logic đN đặt chỗ và các khỗi sẽ đặt chỗ ở đâu. Còn định tuyến cục bộ là mức định tuyến cụ thể và chi tiết đến từng phần tử. 1.2.4. Các công cu CAD. Nhiệm vụ trong các b−ớc thiết kế vật lý ASIC của các công cụ CAD là: Phân chia hệ thống (System Partitioning): - Mục đích: phân chia một hệ thống thành một số các ASIC. - Định h−ớng: tối thiều hoá số l−ợng các kết nối ngoài giữa các ASIC. Giữ cho mỗi ASIC nhỏ hơn kích th−ớc cực đại. Lên sơ đồ mặt bằng (floor planning): - Mục đích: tính toán kích th−ớc của tất cả các khối và sắp đặt vị trí của chúng. 18 - Định h−ớng: bảo đảm sự liên kết cao giữa các khối về mặt tự nhiên càng gần càng tốt. Sắp đặt các phần tử (Placement): - Mục đích: sắp đặt việc kết nối giữa các vùng và vị trí của tất cả các phần tử logic cùng với các khối linh hoạt. - Định h−ớng: tối thiểu hóa các vùng ASIC và mật độ kết nối. Định tuyến toàn cục (global routing): - Mục đích: quyết định vị trí của tất cả các kết nối. - Định h−ớng: tối thiểu hoá toàn bộ vùng kết nối đ−ợc sử dụng. Định tuyến chi tiết (detail routing): - Mục đích: hoàn thành định tuyến tất cả các kết nối trên chip. - Định h−ớng: tối thiểu hoá tổng số độ dài kết nối đ−ợc sử dụng. 1.3. Các Công cụ thiết kế và phát triển ASIC. 1.3.1. Tổng quan về quá trình thiết kế và công cụ thiết kế. Khi kích th−ớc và độ phức tạp của các hệ thống số gia tăng, nhiều công cụ thiết kế đ−ợc trợ giúp bởi máy tính CAD (Computer Aided Design) đ−ợc đ−a vào quá trình thiết kế phần cứng. Ph−ơng pháp thiết kế trên giấy đN đ−ợc thay bằng cách thiết kế trên máy vi tính, từ đó các nhà thiết kế có thể kiểm tra thông qua các công cụ tạo ra phần cứng tự động từ các bản thiết kế đó. Hỗ trợ mạnh mẽ 19 nhất cho các công cụ thiết kế này là ngôn ngữ mô tả phần cứng HDL. Hiện nay, các nhà nghiên cứu đN tìm ra nhiều cách cho phép HDL có thể cải tiến quá trình thiết kế hệ thống số. Qúa trình thiết kế bắt đầu từ ý t−ởng thiết kế của ng−ời thiết kế phần cứng. Lúc này, ng−ời thiết kế cần phải tạo ra các định nghĩa cho hành vi của hệ thống theo ý đồ thiết kế. Sản phẩm này có thể là ở dạng sơ đồ khối, l−u đồ hoặc chỉ là dạng ngôn ngữ tự nhiên. Giai đoạn này ý t−ởng thiết kế mới chỉ có đầu vào và đầu ra, chứ hoàn toàn ch−a có một chi tiết nào về phần cứng cũng nh− kiến trúc của hệ thống. Giai đoạn thứ hai của quá trình thiết kế là việc thiết kế đ−ờng dẫn dữ liệu hệ thống. Trong giai đoạn này, ng−ời thiết kế chỉ rõ các thanh ghi và phần tử logic cần thiết cho quá trình cài đặt. Đây là giai đoạn thiết kế th− viện các phần tử cho hệ thống. Các thành phần này có thể đ−ợc kết nối thông qua bus 2 chiều hoặc một chiều. Dựa trên chức năng hoặc hành vi của hệ thống, tiến trình điều khiển hoạt động của dữ liệu giữa các thanh ghi và các phần tử logic thông qua các bus đ−ợc phát triển. Giai đoạn này không cung cấp các đặc điểm về sự hoạt động của các bộ điều khiển, cách đi dây, kỹ thuật mN hoá... Giai đoạn thứ ba là giai đoạn thiết kế logic, giai đoạn này liên quan đến ứng dụng của các cổng và các mạch cơ bản cho việc cài đặt các thanh ghi dữ liệu, các bus hệ thống, các phần tử logic và phần cứng điều khiển chúng. Kết quả của giai đoạn này chính là một tệp danh sách kết nối (netlist). Giai đoạn thiết kế tiếp theo là chuyển netlist của gian đoạn tr−ớc thành sơ đồ hay là danh sách các transistor. Giai đoạn này xét đến cả chế độ tải và thời gian 20 trong quá trình thực hiện hành vi của hệ thống cũng nh− việc chọn transistor hoặc các phần tử của nó. Giai đoạn này bao gồm: tổng hợp logic, ánh xạ công nghệ, floorplanning, placement, routing. Giai đoạn này sử dụng công cụ CAD là chủ yếu. B−ớc cuối cùng của quá trình thiết kế là việc chế tạo. Nó sử dụng danh sách các transistor hoặc các đặc tả kỹ thuật để ghi thông tin lên bộ nhớ của thiết bị có thể lập trình đ−ợc hoặc tạo ra mặt nạ cho việc sản xuất các mạch tích hợp. Nhiều nhà sản xuất đN nghiên cứu, phát triển các công cụ thiết kế và phát triển ASIC cho các họ sản phẩm FPGA, CPLD, các vi mạch Hard-wire, Serial PROM... - Vi mạch FPGA có cấu trúc giống nh− một dNy hoặc một ma trận các phần tử logic. Những kết nối kim loại giữa các khối logic có thể đ−ợc kết nối một cách tuỳ ý bằng cách chuyển mạch có thể lập trình đ−ợc để tạo thành một mạch theo yêu cầu. FPGA có khả năng chứa một số l−ợng lớn các cổng logic, các thanh ghi và các mạch I/O tốc độ cao. - Vi mạch CPLD chứa nhiều khối chức năng và khối I/O và có thể liên kết với nhau thông qua ma trận chuyển mạch. CPLD là hệ thống tích hợp nhỏ khoảng từ 8000 đến 10000 cổng nh−ng tốc độ cao, thiết kế đơn giản. Trong quá trình thiết kế, các ngôn ngữ mô tả phần cứng chính là các công cụ thiết kế nhằm mục đích mô phỏng, tạo mẫu, kiểm tra, thiết kế và làm tài liệu cho một hệ thống số nh−: ngôn ngữ mô tả hành vi, ngôn ngữ mô tả dòng dữ liệu, sơ đồ liên kết kết nối. Một số loại công cụ HDL nh− sau: AHPL: công cụ mô tả dữ liệu 21 CDL (Computer Design Language): ngôn ngữ mô tả dòng dữ liệu phát triển trong quá trình đào tạo. CONLAN (Consensus Language): ngôn ngữ mô tả phân cấp phần cứng IDL (Interactive Design Language): ngôn ngữ tạo tự động cấu trúc PLA của hNng IBM. ISPS (Intruction Set Proccessor Specification): ngôn ngữ mô tả hành vi mức cao. TEGAS (Test generation and Simulation): hệ thống tạo tín hiệu kiểm tra và mô phỏng các mạch số, đây là ngôn ngữ cấu trúc. Verilog : ngôn ngữ hỗ trợ phân cấp thiết kế. VHDL: ngôn ngữ mô tả phần cứng từ hệ thống đến tận mức cổng hoặc chuyển mạch. 1.3.2. Giới thiệu các công cụ và sản phẩm của một số hãng chuyên về ASIC. Hiện nay, tại các n−ớc có nền công nghiệp điện tử và vi điện tử phát triển cao, việc nghiên cứu và ứng dụng ASIC vào thực tế đN đ−ợc áp dụng vào đầu thập kỷ 90. Một số hNng chính trên thế giới về công nghệ ASIC nh−: IBM, NEC, Xilinx, Actel, Altera. . . 1.3.2.1. Giới thiệu h@ng Xilinx 22 Xilinx là nhà cung cấp lớn nhất thế giới về Logic lập trình đ−ợc và dẫn đầu thị tr−ờng về CPLD và FPGA. Năm 2003 Xilinx đ−ợc đánh giá là công ty xếp thứ 4 thế giới, trong đó Xilinx dẫn đầu về thị tr−ờng công nghệ cao. Công ty đ−ợc thành lập năm 1984 dựa trên ý t−ởng lớn về sự kết hợp giữa mật độ logic và tính chất đa dạng của các dNy cổng logic. Cùng với những thuận lợi về thời gian thâm nhập thị tr−ờng và thuận tiện cho sử dụng các chi tiết linh kiện tiêu chuẩn có thể lập trình đ−ợc. Sau một năm Xilinx đN giới thiệu sản phẩm FPGA đầu tiên trên thế giới từ đó thông qua sự kết hợp các cấu trúc và cải tiến quá trình sản xuất công ty đN không ngừng tăng hiệu suất thiết bị, dung l−ợng, tốc độ, dễ dàng sử dụng trong khi giá thành hạ. Năm 1992 Xilinx đN mở rộng dòng sản phẩm bao gồm CPLD. Đối với ng−ời sử dụng CPLD là một bổ sung hấp dẫn cho FPGA, phần mềm thiết kế đơn giản hơn và đồng bộ hóa chuẩn xác hơn. Dẫn đầu thị tr−ờng của một trong những giai đoạn phát triển nhanh nhất của công nghiệp bán dẫn. Chiến l−ợc của Xilinx là tập trung toàn bộ nguồn lực cho việc tạo ra những IC mới và phát triển phần mềm phát triển hệ thống (Development System Software), cung cấp đa dạng kỹ thuật và mở rộng thị tr−ờng. Đến nay công ty đN có đại diện và phân phối hơn 30 n−ớc trên thế giới. 1.3.2.2. Giới thiệu h@ng Actel Phần mềm Libero v5.0 IDE (Integrated Design Environment) của Actel giới thiệu là phiên bản mới nhất và tốt nhất trong số các công cụ hỗ trợ cho EDA của các hNng Mentor Graphics, Synplicity, SynaptiCAD và các công cụ đ−ợc phát triển của riêng Actel nhằm mục đích hỗ trợ thiết kế cho các sản phẩm ASIC dòng FPGA 23 hoàn thiện. Phần mềm này bao gồm một bộ các gói phần mềm, trong đó có gói phần mềm Designer v5.0. Designer v 5.0 là gói phần mềm hỗ trợ cho việc chế tạo và hoạt động vật lý cho ng−ời thiết kế, bao gồm cả khả năng floorplanning với tính năng ChipPlanner (sắp đặt trên chip) đặc biệt. Libero IDE hỗ trợ cho tất cả các sản phẩm ASIC có mặt trên thị tr−òng hiện nay của Actel, và có ba phiên bản chính: Libero Silver, Libero gold, Libero Platinum và một phiên bản dùng thử Libero Platinum Evaluation. Tuỳ theo nhu cầu, kinh nghiệm thiết kế cũng nh− sản phẩm ASIC của ng−ời sử dụng cao hay thấp mà chúng ta lựa chọn phiên bản cho phù hợp. 1.3.2.3. Giới thiệu h@ng Altera Hiện nay Altera là hNng đứng thứ 8 trong số các công ty chuyên về ASIC/PLD và đứng thứ 3 về các sản phẩm CPLD và FPGA. HNng này có các sản phẩm nh−: EP20K100TC144-3, EPF8282ALC84-4, . . với các phần mềm đi kèm hỗ trợ cho các sản phẩm của các hNng khác là MAX + PLUS II và Quartus 3.0. Phần mềm phát triển MAX+PLUS II cung cấp một môi tr−ờng thiết kế hoàn chỉnh đáp ứng đầy đủ các yêu cầu thiết kế cụ thể. MAX+PLUS II đảm bảo thiết kế dễ dàng, xử lý nhanh và lập trình cho các IC PLD một cách trực tiếp. Phần mềm MAX+PLUS II tích hợp đầy đủ các chức năng và độc lập với kiến trúc phần cứng trong việc thiết kế logic với các mạch tổ hợp logic lập trình đ−ợc của hNng Altera thuộc các họ Classic, ACEX 1K, MAX 3000, MAX 5000, MAX 7000, MAX 9000, Flex 6000, Flex 8000 và Flex 10K. MAX+PLUS II cung cấp một phạm vi thiết kế logic đầy đủ bao gồm các thiết kế phân tầng, soạn thảo sơ đồ thiết kế, tổng hợp logic tối −u, phân chia thiết kế, mô phỏng thiết kế mức bảng mạch cả về 24 thời gian và chức năng, phân tích chi tiết thời gian, định vị lỗi tự động, lập trình và kiểm tra các IC. MAX+PLUS II cũng có thể sử dụng các tệp thiết kế theo tiêu chuẩn công nghiệp của các phần mềm thiết kế khác nh−: các tệp kiểu EDIF, VHDL, Verilog, HDL, Orcad, Schematic, Xilinx, Netlist Format. Nó cũng cho phép viết các tệp thiết kế kiểu EDIF, VHDL, Verilog, HDL, VITAL - Compliant để giao tiếp với các phần mềm thiết kế CAE tiêu chuẩn công nghiệp khác. Ng−ời thiết kế có thể tích hợp các thiết kế đ−ợc tạo với các phần mềm thiết kế của Altera nh− A + PLUS, SAM + PLUS vào các thiết kế của MAX+PLUS II. Trình biên dịch bảo đảm rằng các thiết kế trong MAX+PLUS II sẽ đ−ợc tạo hoàn chỉnh trong các IC một cách hiệu quả nhất. 1.4. Tổng hợp Logic. Tổng hợp logic cung cấp một liên kết giữa HDL và netlist t−ơng tự nh− cách một trình biên dịch C cung cấp liên kết giữa mN nguồn C và ngôn ngữ máy. Tuy nhiên, việc so sánh nh− trên chỉ mang tính chất t−ơng đối. C đ−ợc phát triển để sử dụng các trình biên dịch, còn HDL thì không đ−ợc phát triển để sử dụng với các công cụ tổng hợp logic. Verilog thì đ−ợc thiết kế nh− một ngôn ngữ mô phỏng còn VHDL thì đ−ợc thiết kế nh− một ngôn ngữ mô tả và dữ liệu. Cả Verilog và VHDL đều đ−ợc phát triển từ đầu thập niên 80, tr−ớc khi nó đ−ợc giới thiệu nh− một phần mềm th−ơng mại dùng để tổng hợp logic. Do vậy, các ngôn ngữ HDL đó hiện nay đ−ợc sử dụng vào mục đích không phải nh− đúng ý đồ ban đầu, nên hiện trạng của nó trong tổng hợp logic gần giống nh− các bộ biên dịch ngôn ngữ máy tính. Do vậy, tổng hợp logic buộc ng−ời thiết kế phải sử dụng một tập con của cả Verilog và VHDL. Hiện nay, VHDL sử dụng rộng rNi chủ yếu ở châu Âu, còn Verilog đ−ợc dùng chính ở Mỹ và Nhật. Việc này làm cho tổng hợp 25 logic là một vấn đề rất khó. Hiện trạng của các phần mềm tổng hợp giống nh− việc một ng−ời học ngoại ngữ nh−ng 5 năm sau mới sử dụng đến. Khi nói đến công cụ tổng hợp logic sử dụng HDL, ng−ời ta th−ờng nghĩ nó liên quan đến phần cứng hơn là việc tổng hợp logic sẽ thực hiện trên netlist. Theo đánh giá của các chuyên gia “ASIC học” thì phải 5 năm nữa chúng ta mới hoàn thiện đ−ợc qúa trình tổng hợp logic nh− mong muốn. Ng−ời thiết kế sử dụng đầu vào thiết kế dạng text hoặc đồ họa để tạo ra mô hình hoạt động HDL không bao gồm bất kỳ tham chiếu nào đến các phần tử logic. Các sơ đồ trạng thái, các mô tả đ−ờng dẫn dữ liệu đồ hoạ, các bảng sự thật, các mẫu RAM/ROM và các giản đồ mức cổng (gate level) có thể sử dụng cùng với mô tả HDL. Mỗi khi hoàn thành một mô hình hoạt động HDL, hai thành phần yêu cầu phải xử lý là: một bộ tổng hợp logic (bao gồm phần mềm và tài liệu đi kèm) và một th− viện phần tử (bao gồm các phần tử logic chẳng hạn nh− cổng NAND, AND...) đ−ợc gọi là th− viện nguồn. Hầu hết các công ty phần mềm tổng hợp chỉ cung cấp phần mềm. Còn hầu hết các nhà cung cấp ASIC thì chỉ cung cấp các th− viện phần tử. Mô hình hoạt động đ−ợc mô phỏng để kiểm tra việc thiết kế theo tham số kỹ thuật còn sau đó bộ tổng hợp logic sẽ đ−ợc sử dụng để tạo ra một netlist, một mô hình cấu trúc chỉ chứa tham chiếu đến các phần tử logic. Hiện nay, không có khuôn dạng tiêu chuẩn cho các netlist mà tổng hợp logic tạo ra, nh−ng phổ biến nhất hiện nay là khuôn dạng EDIF. Một vài công cụ tổng hợp logic cũng có thể tạo ra cấu trúc HDL (nh− Verilog và VHDL). Sau khi tổng hợp logic, bản thiết kế đ−ợc thực hiện mô phỏng lại để so sánh với việc mô phỏng hoạt động tr−ớc đó. 26 Việc xếp lớp đối với bất kỳ ASIC nào đều có thể đ−ợc tạo ra từ mô hình cấu trúc sinh ra thông qua quá trình tổng hợp logic. 27 Ch−ơng 2 Thiết Bị logic lập trình đ−ợc và công nghệ cpld 2.1. Lịch sử phát triển của vi mạch số lập trình. Tr−ớc thời kỳ vi mạch số lập trình (Programmable Logic Device) ra đời, thiết kế logic số truyền thống thì bao gồm nhiều vi mạch TTL loại MSI và SSI kết hợp lại để tạo ra các hàm logic mong muốn. Những nhà thiết kế dựa vào những sách tra cứu các vi mạch số để tìm hiểu các thông số kỹ thuật, sau đó mới quyết định sử dụng các vi mạch số cần thiết cho yêu cầu thiết kế của họ. Điều bất lợi của việc thiết kế này là trong một board sử dụng nhiều vi mạch, do đó khi sửa chữa thì gặp nhiều khó khăn. Vào năm 1975, công ty SIGNETICS đN giới thiệu vi mạch số lập trình không có bộ nhớ đầu tiên 82S100 (hiện nay là PLS100) gọi là mảng logic lập trình tr−ờng (Field-Programmable Logic Array). Napoleon Cavlan, ng−ời đ−ợc gọi là cha đẻ của mạch logic lập trình, lúc bấy giờ là nhà quản lý những ứng dụng PLA của Signetics đN thực sự hiểu rằng sử dụng PLA là ph−ơng pháp tốt hơn để thiết kế và thay đổi hệ thống số. Trong khi đó, công ty Harris đN sớm giới thiệu PROM, họ trình bày triển vọng của PROM và đN ứng dụng vào trong một số mạch logic. 28 Công ty National Semiconductor đN chế tạo mặt nạ lập trình cho PLA, cấu tạo của nó gồm một mảng AND lập trình kèm với mảng OR lập trình, cho phép thực hiện tổ hợp tổng các tích số của hàm logic tiêu chuẩn. Bằng cách kết hợp công nghệ PROM sử dụng nguyên tắc cầu chì với khái niệm PLA, Cavian đN thuyết phục đ−ợc các nhà quản lý công ty Signetics để đ−a dự án PLA vào sản xuất. Vi mạch PLA đầu tiên 82S100, là thành viên đầu tiên của họ vi mạch IFL (Intergrated Fuse Logic) có hình dạng 28 chân. Cấu trúc của PLA gồm một mảng AND lập trình và một mảng OR lập trình, nó cho phép thực hiện tổ hợp logic tổng của các tích số đơn giản . Kỹ s− John Martin Birkner là một ng−ời quan tâm đến PLA, Birkner đN đ−a ra khái niệm mới về vi mạch số lập trình, vi mạch này cũng t−ơng tự FLA nh−ng thay vì có hai mảng lập trình thì PAL (Programmable Array Logic) chỉ có một mảng AND lập trình và theo sau là mảng OR đ−ợc giữ cố định (không lập trình ). Nh− vậy mỗi cổng OR sẽ có một tích số cố định đ−ợc nối với ngõ vào của nó, do vậy sẽ giảm đ−ợc kích th−ớc của vi mạch và cho phép tín hiệu đ−ợc truyền nhanh hơn trong khi vẫn cho phép thực hiện các tổ hợp logic. PAL đ−ợc đóng vỏ 20 chân. Sau một thời gian thuyết phục các nhà quản lý của công ty MMI thấy rõ những lợi điểm của PAL và đồng ý sản xuất. Vi mạch đầu tiên thuộc họ PAL đ−ợc phổ biến là PAL 16L8, PAL 16R4, PAL 16R6, PAL 16R8. Các vi mạch này có thời gian truyền trì hoNn 35ns. Mỗi vi mạch có 8 ngõ ra và 16 ngõ vào, trong đó ký tự L trong ký hiệu của vi mạch biểu thị 8 tổ hợp ngõ ra tác động ở mức thấp, ký tự R cho biết có 4, 6 hay 8 thanh ghi ở ngõ ra t−ơng ứng. 29 Sau một thời gian khởi đầu chậm, cuối cùng PAL đN đ−ợc thiết kế trong hệ thống thực. Những công ty máy tính mini đN nhận thấy đ−ợc −u điểm của PAL là cho phép họ giảm số board cần thiết để thực hiện tốt những yêu cầu thiết kế, công ty MMI đN chọn ph−ơng pháp sản xuất PAL công đoạn mặt nạ chế tạo theo yêu cầu khách hàng. Vào lúc này MMI lại giới thiệu một họ vi mạch mới HAL (Hard Array Logic) và để sản xuất những chi tiết này cho hNng Data General and Digital Equipment. MMI đN thay đổi cách sắp xếp công đoạn mặt nạ cầu chì và thay vào đó là lớp liên kết kim loại phù hợp yêu cầu thiết kế của khách hàng. Những chi tiết này có nhiều lợi ích gồm mang lại những kết quả tốt và kiểm tra dễ dàng hơn. Đồng thời khách hàng cũng đ−ợc lợi hơn bởi không phải quan tâm đến lập trình và kiểm tra các chi tiết. Điều này đN mang lại sự cải tiến về ph−ơng pháp chế tạo PAL, và đ−ợc sự chấp nhận của thị tr−ờng. Vào năm 1978, MMI đN xuất bản sách h−ớng dẫn PAL đầu tiên. Đó là một b−ớc khởi đầu để PAL mở rộng thế giới của những ng−ời thiết kế mạch logic. Ngoài ra trong sách h−ớng dẫn còn trình bày danh sách ch−ơng trình gốc của ngôn ngữ lập trình FORTRAN cho PALASM (PAL Assembler) đó là phần mềm dành cho việc thiết kế mạch logic PAL. PALASM có thể biên soạn, định nghĩa logic cho một khuôn thức. Ngoài ra PALASM cũng có khả năng mô phỏng sự vận hành trên ph−ơng trình mạch logic theo nguyên tắc PAL. Trong việc liên kết với những nhà thiết kế để định rõ những “vector kiểm tra”, PALASM có thể là một sự thật phù hợp. Tất cả những đặc điểm của PAL bao gồm việc khắc phục những khuyết điểm của PLA kết hợp với việc thúc đẩy sử dụng PAL đN mang đến kết quả tốt đẹp. PAL đN nhanh chóng v−ợt qua họ vi mạch IFL của công ty Signetics và đ−ợc phổ biến trên thị tr−ờng, thuật ngữ PAL đN trở nên đồng nghĩa với PLD. 30 Trong lúc ấy, công ty Signetics tiếp tục phát triển họ IFL, và vào năm 1977 Signetics giới thiệu họ vi mạch FPGA (Field Programmable Gate Array) 82S103, vào năm 1979 là họ FPLS (Field Programmable Logic Sequencer). Họ FPGA có cấu tạo một mảng AND ở mức đơn với ngõ vào lập trình đ−ợc và cực tính ngõ ra cũng vậy cho phép thực hiện các hàm logic cơ bản (AND, OR, NAND, NOR, INVERT), cấu trúc của họ FPLS có chức các FlipFlop để thực hiện các trạng thái của hàm tuần tự. Đồng thời Signetics cũng giới thiệu AMAZE (Automated Map and Zap Equations) là ch−ơng trình biên dịch để hổ trợ cho những vi mạch của họ. T−ơng tự, những công ty chế tạo PLD khác đN lần l−ợc giới thiệu những phần mềm hỗ trợ của họ. Cả 2 công ty Signetics và MMI tiếp tục giới thiệu những PLD mới để đáp ứng tính đa dạng theo các yêu cầu thiết kế. Vào giữa năm 1980, mạch logic lập trình đN đ−ợc thừa nhận cùng với sự phát triển tính đa dạng của IFL và PAL đN có nhiều giá trị cho những ng−ời thiết kế. Mặc dù sự khởi đầu thành công của PLD, tuy nhiên chỉ một số ít các nhà thiết kế quen với việc dùng PLD, một số tr−ờng đại học đN đ−a vi mạch logic lập trình vào những khóa học thiết kế của họ. Tuy nhiên, kĩ thuật logic lập trình tiếp tục cải tiến và những vi mạch phát triển ở giai đoạn thứ hai đ−ợc giới thiệu vào năm 1983. Công ty Advance Micro Devices ( AMD) đN giới thiệu PAL22V10 với những đặc điểm đặc biệt là sự linh động của những cổng PLD ở 10 ngõ vào. Mỗi cổng PLD có khả năng tổ hợp hoặc với thanh ghi ở ngõ ra hoặc một ngõ vào. Cổng đệm ngõ ra ba trạng thái đ−ợc điều khiển bởi một tích số riêng cho phép vận hành hai chiều. Tất cả thanh 31 ghi đều đ−ợc reset tự động trong quá trình tắt hay mở và mỗi thanh ghi có khả năng “đặt tr−ớc”, đó là đặc điểm đặc biệt cho việc kiểm tra sau này. Với những vi mạch mới, đ−ợc giới thiệu th−ờng xuyên trên thị tr−ờng đN dẫn đến việc cần thiết phải có một phần mềm hỗ trợ trong quá trình sử dụng PLD để đạt hiệu quả cao. Bob Osann đN nhận thấy đ−ợc sự cần thiết của một ch−ơng trình biên dịch PLD vạn năng dùng cho tất cả PLD của những công ty chế tạo khác nhau. Vào tháng 9/1983, Công ty Assisted Technology đN đ−a ra phiên bản 1.0 1a của ch−ơng trình biên dịch PLD có tên là CUPL (Universal Compiler for Programmable). Ch−ơng trình này hỗ trợ cho 29 loại vi mạch, sự ra đời của CUPL đN gây đ−ợc sự chú ý của nhiều công ty chế tạo. Công ty Data I/O, nhà chế tạo các vi mạch lập trình lớn nhất trên thế giới (EPROM, PROM, PLD), đN quyết định phát triển phần mềm hỗ trợ cho riêng họ. Năm 1984, Data I/O giới thiệu ABEL (Advanced Boolean Expression Language), đó là ch−ơng trình biên dịch PLD có đặc điểm t−ơng tự nh− CUPL nh−ng nó đ−ợc đầu t− tiếp thị nên đ−ợc các nhà thiết kế chấp nhận. Vì vậy, ABEL đN sớm theo kịp CUPL trên thị tr−ờng. Sự ra đời của ch−ơng trình biên dịch vạn năng cho PLD đN thúc đẩy nền công nghiệp thiết kế số sẵn sàng cho việc áp dụng PLD cho những thiết kế mới. Những ch−ơng trình biên dịch vạn năng này đN đ−ợc cải tiến hơn so với các ch−ơng trình biên dịch PALASM và AMAZE, nó đ−ợc cung cấp cho các nhà thiết kế để thực hiện các mạch logic và mô phỏng những thiết bị. Đó là những đặc điểm tiêu chuẩn của hai bộ biên dịch vạn năng CUPL và ABAL. JEDEC ( the 32 Joint Electron Device Engineering Council) dự định sản xuất một bộ biên dịch PLD tạo ra một tiêu chuẩn để sử dụng cho tất cả các công ty chế tạo PLD hiện nay và t−ơng lai. Vào 10/1983, the JEDEC Solid State Products Engineering Council đ−a ra tiêu chuẩn JEDEC thứ 3“. Tiêu chuẩn khuôn thức chuyển đổi giữa hệ thống tạo dữ liệu và thiết bị lập trình cho PLD”. Tháng 5/1986, JEDEC tiếp tục đ−a ra tiêu chuẩn 3-A, tiêu chuẩn này trở thành tiêu chuẩn chung cho công nghiệp PLD. Tháng 7/1984, công ty Altera giới thiệu EP300. Đó là vi mạch sử dụng công nghệ CMOS của EPROM, nó có đặc tính là công suất tiêu thụ thấp, có thể xóa đ−ợc (dùng tia cực tím) cùng một số đặc tính mở rộng khác.Năm 1985, một họ PLD mới đ−ợc công ty Lattice Semiconductor giới thiệu là GAL (Generic Array Logic). Lattice dùng công nghệ CMOS của EEPROM, có các đặc tính kỹ thuật nh− công suất thấp, có thể lập trình nhiều lần ( xóa bằng điện áp với thời gian xóa khoảng vài giây). Vi mạch đầu tiên của họ GAL đ−ợc kí hiệu là GAL16V8 có khả năng thay thế hoạt động của PAL (đối với vi mạch cùng loại). Ngày càng nhiều công ty tham gia vào thị tr−ờng PLD để tạo ra những vi mạch đặc biệt và sử dụng nhiều công nghệ chế tạo khác nhau. Vào năm 1985, công ty Xilinx tạo ra một họ mới là LCA (Logic Call Array). Cấu trúc của LCA có 3 đoạn: một ma trận của khối logic đ−ợc bao quanh là khối vào ra và một mạng đ−ờng dữ liệu nối gián tiếp. Đặc biệt của LCA là PLD đầu tiên sử dụng tế bào RAM động cho chức năng logic. Ưu điểm của cấu trúc này là khách hàng có thể kiểm tra đ−ợc ch−ơng trình của vi mạch, do bản chất dễ xóa của LCA, nên cần phải l−u trữ cấu hình của LCA ở bộ nhớ ngoài. Vì vậy, LCA không đ−ợc sử dụng ở những tr−ờng hợp đòi hỏi sự hoạt động ngay lập tức khi khởi động máy. 33 Đi kèm với LCA là ch−ơng trình soạn thảo XACT và bộ mô phỏng giúp cho việc sửa lỗi cho những thiết kế trên LCA đ−ợc thuận tiện. Năm 1985, công ty Signetics với một khái niệm mới là PML (Programmable Macro Logic). Vi mạch PML đầu tiên của Signetics PMLS 501, vi mạch này sử dụng công nghệ l−ỡng cực, và đ−ợc đóng vỏ 52 chân . Vào năm 1986, công ty ExMicroelectronic giới thiệu họ ERASIC (Erasable Application Specific 7C) sử dụng công nghệ EEPROM CMOS. Vi mạch đầu tiên là XL78C00 có dạng 24 chân và điều đặc biệt là XL78C00 có thể thay thế chức năng cho PAL và EPLA cùng loại (không tính đến tốc độ), đi kèm là một phần mềm hỗ trợ ERASIC. Vào năm 1986, công ty Signetics quyết định thay đổi họ IFL thành họ PLS (Programmable Logic From Signetics). Ví dụ nh− từ 82S100 thành PLS100, từ 82S157 thành PLS157. Sau đó 2 năm, công ty Actel đN cải tiến khuyết điểm họ LCA là vi mạch có thể hoạt động không nhất thiết phải có bộ nhớ ngoài. Đồng thời công ty Gazelle Microcircuit đN công bố phát minh công nghệ GaAs (Gallium Arsenide). Đặc điểm của công nghệ này là cải tiến tốc độ , công suất của các vi mạch trên nền tảng là công nghệ silicon, cho phép vi mạch làm việc với tốc độ nhanh hơn công suất tiêu tán khi ở mức trung bình. ứng dụng đầu tiên của công nghệ GaAs đ−ợc công ty Gazelle đ−a ra là phiên bản của PAL 22V10. Ưu điểm của mạch này là cho phép vi mạch GaAs có thể t−ơng hợp với các vi mạch TTL, do đó công nghệ GaAS đN đ−ợc ứng dụng rộng rNi. Sau một thời gian cải tiến không ngừng, những PLD thế hệ sau đN đ−ợc 34 ứng dụng rộng rNi trong kỹ thuật phần cứng, nó trở thành công cụ cần thiết cho những kỹ s− thiết kế. Sự phát triển trong công nghiệp PLD nói riêng và với công nghiệp bán dẫn nói chung đN tạo nên sự cạnh tranh của các công ty chế tạo PLD trên thế giới. Do đó, đN có nhiều xung đột xảy ra giữa các công ty trong việc cạnh tranh thị tr−ờng. Vào năm 1986 công ty MMI đN kiện hai công tyAltera và Lattic vì đN vi phạm bản quyền PAL. Kết quả là hai công ty này đN chấp nhận thua kiện và phải mua bản quyền. Sau đó công ty MMI mua cổ phần trong công ty Xilinx và sở hữu bản quyền họ LCA. Sau đó 1 năm công ty MMI hợp với AMD trở thành một tập đoàn sản xuất các linh kiện bán dẫn hàng đầu trên thế giới. Tuy đN hợp nhất hai công ty nh−ng họ vẫn tiếp tục phát triển các họ vi mạch hiện có vì những họ PLD này đN trở nên phổ biến trên thị tr−ờng. Vào năm 1987, công ty National Semiconductor đN mua lại công ty Fairchild và tiếp tục phát triển họ PAL FASTPLA trên thị tr−ờng . 2.2. Cấu trúc cơ bản của các họ vi mạch lập trình (pld) Vi mạch số lập trình trải qua thời gian dài phát triển và cải tiến đN thực sự mở ra một h−ớng đi mới cho những nhà thiết kế. Ưu điểm của PLD là giải quyết đ−ợc vô số những vấn đề thiết kế nhờ vào nhiều họ PLD khác nhau. Những họ vi mạch này có cấu trúc và công nghệ chế tạo khác nhau, do đó chúng có những đặc điểm riêng để ứng dụng vào nhiều lĩnh vực trong công ngiệp. Mặc khác ng−ời thiết kế còn quan tâm đến các thông số kỹ thuật của vi mạch nh− tốc độ, công suất tiêu thụ, nguồn cung cấp và công cụ hỗ trợ để lập trình. 35 2.2.1.Họ vi mạch PROM (Progammable Read Only Memory). PROM gọi là bộ nhớ chỉ đọc lập trình đ−ợc. Đây là họ vi mạch đầu tiên đ−ợc sử dụng nh− là những vi mạch số lập trình theo quan điểm của vi mạch số.._.

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

  • pdfLA3245.pdf
Tài liệu liên quan