THIẾT kế bộ VI xử lý SOCP (SYSTEM ON CHIP PROCESSOR) TRÊN nền FPGA (có code) THIẾT kế bộ VI xử lý SOCP (SYSTEM ON CHIP PROCESSOR) TRÊN nền FPGA (có code) THIẾT kế bộ VI xử lý SOCP (SYSTEM ON CHIP PROCESSOR) TRÊN nền FPGA (có code) THIẾT kế bộ VI xử lý SOCP (SYSTEM ON CHIP PROCESSOR) TRÊN nền FPGA (có code) THIẾT kế bộ VI xử lý SOCP (SYSTEM ON CHIP PROCESSOR) TRÊN nền FPGA (có code)
ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ BỘ VI XỬ LÝ SOCP (SYSTEM-ON-CHIP PROCESSOR) TRÊN NỀN FPGA MỤC LỤC DANH MỤC CÁC HÌNH VẼ VII DANH MỤC CÁC BẢNG BIỂU VIII DANH MỤC CÁC TỪ VIẾT TẮT IX CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 GIỚI THIỆU CHUNG 1.2 PHƯƠNG ÁN THỰC HIỆN CHƯƠNG NỘI DUNG CỦA ĐỀ TÀI 2.1 KHÁI QUÁT VỀ CÔNG NGHỆ FPGA 2.1.1 Cấu trúc FPGA 2.1.2 Phân loại FPGA 2.1.3 Các đặc tính cơng nghệ lập trình .6 2.1.4 So sánh FPGA với công nghệ khác 2.2 MƠ HÌNH BỘ VI XỬ LÝ HIỆN ĐẠI 2.2.1 Khái niệm vi xử lý (CPU) 2.2.2 Bộ vi xử lý SoCP .10 2.2.3 Các vi xử lý tiên tiến dựa kiến trúc INTEL IA-32 2.2.4 Các vi xử lí tiên tiến dựa kiến trúc INTEL IA-64 2.2.5 Các vi xử lí tiên tiến Sun Microsystems .6 2.3 KHÁI QUÁT VỀ LED 2.3.1 Khái niệm LED 2.3.2 Cấu tạo 2.3.3 Nguyên lý hoạt động .10 2.3.4 Tính chất 10 2.3.5 Ứng dụng 11 2.3.6 LED đoạn .12 CHƯƠNG THIẾT KẾ HỆ THỐNG 15 3.1 SƠ ĐỒ KHỐI 15 3.2 MƠ HÌNH THIẾT KẾ TỔNG QT .15 3.3 MƠ HÌNH SOCP CỔ ĐIỂN 16 3.4 THIẾT KẾ HỆ THỐNG SOCP .17 3.5 CẤU TRÚC SOCP 18 3.6 THIẾT KẾ BỘ VI XỬ LÝ SOCP TRÊN NỀN FPGA .19 3.6.1 Mơ hình thiết kế 19 3.6.2 Cách thực 19 CHƯƠNG KẾT QUÀ 42 CHƯƠNG KẾT LUẬN 44 5.1 KẾT LUẬN .44 5.2 HƯỚNG PHÁT TRIỂN .44 TÀI LIỆU THAM KHẢO 45 PHỤ LỤC 46 DANH MỤC CÁC HÌNH VẼ HÌNH 2-1: LUT (LOOK-UP TABLE) [1] HÌNH 2-2: CẤU TRÚC CỦA MỘT FPGA [1] HÌNH 2-3: LOGIC BLOCK [1] HÌNH 2-4: PHÂN LOẠI FPGA [1] HÌNH 2-5: SOC CỦA GALAXY S4 CŨ [4] 11 HÌNH 2-6: MƠ HÌNH SOC TỪ SNAPDRAGON 410 QUALCOMM [4] 11 HÌNH 2-7: MƠ HÌNH SOC BCM5862X TỪ BROADCOM [4] 12 HÌNH 2-8: LED [7] HÌNH 2-9: CẤU TẠO LED [7] HÌNH 2-10: LED ĐOẠN [8] 12 HÌNH 2-11: MƠ HÌNH LED ĐOẠN [8] 12 HÌNH 3-1: SƠ ĐỒ KHỐI 15 HÌNH 3-2: MƠ HÌNH THIẾT KẾ TỔNG QUÁT 15 HÌNH 3-3: MƠ HÌNH SOCP CỔ ĐIỂN 16 HÌNH 3-4: THIẾT KẾ HỆ THỐNG SOCP 17 HÌNH 3-5: CẤU TRÚC SOCP [9] 18 HÌNH 3-6: MƠ HÌNH THIẾT KẾ SOCP TRÊN NỀN FPGA 19 DANH MỤC CÁC BẢNG BIỂU BẢNG 2-1: CÁC ĐẶC TÍNH CỦA CƠNG NGHỆ LẬP TRÌNH [2] BẢNG 2-2: SO SÁNH FPGA VÀ CPLD [3] BẢNG 2-3: SO SÁNH FPGA VÀ ASIC [3] BÀNG 2-4: ƯU VÀ NHƯỢC ĐIỂM CỦA SOC 12 BẢNG 2-5: CÁC CHẾ ĐỘ CỦA IA-32 [5] BẢNG 2-6: CÁC TÀI NGUYÊN TẠO NÊN MƠI TRƯỜNG THỰC THI CHƯƠNG TRÌNH [5] BẢNG 2-7: VI XỬ LÝ HỖ TRỢ IA-32 [5] BẢNG 2-8: CÁC CHẾ ĐỘ MỚI CỦA IA-64 [6] .4 BẢNG 2-9: VI XỬ LÝ HỖ TRỢ IA-64 [6] BÀNG 2-10: TÍNH NĂNG CỦA MỘT SỐ VI XỬ LÝ SPRAC [6] BẢNG 2-11: MÃ HIỂN THỊ ANOT CHUNG .13 BÀNG 2-12: MÃ HIỂN THỊ KATOT CHUNG 14 BẢNG 3-1: CÁC HỌ SỬ DỤNG TRONG MƠ HÌNH 21 BẢNG 3-2: DATA SHEET 27 BẢNG 3-3: DATA SHEET .28 BẢNG 3-4: CẤU HÌNH CHÂN .37 DANH MỤC CÁC TỪ VIẾT TẮT FPGA ADC AMBA ASIC BUS CLB CPU DIP INTC IOPL LED LED LUT NRE SMD LED SMM SMT SoCP SPRAC TSS Field programmable Gate Array Analog to Digital Converter Advanced Microcontroller Bus Architecture Application Specific Integrated Circuit Bus System Configurable Logic Blocks Central Processing Unit Duel In-Line Package Interrupt Controller I/O Privilege Level Light Emitting Diode Light Emitting Diode Look-Up Table Non Recurring Expenses Surface-Mount Device LED System Management Mode Surface-Mount Technology System-on-Chip Processor Scalable Processor Architecture Task State Segment Trang 1/51 CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu chung Thiết kế vi xử lý SOCP (system-on-chip Processor) FPGA - Tìm hiểu cơng nghệ FPGA - Tìm hiểu mơ hình vi xử lý đại - Tìm hiểu LED - Thiết kế Mux/Demux/Counter ngôn ngữ Verilog điều khiển LED 1.2 Phương án thực - Dùng phần mềm Quatus 9.0sp1 - Lập trình ngơn ngữ Verilog - Thiết kế Counter Mega - Thiết kế Demux - Thiết kế Counter - Sau ghép khối lại thành khối thống - Cả hoạt động vi xử lý SOCP FPGA Thiết kế vi xử lý SOCP FPGA Trang 2/51 CHƯƠNG NỘI DUNG CỦA ĐỀ TÀI 1.3 Khái quát công nghệ FPGA FPGA (“Field programmable Gate Array”, nghĩa mảng cổng lập trình dạng trường, thuộc họ ASIC lập trình được) chip silicon chứa nhiều “khối logic” tái cấu hình CLB (Configurable Logic Blocks) liên kết với thành liên kết khả trình (Programmable Interconnect) Các khối vào phân bố xung quanh chip tạo thành liên kết với bên Bên khối logic CLB có bảng LUT (Look-Up Table) phần tử nhớ (FlipFlop chốt) Bảng LUT với nhiều đầu vào đầu tạo thành mạch logic tổ hợp nhỏ, phần tử nhớ dành cho logic synchronous (đồng bộ) sequential (tuần tự) Hình 2-1: LUT (Look-Up Table) [1] 1.1.1 Cấu trúc FPGA Thiết kế vi xử lý SOCP FPGA Trang 3/51 Hình 2-2: Cấu trúc FPGA [1] Gồm khối: - Logic block - Programmable Interconnect - I/O block Logic block Hình 2-3: Logic block [1] - Logic block tạo thành từ LUT phần tử nhớ đồng Flip-Flop Thiết kế vi xử lý SOCP FPGA Trang 4/51 - LUT khối logic thực cổng logic với ngõ vào ngõ tùy vào mục đích sử dụng Programmable Interconnect - Khối chuyển mạch cấu thành từ đường kết nối theo phương ngang đứng - Các kết nối nối với thơng qua khối chuyển mạch lập trình chứa lượng nút chuyển lập trình để liên kết phức tạp I/O blcok - Là phần tử tích hợp sẵn - Là nhân tốc độ cao 1.1.2 Phân loại FPGA FPGA có nhiều loại khác có cấu trúc đặc tính riêng tuỳ theo hãng sản xuất, nhiên chúng có bốn loại sau: cấu trúc mảng đối xứng (Symmetrical Array), cấu trúc PLD phân cấp (hierachircal PLD), cấu trúc hàng (Row base) cấu trúc đa cổng (Sea of Gate) mơ tả Hình 2-4: Phân loại FPGA [1] Về mặt chế tạo, phần tử lập trình chế tạo theo công nghệ CMOS chuẩn tốt Dưới trình bày chi tiết cơng nghệ lập trình FPGA Thiết kế vi xử lý SOCP FPGA Trang 36/51 Thiết kế vi xử lý SOCP FPGA Trang 37/51 Thiết kế vi xử lý SOCP FPGA Trang 38/51 Bảng 3-4: Cấu hình chân Thiết kế vi xử lý SOCP FPGA Trang 39/51 Thiết kế vi xử lý SOCP FPGA Trang 40/51 Thiết kế vi xử lý SOCP FPGA Trang 41/51 Thiết kế vi xử lý SOCP FPGA Trang 42/51 Thiết kế vi xử lý SOCP FPGA Trang 43/51 CHƯƠNG KẾT QUÀ Thiết kế thành công - Các tập tin SRAM Object (.sof) nạp vào FPGA bảng phát triển - thiết kế hoạt động Khi xác minh thiết kế phần cứng, ta quan sát thời gian chạy thiết kế phần cứng FPGA đảm bảo hoạt động Quan sát thấy bốn bảng LED bảng phát triển xuất chậm dần theo kiểu đếm nhị phân, điều khiển simple_counter bit [26 23] Các đèn LED hoạt động thấp, đó, đếm bắt đầu tất đèn LED bật (trạng thái 0000) Thiết kế vi xử lý SOCP FPGA Trang 44/51 Nhấn giữ nút bảng phát triển quan sát thấy đèn LED sáng nhanh Nhấn nút làm cho thiết kế kết hợp cách sử dụng phần nhanh đếm (bit [24 21]) Thiết kế vi xử lý SOCP FPGA Trang 45/51 CHƯƠNG 1.12 - KẾT LUẬN Kết luận Các thiết kế SoC thường tiêu tốn lượng có giá thành thấp hệ thống đa chip so sánh thiết kế Ngoài ra, hệ thống đơn chip có tính ổn định cao Các ứng dụng xây dựng sở sử dụng - hệ thống đơn chip cho giá thành thấp hơn, khơng gian chiếm chỗ Trong thiết kế bình thường ta phải viết đoạn code dài qua thiết kế đề tài đoạn code ngắn cần mô công cụ - SoC FPGA Ngày người ta sử dụng vi xử lý SoC nhiều thay các vi xử lý lúc trước, vừa tiết kiệm diện tích giúp sản phẩm đẹp mà lại có tốc độ xử lý nhanh thông minh xưa nhiều 1.13 - Hướng phát triển Tạo vi xử lý tích hợp nhiều chức thay có MUX/DEMUX/COUNTER Tích hợp nhiều module Thiết kế vi xử lý SOCP FPGA Trang 46/51 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Tống Văn On (2007), “Thiết kế vi mạch CMOS VLSI T.1”, Các khái niệm thiết kế vi mạch, tr 10-40 [2] http://luanvan.co/luan-van/kien-truc-snapdragon-qualcomm Tiếng Anh: [3] [3] [4] [5] [6] [7] [8] [9] www.altera.com/education/univ/unv-index.html [10] www.altera.com/education/univ/materials/manual/unv-lab-manual.html [11] www.altera.com/literature/lit-qts.jsp [12] www.altera.com/end-markets/refdesigns/ref-index.jsp [13] www.altera.com/support/examples/exm-index.html [14] www.altera.com/corporate/contact/con-index.html [15] mysupport.altera.com/etraining/ Thiết kế vi xử lý SOCP FPGA Trang 47/51 PHỤ LỤC Code simple_counter.v // a simple 32 bit up-counter called simple_counter.v module simple_counter (input clock , output reg [31:0] counter_out); // code starts here always @ (posedge clock) // on positive clock edge begin counter_out