Qua nghiên cứu và tìm hiểu về các thiết bị có thể lập trình đợc của Xilinx, tôi sử dụng chip XC2S100 dòng Spartan II thiết kế một số mạch đơn giản, trên cơ sở những mạch này để thiết kế
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI BỒ QUỐC BẢO NGHIÊN CỨU MODUL GIẢNG DẠY FPGA LUẬN VĂN THẠC SĨ NGÀNH XỬ LÝ THÔNG TIN VÀ TRUYỀN THÔNG Hà Nội, 2005 Tai ngay!!! Ban co the xoa dong chu nay!!! 17061131649831000000 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI BỒ QUỐC BẢO NGHIÊN CỨU MODUL GIẢNG DẠY FPGA LUẬN VĂN THẠC SĨ NGÀNH XỬ LÝ THÔNG TIN VÀ TRUYỀN THÔNG NGƯỜI HƯỚNG DẪN: TS NGUYỄN LINH GIANG Hà Nội, 2005 Bå Qc B¶o Líp CH XLT XLTT&TT T&TT 2003 -2- Lời cam đoan Tôi xin cam đoan luận văn kết nghiên cứu thân díi sù híng dÉn cđa TS Ngun Linh Giang NÕu có sai phạm, xin hoàn toàn chịu trách nhiệm Ngời làm cam đoan Bồ Quốc Bảo Bồ Quốc B¶o -3- Líp CH XLT XLTT&TT T&TT 2003 Mơc lơc Lêi cam ®oan Môc lôc Danh mơc c¸c h×nh vÏ Lời nói đầu Ch¬ng Tỉng quan vỊ ASIC lËp trình đợc 1.1 Tổng quan công nghệ 1.2 Sù đời công nghệ AsiC 1.3 C¸c h·ng chÝnh øng dơng c«ng nghƯ ASIC 10 1.4 C¸c híng tiÕp cËn thiÕt kÕ ASIC 11 1.5 Đầu vào thiết kế ASIC 14 1.6 Tỉng hỵp logic 23 1.7 Các công cụ thiết kế phát triển ASIC 24 Chơng Xilinx sản phÈm FPGA 28 2.1 Giíi thiƯu vỊ c«ng ty Xilinx 28 2.2 Các dòng sản phẩm Xilinx 29 2.3 Giíi thiƯu s¶n phÈm Spartan II cña Xillinx 31 2.4 Các tiêu kỹ thuật chi tiÕt Spartan II 52 Chơng Các ngôn ngữ mô tả phần cøng HDL 56 3.1 VHDL 56 3.2 Ngôn ngữ mô tả phần cứng ABEL 64 3.3 Ngôn ngữ Schematic Editor 70 Ch¬ng Thiết kế modul giảng dạy sử dụng FPGA XC2S100 80 4.1 Mục đích yêu cầu thiÕt kÕ 80 4.2 Những yêu cầu phần mềm phần cứng thiết kế mạch báo chuông 82 4.3 Tr×nh tù thiÕt kÕ víi FPGA 85 4.4 Tr×nh tự thiết kế mạch chức 86 4.5 Mạch báo chuông 94 KÕt luËn 97 Tài liệu tham khảo 98 Phô lôc 99 -4- Bå Quèc Bảo Lớp CH XLT XLTT&TT T&TT 2003 Danh mục hình vẽ Tên hình Hình 1.1: Một phần thiết kế ASIC Hình 1.2: Sơ đồ khối PROM Hình 1.3: Sơ đồ khối PAL Hình 1.4: Sơ đồ khèi cđa PLA H×nh 1.5: CÊu tróc chung cđa mét EPLD H×nh 1.6: CÊu tróc cđa mét macrocell H×nh 1.7: Mét CPLD cđa Xilinx H×nh 2.1: CÊu tróc FPGA cđa Xilinx H×nh 2.2: CÊu tróc chung cđa FPGA H×nh 2.3: Một CLB điển hình FPGA dòng Spartan II Hình 2.4: Sơ đồ khối chức Flip-Flop CLB Hình 2.5: Ghép nối tín hịêu điều khiển Hình 2.6: Sơ đồ khối IOB Hình 2.7: Sơ đồ khối chức IOB Hình 2.8: OAND2 OMUX2 Hình 2.9: Sơ đồ khối chung kênh kết nối CLB H×nh 2.10 Ma trËn kÕt nèi FPGA Hình 2.11: Phân bố mạng tổng thể Spartan Hình 2.12: Sơ đồ logic RAM cổng đơn Hình 2.13: Sơ đồ logic RAM cổng kép Hình 2.14: Chi tiết logic nhớ Spartan Hình 2.15: Bộ đệm trạng thái thực phân kênh Hình 2.16: Sơ đồ logic quét biên dòng Spartan Hình 2.17: Sơ đồ mạch Master Slave Hình 3.1: Các bớc thiết kế VHDL Bồ Quốc Bảo -5- Hình 3.2: Các thực thể VHDL cấu trúc Hình 3.3: Cấu trúc file chơng trình VHDL Hình 3.4: Cấu trúc module ABEL Hình 3.5: Sơ đồ khối mạch Hình 3.5: Sơ đồ khối mạch Hình 3.6: Các dấu chấm më réng ABEL H×nh 3.7: Bé céng bit Hình 3.7: Sơ đồ cộng bit Hình 4.1: Sơ đồ khối mạch báo chuông Hình 4.2: Hình ảnh thực tế kit XSA-100 Board V1.0 Hình 4.3: Sơ đồ nguyên lý XSA-100 Board V1.0 Hình 4.4: Trình tự thiết kế với FPGA Hình 4.5: Mạch đa hài đợi tạo dao động âm tần Lớp CH XLT XLTT&TT T&TT 2003 Bå Qc B¶o -6- Líp CH XLT XLTT&TT T&TT 2003 Lời nói đầu Cùng với phát triển khoa học kỹ thuật, việc tự động hoá thiết kế mạch điện tử đóng vai trò quan trọng việc thúc đẩy phát triển kỹ thuật tính toán Từ năm 50 kỷ trớc, trình phát triển kỹ thuật điện tử đà trải qua nhiều giai đoạn: từ bóng đèn điện tử đến bóng bán dẫn, qua mạch tích hợp nhỏ tới mạch với độ tích hợp lớn siêu lớn Những mạch tích hợp loại chứa hàng triệu linh kiện bán dẫn mạch Ví dụ điển hình vi xử lý Việc thiết kế mạch có độ tích hợp lớn siêu lớn thực cách thủ công, mà phải có giúp đỡ máy tính Với mục đích không ngừng đáp ứng nhu cầu xà hội, môn học thiết kế hệ thống số đà đợc đa vào giảng dạy trờng Cao đẳng Đại học, việc tiếp cận môn học tơng đối khó trừu tợng, để môn học trực quan dễ tiếp cận việc thực hành lập trình số cần thiết Một công nghệ đợc ®êi, cã thĨ thay thÕ cho c¸c hƯ thèng sè trớc đòi hỏi nhiều thời gian chi phí cho nghiên cứu chế tạo, công nghệ ASIC (Application Specific Integrated Circuit) Dẫn đầu lĩnh vực sản phẩm FPGA (Field Programmable Gate Array) CPLD (Complex Programmable Logic Devices) công ty Xilinx Sử dụng FPGA CPLD tối thiểu hóa đợc nhiều công đoạn thiết kế, lắp ráp hầu hết đợc thực máy tính Các ngôn ngữ mô phần cứng (HDL: Hardware Description Languages) nh ABEL, VHDL, Verilog, Schematic cho phép thiết kế mô hoạt động mạch chơng trình Các chơng trình mô cho phép xác định lỗi thiết kế cách dễ dàng kết thực chơng trình file bit cấu hình (bitstream) để nạp (download) vào FPGA CPLD để hoạt động giống nh mạch logic Bồ Quốc Bảo -7- Líp CH XLT XLTT&TT T&TT 2003 Việc nghiên cứu thiết kế modul thí nghiệm FPGA để giúp em học sinh-sinh viên nói chung sinh viên trường Cao đẳng Cơng nghiệp nói riêng tiếp cận sử dụng công nghệ mới, đáp ứng nhu cầu xã hội trường công việc vô cần thiết cấp bách Víi sù híng dÉn TS Nguyễn Linh Giang, khuôn khổ luận văn này, mạnh dạn tìm hiểu nghiên cứu công nghệ công ty Xilinx Qua nghiên cứu tìm hiểu thiết bị lập trình đợc Xilinx, sử dụng chip XC2S100 dòng Spartan II thiết kế số mạch đơn giản, sở mạch để thiết kế modul giảng dạy cho sinh viên trờng Cao đẳng Công nghiệp Hà nội mạch báo chuông cho lớp học Nội dung luận văn bao gồm chơng, đó: Chơng 1: Giới thiệu tổng quan ASIC lập trình đợc Chơng 2: Giới thiệu hÃng Xilinx sản phẩm FPGA Chơng Giới thiệu số ngôn ngữ mô tả phần cứng HDL Chơng Thiết kế modul giảng dạy sử dụng FPGA XC2S100-Spartan II Do thời gian khả có hạn nên luận văn nhiều thiếu sót Rất mong đợc góp ý thông cảm thầy giáo, cô giáo Hà nội, ngày 20 tháng 10 năm 2005 Học viên Bồ Qc B¶o Bå Qc B¶o -8- Líp CH XLT XLTT&TT T&TT 2003 Chơng Tổng quan ASIC lập trình đợc 1.1 tổng quan công nghệ Nền công nghiệp bán dẫn đà phát triển từ IC vào khoảng năm đầu năm 1970 đà trởng thành nhanh chóng từ Một điều quan trọng việc thiết kế cần phải nghiên cứu phơng thức thực cách cẩn thận trớc Các bớc cần làm suốt trình thiết kế phụ thuộc hoàn toàn vào phơng thức thực mà lựa chọn Sự phức tạp hệ thống tăng lên cho kết mạch tích hợp mức cao microchip Có mức tích hợp nh sau: - SSI (Small Scale Integration), chứa nhiều cổng độc lập gói đơn, thông thờng số cổng không vợt 10 cổng - MSI (Medium Scale Integration) có độ phức tạp cao khoảng từ 10 đến 100 cổng gói đơn - LSI (Large Scale Integration) có khoảng từ 100 đến vài nghìn cổng gói đơn - VLSI (Very Large Scale Integration) chứa từ vài nghìn cổng đến hàng triệu cổng gói đơn Ngoài ra, IC đợc phân chia theo chức mà thực hiện, chức phù hợp với thị trờng ảnh hởng tới giá thành thiết bị: - Thông thờng (General): thiết bị phục vụ cho mục đích thông thờng - ASIC (Application Specific IC): sư dơng c¸c chip hiƯn đại, điều khiển nhúng với mục đích thiết kế đáp ứng nhu cầu ngời sử dụng Bå Qc B¶o -9- Líp CH XLT XLTT&TT T&TT 2003 1.2 Sự đời công nghệ AsiC Nhằm cải thiện tính linh hoạt IC nâng cao chất lợng ngành công nghiệp sản xuất IC, IEEE đà tổ chức hội thảo 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 đợc đa nhằm giải cho nhiều mục đích ứng dụng cụ thể chuyên biệt Từ đây, xuất thuật ngữ thức đợc sử dụng là: Application - Specific IC, hay viết tắt ASIC Hiện nay, IEEE thờng xuyên tổ chức định kỳ hội thảo cấp quốc tế ASIC, nhằm điều chỉnh nâng cao u điểm nh tính thuận tiện đa công nghệ tiên tiến hÃng sản xuất ASIC khác 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 xác ASIC khó, song coi nh thuật ngữ đà đợc công nhận thức ngành công nghiệp IC Định nghĩa tiếng Anh 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 ASIC viết tắt từ Application Specific Integrated Circuits, nghĩa mạch tích hợp ứng dụng chuyên biệt - ngắn gọn IC chuyên dụng Tuy nhiên, nhiều nhà ASIC học quen gọi IC dùng cho mục đích khách hàng IC đợc thiết kế đặc biệt theo yêu cầu khách hàng Ví dụ IC ASIC theo yêu cầu bao gồm loại sau: chip nhớ nh ROM, DRAM, SRAM; phận xử lý, IC họ TTL tơng đơng theo công nghệ SSI, MSI LSI Còn IC thuộc dòng ASIC bao gồm: chíp dùng công nghiệp giải trí; chíp dùng công nghiệp vệ tinh, vũ trụ, chíp đợc thiết kế dùng ®Ĩ giao tiÕp gi÷a bé vi xư lý ®èi víi CPU máy trạm làm việc chip chøa bé vi xư lý bªn cïng víi phần tử logic khác Theo quy tắc chung, IC ASIC, nhng có trờng hợp ngoại lệ Ví dụ, IC chip điều khiển PC IC chip điều khiển MODEM Cả hai IC ứng dụng chuyên biệt (giống nh ASIC) nhng hai có số điểm khác sử dụng vào 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