Bài giảng Thiết kế logic số: Lecture 3.1 cung cấp cho người học các kiến thức: Giới thiệu FPGA, cấu trúc FPGA, các thành phần cơ bản trong FPGA. Mời các bạn cùng tham khảo nội dung chi tiết.
Thiết kế logic số (Digital logic design) TS Hoàng Văn Phúc Bộ môn KT Xung số - Vi xử lý 11/2014 https://sites.google.com/site/phucvlsi/teaching Nội dung Giới thiệu FPGA, cấu trúc FPGA Các thành phần FPGA Thời lượng: 06 tiết FPGA gì? FPGA (Field-Programmable Gate Array): - Là cơng nghệ IC lập trình (tái cấu hình: reconfigurable) tiên tiến - Field: khả lập trình (tái cấu hình) người sử dụng, không phụ thuộc vào dây chuyền sản xuất IC - Ưu điểm: + Khả tái cấu hình cách đơn giản, linh động + Tài nguyên lớn + Tốc độ/hiệu cao + Được hỗ trợ rộng rãi Tham khảo thêm: http://vi.wikipedia.org/wiki/Field-programmable_gate_array http://en.wikipedia.org/wiki/Field-programmable_gate_array Mật độ tích hợp FPGA IC Intel 4004 Zilog Z80 Intel 80286 Pentium Pentium Core Duo Six-core Xenon 7400 Transistor count 300 500 164 000 500 000 42 000 000 291 000 000 900 000 000 Process 10 um um 1.5 um 0.35 um 180 nm 65 nm 45 nm Manufacture Intel Zilog Intel Intel Intel Intel Intel Year 1971 1976 1982 1997 2000 2006 2008 10-Core Xeon AMD K8 Spartan 3E Virtex Virtex Starix IV StarixV Virtex Virtex 600 000 000 106 000 000 ~40 000 000 000 000 000 100 000 000 500 000 000 800 000 000 ~2 600 000 000 ~6 800 000 000 32 nm 130 nm 90 nm 90 nm 65 nm 40 nm 28 nm 65 nm 28nm Intel AMD Xilinx Xilinx Xilinx Altera Altera Xilinx Xilinx 2010 2003 1998 2004 2006 2008 2011 2010 2011 Công nghệ chế tạo FPGA Xinlinx http://www.xilinx.com/products/silicon-devices/fpga/index.htm FPGA frequency scaling Hệ thống nhúng (embedded system) FPGA System on board System on chip (SoC) Source: Internet Kiến trúc chung FPGA IO_PAD LOGIC BLOCK LOGIC BLOCK IO_PAD IO_PAD IP_COREs, RAM, ROM ………………… ………………… LOGIC BLOCK LOGIC BLOCK Interconnect wires IO_PAD LOGIC BLOCK ………………… LOGIC BLOCK ……………… ……………… ……………… IO_PAD LOGIC BLOCK ………………… IO_PAD IO_PAD LOGIC BLOCK ………………… IO_PAD IO_PAD LOGIC BLOCK IO_PAD IO_PAD IO_PAD Tính khả trình FPGA Interconnect CLB IOB Programmability CLB: Configurable logic block (Khối logic cấu hình được) IOB: Input/Output block Tái cấu hình cho FPGA SRAM-based: - Hoạt động phụ thuộc nguồn điện cung cấp - Khả tái cấu trúc linh hoạt - Cho phép thực thiết kế lớn 10 Câu 4: Vai trò chọn kênh mở rộng: A Để thực thi hàm số có nhiều đầu vào logic B Để mở rộng khối logic chức C Để chọn kênh cho đối tượng mở rộng D Để mở rộng khối BLOCK RAM 40 Câu 5: Cấu hình FPGA hoạt động lưu đâu? A Trong khối ROM B Trong khối Block RAM C Lưu máy tính thực thi nạp vào FPGA D Lưu SRAM nằm phân tán bên FPGA 41 Câu 6: Vai trò Block RAM FPGA: A Sử dụng thiết kế đòi hỏi dung lượng khối nhớ lớn B Sử dụng khối đệm cho trình cộng nhân thường gặp toán DSP C Sử dụng thiết kế đòi hỏi linh động cấu trúc khối RAM D Sử dụng khối nhớ đòi hỏi tốc độ làm việc với tốc độ cao 42 Câu 7: Tại phải sử dụng nhiều dạng tài nguyên kết nối khác nhau? A Để linh động tổ chức nối khối thiết kế với B Để tối ưu thiết kế thực kết nối khối chức C Để tiết kiệm tài nguyên logic D Để đáp ứng đặc thù khác dạng tín hiệu khác thiết kế số 43 Câu 8: Phát biểu sau sau khơng xác: A Khối nhân số nguyên đặt cạnh Block RAM nhằm tiết kiệm không gian bên FPGA B Số lượng Block RAM Spartan 3E vào cỡ vài chục khối C Các đường kết nối ba đường kết nối chiều D Tài nguyên kết nối FPGA gồm ma trận chuyển dạng đường kết nối khác 44 Extra Slides (Slides bổ sung) 45 Look-up Tables (2:1 MUX Example) Configuration memory holds output of truth table entries Internal signals connect to control signals of MUXs to select a values of the truth tables for any given input signals 46 IOB-Delay Block 47 IOB-Delay Block 48 IOB-DDR 49 Clock tree 50 Configurable Logic Blocks (CLB) A CLB can contain several slices, which make up a single CLB Xilinx Virtex-5 FPGAs (right) have two slices: SLICEL (logic) and SLICEM (memory) In addition to the basic CLB architecture, the Virtex-5 contains widefunction MUXs which can implement: - 4:1 MUX using LUT - 8:1 MUX using LUTs - 16:1 MUX using LUTs 51 LUT Based RAM Normal LUT mode performs read operation Address decoders with WE generates clock signals to latches for write operation Smaller RAMs can be combined to create larger RAMs 52 FPGA Configuration Interfaces Master (Serial or Parallel) FPGA retrieves configuration from ROM at initial power-up Slave (Serial or Parallel) FPGA configured by an external source (i.e microprocessor/ other FPGA) Used for dynamic partial re-configuration Boundary Scan 4-wire IEEE standard serial interface used for testing Write and read access to configuration memory Interfaces to FPGA core internal routing network 53 Boundary Scan Configuration Developed to test interconnect between chips on PCB Test Access Point (TAP) controller composed of 16 state FSM Multi-FPGA Emulation Framework to support NoC design and verification (UNLV NSIL) Daisy Chain Configuration 54 ... logic block (Khối logic cấu hình được) IOB: Input/Output block Tái cấu hình cho FPGA SRAM-based: - Hoạt động phụ thuộc nguồn điện cung cấp - Khả tái cấu trúc linh hoạt - Cho phép thực thiết kế. .. ………………… LOGIC BLOCK LOGIC BLOCK Interconnect wires IO_PAD LOGIC BLOCK ………………… LOGIC BLOCK ……………… ……………… ……………… IO_PAD LOGIC BLOCK ………………… IO_PAD IO_PAD LOGIC BLOCK ………………… IO_PAD IO_PAD LOGIC BLOCK... Configurable Logic Block (CLB) - Spartan 3E 16 Phân bố Slices CLB - Spartan 3E 17 Phân bố tài nguyên SLICEM SLICEL- Spartan 3E M = Memory X0Y0 Có thể tạo shift-register X1Y0 L = logic Chỉ dùng cho mạch logic