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
29 trang |
Chia sẻ: hoang10 | Lượt xem: 638 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Thiết kế logic số (VLSI design) - Chương IV: Thiết kế mạch số trên FPGA, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Thiết kế logic số (VLSI design)Bộ môn KT Xung, số, VXLquangkien82@gmail.comhttps://sites.google.com/site/bmvixuly/thiet-ke-logic-so08/2012Chương ICác kiến thức chung (nhắc lại từ Điện Tử Số)HDL & Automation DesignIC khả trìnhChương IINgôn ngữ VHDLKỹ năng TK: Các khối MSI, SSI đơn giản đã biết trong ĐTS: cộng, dịch, thanh ghi, đếm FSMChương IIICác thuật toán và sơ đồ để thiết kế một số khối LSI thông dụngKỹ 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.Bài tập lớn môn họcChương IVCông nghệ FPGAThiết kế FPGA trên Xilinx ISEKỹ 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 bằng VHDL cho các ngoại vị đơn giản : UART, PS/2, I2C, SPI, VGA/LCD.2Nội dung môn học2/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comMục đích & nội dungMục đíchGiớ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 dungKhái niệm FPGAKiến trúc tổng quan FPGACông nghệ tái cấu trúc FPGA (SRAM-based)So sánh FPGA với CPLD, SPLD, ASIC, DSPCác ứng dụng của FPGAMật độ tích hợp và khả năng tài nguyên của FPGAKiến trúc cụ thể của Xilinx Spartan 3E3/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comYêu cầu chuẩn bị & Tài liệu tham khảoĐọc trước TL[1], tr95-237: Chương IVXem trước slide bài giảng số 4.1 tại địa chỉ: https://sites.google.com/site/bmvixuly/thiet-ke-logic-sohttps://dl.dropbox.com/u/68634585/lecture/lecture4.1.pptxĐọc thêm TL[7] tr 1-116Cài đặt phần mềm Xilinx ISE 12.4Chuẩn bị bài thực hành số 1 trên FPGA tại phụ lục 4 TL[1].https://www.doc.ic.ac.uk/~wl/teachlocal/arch2/killasic.pdfương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comKhá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.5/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comcô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ốiCô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.Kiến trúc tổng quan FPGAThà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ạpKiến trúc ma trận: Cho phép tích hợp tài nguyên mật độ rất lớnCông nghệ mới cho phép tốc độ làm việc caoThiết kế chuyên biệt: Hiệu năng cao hơn cấc thiết kế truyền thống6/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comTái cấu trúc FPGA7/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comProgrammableCLBInterconnectIOBSRAM-based – Violated memoryMật độ tích hợp của FPGA ICTransitor countProcessManufactureYearIntel 40042 30010 umIntel 1971Zilog Z808 5004 umZilog1976Intel 80286164 0001.5 umIntel1982Pentium 2 7 500 000 0.35um Intel 1997Pentium 4 42 000 000 180 nm Intel 2000Core 2 Duo 291 000 000 65 nm Intel 2006Six core Xenon 74001 900 000 000 45 nm Intel 200810-Core Xeon2 600 000 00032 nmIntel2010GK110 Kepler7,080,000,00028nmNVIDIA2012AMD K8 106 000 000 130 nm AMD 2003Spartan 3E~40 000 00090 nmXilinx1998Virtex 4 1 000 000 000 90 nm Xilinx 2004Virtex 5 1 100 000 000 65 nm Xilinx 2006Starix IV 2 500 000 000 40 nm Altera 2008Starix V3 800 000 00028 nmAltera 2011Virtex 6 ~2 600 000 000 65 nm Xilinx 2010Virtex 7 ~6 800 000 00028nmXilinx20118/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comFPGA versus SPLD & CPLDFPGASPLD&CPLDIntegrationVery high (Up to 2 Millions gates)Small, medium (~max 1024 Macroclls)ArchitechtureMatrix (chess-board)“Wings” with center GIMConf. technologyField-programmable (Violated)PROM, E2PROM-technology (non-violated)ApplicationLarge classSmall classElement cellLogic blockMacrocellSpeedVary (low)Determined (may be faster)ResourceHigh in logicHigh in memory9/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comFPGA versus ASICFPGAASICIntegrationVery high (Up to 2 Millions gates)-Complexity (design cost)LowVery HighCost for small quantityLowHighCost for small quantityHighLowApplicationLarge classAny problemsPerformance (for same application)AverageOptimumSpeed100-500MhzUp to several GhzTime to marketSeveral monthsSeveral years10/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comKiến trúc Spartan 3E - Mục đích chungKiến trúc và các thành phần cấu tạo nên FPGA (Spartan 3E)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?11/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comKiến trúc Spartan 3E12/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comCLB-Phân bố13/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comCLB: Cấu tạo từ 4 SLICEsPhân bố Slices trong CLB14/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comSLICE: SLICEM và SLICEL : Tại sao không thiết kế tất cả là SLICEM?Phân bố tài nguyên trong SLICEM và SLICEL15/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comSlice- detail16/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comLUT – phân bố17/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comLUT: 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}LUT – nguyên lý làm việc18/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comLUT: Làm thế nào để thực thi được hàm logic bất kỳ?Wide-multiplexer – Bộ chọn kênh mở rộng19/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comQuestion: Làm thế nào để thực thi các hàm nhiều hơn 4 đầu vào?Wide-multiplexers-nguyên lý20/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comTổng kết21/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comFPGA: 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. Công nghệ tái cấu trúc: SRAM based.Ứ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.Thành phần FPGA: IOB, CLB, DCM, Multiplier, Block RAM.Các hàm logic được thực hiện trên cơ sở LUT = 16 to 1 Multiplexer và cơ cấu Wide-MultiplexerYêu cầu chuẩn bị22/26Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comĐọc trước TL[1], tr95-237: Chương IVXem trước slide bài giảng số 4.2 tại địa chỉ: https://sites.google.com/site/bmvixuly/thiet-ke-logic-sohttps://dl.dropbox.com/u/68634585/lecture/lecture4.2.pptxĐọc thêm TL[7] tr 1-116Bố 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])Trả lời các câu hỏi trắc nghiệm sau bài giảng này.Trắc nghiệmCâu 1: Mô tả nào sau đây đúng nhất với kiến trúc của FPGA:Ma trận cổng logic, có thể kết nối khả trình với nhau.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ìnhMả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.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.23Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comTrắc nghiệmCâu 2: Ưu điểm chính của FPGA so với các IC khả trình trước đó:Tài nguyên logic lớnTốc độ làm việc caoTính khả trình linh hoạtHiệu năng làm việc cao và ứng dụng cho lớp những bài toán phức tạp24Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comTrắc nghiệmCâu 3: Tại sao trong SLICE lại thiết kế một nửa là SLICELMột nửa là SLICEM mà không thiết kế tất cả là SLICEM?Để tiết kiệm tài nguyên logic vì SLICEM có kích thước lớn và độ phức tạp caoĐể tối ưu năng lượng tiêu thụ trong chip FPGAC. Để 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ớ.25Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comTrắc nghiệmCâu 4: Cấu hình của FPGA khi hoạt động được lưu ở đâu?A. Trong khối ROMB. Trong khối Block RAMC. Lưu trên máy tính và khi thực thi mới được nạp vào FPGAD. Lưu trong các SRAM nằm phân tán bến trong FPGA.26/25Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comTrắc nghiệmCâ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?Đặc tính biểu diễn dưới dạng bảng chân lý của hàm logic bất kỳ.Công thức biểu diễn của hàm logic dưới dạng đại sốTính khả trình của khối CLBĐặc điểm làm việc của khối chọn kênh.27Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comTrắc nghiệmCâu 6: Bản chất của khối LUT làMột khối logic đa năng có khả năng thực hiện mọi hàm logicMột khối logic khả trình có khả năng thực hiện mọi hàm logicC. 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ênhD. Khối logic khả trình có khả năng thực hiện hàm 4 đầu vào bất kỳ28Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.comTrắc nghiệmCâ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 logicB. Để mở rộng các khối logic chức năngC. Để chọn kênh cho các đối tượng mở rộngD. Để 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 SLICE29Chương IV: Thiết kế mạch số trên FPGA quangkien82@gmail.com