Bài giảng Thiết kế logic số (VLSI design) - Chương IV: Thiết kế mạch số trên FPGA (Phần 1)

pptx 29 trang phuongnguyen 3180
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Thiết kế logic số (VLSI design) - Chương IV: Thiết kế mạch số trên FPGA (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_thiet_ke_logic_so_vlsi_design_chuong_iv_thiet_ke_m.pptx

Nội dung text: Bài giảng Thiết kế logic số (VLSI design) - Chương IV: Thiết kế mạch số trên FPGA (Phần 1)

  1. Thiết kế logic số (VLSI design) Bộ môn KT Xung, số, VXL quangkien82@gmail.com 08/2012
  2. Nội dung môn học •Các kiến thức chung (nhắc lại từ Điện Tử Số) •HDL & Automation Design •IC khả trình Chương I •Ngôn ngữ VHDL •Kỹ năng TK: Các khối MSI, SSI đơn giản đã biết trong ĐTS: cộng, dịch, thanh ghi, đếm Chương II FSM •Các thuật toán và sơ đồ để thiết kế một số khối LSI thông dụng •Kỹ năng TK: Các khối LSI, VLSI: CLA, nhân, chia số nguyên, số thực, có dấu và không dấu, Memory, cấu trúc CPU đơn giản. Chương III •Bài tập lớn môn học •Công nghệ FPGA •Thiết kế FPGA trên Xilinx ISE •Kỹ năng TK: Hiện thực hóa thiết kế ở các chương trứoc trên FPGA, lập trình giao tiếp Chương IV bằng VHDL cho các ngoại vị đơn giản : UART, PS/2, I2C, SPI, VGA/LCD. Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 2/26 2
  3. Mục đích & nội dung • Mục đích • Giới thiệu tổng quan về công nghệ FPGA, so sánh FPGA với các công nghệ thiết kế và xử lý ứng dụng cho các bài toán số. Kiến trúc tổng quan và Kiến trúc Xilinx FPGA, nắm được nguyên lý làm việc của FPGA. • Nội dung • Khái niệm FPGA • Kiến trúc tổng quan FPGA • Công nghệ tái cấu trúc FPGA (SRAM-based) • So sánh FPGA với CPLD, SPLD, ASIC, DSP • Các ứng dụng của FPGA • Mật độ tích hợp và khả năng tài nguyên của FPGA • Kiến trúc cụ thể của Xilinx Spartan 3E Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 3/26
  4. Yêu cầu chuẩn bị & Tài liệu tham khảo • Đọc trước TL[1], tr95-237: Chương IV • Xem trước slide bài giảng số 4.1 tại địa chỉ: • • Đọc thêm TL[7] tr 1-116 • Cài đặt phần mềm Xilinx ISE 12.4 • Chuẩn bị bài thực hành số 1 trên FPGA tại phụ lục 4 TL[1]. • • • Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 4/26
  5. Khái niệm FPGA (Xilinx.com) Field-Programmable Gate Arrays (FPGAs) are semiconductor devices that are based around a matrix of configurable logic blocks (CLBs) connected via programmable interconnects. FPGAs can be reprogrammed to desired application or functionality requirements after manufacturing. -công nghệ IC lập trình mới nhất và tiên tiến nhất hiện nay. - quá trình tái cấu trúc IC có thể được thực hiện bởi người dùng cuối -Công nghệ cho phép hiện thực hóa các thiết kế số với chi phí và thời gian hợp lý -Công nghệ đủ mạnh để đáp ứng đa số các ứng dụng cơ bản, thay thế các chip ASIC chuyên dụng - Công nghệ cho phép mở ra các giải pháp kỹ thuật mới cho các hệ xử lý truyền thống, thay thế bằng các hệ có khả năng tái cấu hình mềm dẻo. Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 5/26
  6. Kiến trúc tổng quan FPGA -Thành phần cơ bản : Logic block khả trình (up to 10 mill gates) - Sô lượng IO PADs: 200-1000: đáp ứng các thiết kế phức tạp -Kiến trúc ma trận: Cho phép tích hợp tài nguyên mật độ rất lớn -Công nghệ mới cho phép tốc độ làm việc cao -Thiết kế chuyên biệt: Hiệu năng cao hơn cấc thiết kế truyền thống Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 6/26
  7. Tái cấu trúc FPGA SRAM-based – Violated memory Interconnect CLB IOB Programmable Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 7/26
  8. Mật độ tích hợp của FPGA IC Transitor count Process Manufacture Year Intel 4004 2 300 10 um Intel 1971 Zilog Z80 8 500 4 um Zilog 1976 Intel 80286 164 000 1.5 um Intel 1982 Pentium 2 7 500 000 0.35um Intel 1997 Pentium 4 42 000 000 180 nm Intel 2000 Core 2 Duo 291 000 000 65 nm Intel 2006 Six core Xenon 7400 1 900 000 000 45 nm Intel 2008 10-Core Xeon 2 600 000 000 32 nm Intel 2010 GK110 Kepler 7,080,000,000 28nm NVIDIA 2012 AMD K8 106 000 000 130 nm AMD 2003 Spartan 3E ~40 000 000 90 nm Xilinx 1998 Virtex 4 1 000 000 000 90 nm Xilinx 2004 Virtex 5 1 100 000 000 65 nm Xilinx 2006 Starix IV 2 500 000 000 40 nm Altera 2008 Starix V 3 800 000 000 28 nm Altera 2011 Virtex 6 ~2 600 000 000 65 nm Xilinx 2010 Virtex 7 ~6 800 000 000 28nm Xilinx 2011 Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 8/26
  9. FPGA versus SPLD & CPLD FPGA SPLD&CPLD Integration Very high (Up to 2 Millions gates) Small, medium (~max 1024 Macroclls) Architechture Matrix (chess-board) “Wings” with center GIM Conf. technology Field-programmable (Violated) PROM, E2PROM-technology (non- violated) Application Large class Small class Element cell Logic block Macrocell Speed Vary (low) Determined (may be faster) Resource High in logic High in memory Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 9/26
  10. FPGA versus ASIC FPGA ASIC Integration Very high (Up to 2 Millions gates) - Complexity (design cost) Low Very High Cost for small quantity Low High Cost for small quantity High Low Application Large class Any problems Performance (for same Average Optimum application) Speed 100-500Mhz Up to several Ghz Time to market Several months Several years Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 10/26
  11. Kiến trúc Spartan 3E - Mục đích chung 1. Kiến trúc và các thành phần cấu tạo nên FPGA (Spartan 3E) 2. Cơ chế nào hay cấu trúc nào cho phép hiện thực hóa các chức năng logic (hàm logic) trên FPGA? Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 11/26
  12. Kiến trúc Spartan 3E Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 12/26
  13. CLB-Phân bố CLB: Cấu tạo từ 4 SLICEs Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 13/26
  14. Phân bố Slices trong CLB SLICE: SLICEM và SLICEL : Tại sao không thiết kế tất cả là SLICEM? Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 14/26
  15. Phân bố tài nguyên trong SLICEM và SLICEL Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 15/26
  16. Slice- detail Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 16/26
  17. LUT – phân bố LUT: Khối logic khả trình có thể thực hiện một hàm logic bất kỳ 4 đầu vào một đầu ra Y= F(X1, X2, X3, X4) Y, Xi ∊ {0,1} Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 17/26
  18. LUT – nguyên lý làm việc LUT: Làm thế nào để thực thi được hàm logic bất kỳ? Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 18/26
  19. Wide-multiplexer – Bộ chọn kênh mở rộng Question: Làm thế nào để thực thi các hàm nhiều hơn 4 đầu vào? Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 19/26
  20. Wide-multiplexers-nguyên lý LUT0 OUT0 OUT X U M OUT1 LUT1 Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 20/26
  21. Tổng kết 1. FPGA: Ma trận các khối logic khả trình, tái cấu trúc được bởi người dùng cuối. 2. Công nghệ tái cấu trúc: SRAM based. 3. Ứng dụng cho lớp các bài toán thiết kế số chuyên biệt đòi hỏi tài nguyên và tốc độ, hiệu năng cao. 4. Thành phần FPGA: IOB, CLB, DCM, Multiplier, Block RAM. 5. Các hàm logic được thực hiện trên cơ sở LUT = 16 to 1 Multiplexer và cơ cấu Wide-Multiplexer Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 21/26
  22. Yêu cầu chuẩn bị 1. Đọc trước TL[1], tr95-237: Chương IV 2. Xem trước slide bài giảng số 4.2 tại địa chỉ: so 3. pptx 4. Đọc thêm TL[7] tr 1-116 5. Bố trí thực hiện bài thực hành số 1 trên FPGA và chuẩn bị bài số 2 (tại phụ lục 4 TL[1]) 6. Trả lời các câu hỏi trắc nghiệm sau bài giảng này. Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 22/26
  23. Trắc nghiệm Câu 1: Mô tả nào sau đây đúng nhất với kiến trúc của FPGA: A. Ma trận cổng logic, có thể kết nối khả trình với nhau. B. Ma trận các khối logic khả trình có khả năng kết nối với nhau tùy ý thông qua hệ thống kết nối khả trình C. Mảng các phần tử logic khả trình được kết nối với nhau thông qua ma trận các đường kết nối khả trình. D. Ma trận các phần tử logic khả trình được điều khiển bởi các giá trị trong SRAM để kết nối với nhau. Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 23
  24. Trắc nghiệm Câu 2: Ưu điểm chính của FPGA so với các IC khả trình trước đó: A. Tài nguyên logic lớn B. Tốc độ làm việc cao C. Tính khả trình linh hoạt D. Hiệu năng làm việc cao và ứng dụng cho lớp những bài toán phức tạp Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 24
  25. Trắc nghiệm Câu 3: Tại sao trong SLICE lại thiết kế một nửa là SLICEL Một nửa là SLICEM mà không thiết kế tất cả là SLICEM? A. Để tiết kiệm tài nguyên logic vì SLICEM có kích thước lớn và độ phức tạp cao B. Để tối ưu năng lượng tiêu thụ trong chip FPGA C. Để tối ưu về mặt tốc độ thực thi các khối logic vì SLICEL có cấu trúc đơn giản. D. Để tối ưu hệ số sử dụng tài nguyên trong FPGA vì thông thường trong các khối Thiết kế phần logic tổ hợp chiếm tỷ lệ lớn hơn phần nhớ. Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 25
  26. Trắc nghiệm Câu 4: Cấu hình của FPGA khi hoạt động được lưu ở đâu? A. Trong khối ROM B. Trong khối Block RAM C. Lưu trên máy tính và khi thực thi mới được nạp vào FPGA D. Lưu trong các SRAM nằm phân tán bến trong FPGA. Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 26/25
  27. Trắc nghiệm Câu 5: Xuất phát từ cơ sở nào để xây dựng khối LUT trên FPGA cho phép thực hiện hàm bất kỳ 4 đầu vào 1 đầu ra? A. Đặc tính biểu diễn dưới dạng bảng chân lý của hàm logic bất kỳ. B. Công thức biểu diễn của hàm logic dưới dạng đại số C. Tính khả trình của khối CLB D. Đặc điểm làm việc của khối chọn kênh. Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 27
  28. Trắc nghiệm Câu 6: Bản chất của khối LUT là A. Một khối logic đa năng có khả năng thực hiện mọi hàm logic B. Một khối logic khả trình có khả năng thực hiện mọi hàm logic C. Khối logic khả trình với cấu tạo cơ bản là một multiplexer cỡ lớn có 16 đầu vào 1 đầu ra, 4 đầu vào chọn kênh D. Khối logic khả trình có khả năng thực hiện hàm 4 đầu vào bất kỳ Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 28
  29. Trắc nghiệm Câu 7: Vai trò của bộ chọn kênh mở rộng: A. Để thực thi được các hàm số có nhiều hơn 4 đầu vào logic B. Để mở rộng các khối logic chức năng C. Để chọn kênh cho các đối tượng mở rộng D. Để chọn giữa các đầu ra của khối LUT trước khi đẩy ra ngoài cổng vào ra của SLICE Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com 29