1. Nội dung thiết kế tốt nghiệp:
2.2.2 Vi xử lý mềm Nios II
Nios II là một họ vi xử lý nhúng do Altera phát triển, được xây dựng sử dụng ngôn ngữ mô tả phần cứng HDL. Nó có khả năng cấu hình cao với ba dạng cấu hình khác nhau về tốc độ và số lượng LE (Logic Element), cho phép lựa chọn các đặc tính phù hợp với yêu cầu thiết kế. [3]
Nios II có kiến trúc RISC với khả năng cung cấp:
Đầy đủ tập lệnh 32 bit, không gian địa chỉ và đường dữ liệu
32 thanh ghi 32 bit đa mục đích
32 ngắt ngoài
Lệnh nhân, chia 32 bit tạo ra kết quả 32 bit
Biểu diễn dữ liệu theo định dạng Little Endian với ba kiểu dữ liệu: word, halfword và byte.
Giao tiếp được với các thiết bị ngoại vi trên chip FPGA và bộ nhớ, thiết bị ngoại vi ngoài chip
Môi trường phát triển phần mềm dựa trên công cụ GNU C/C++ và Eclipse IDE
Tùy chọn các đơn vị quản lý bộ nhớ và đơn vị bảo vệ bộ nhớ.
27
Ta phân biệt ba cấu hình của Nios II tùy theo ứng dụng như sau:
Nios II economy core (Nios II/e): với 600 - 700 LEs,tốc độ xử lý 5 DMIPS
tại tần số 50 MHz. Cấu hình dạng này của Nios phù hợp với các ứng dụng vi điều khiển, với chi phí và công suất tiêu thụ thấp, tối ưu hóa về tài nguyên trên FPGA.
Nios II standard core (Nios II/s): có phần cứng hỗ trợ thời gian thực cũng như tập lệnh tùy biến, 1200 – 1400 LEs, tốc độ xử lý 25 DMIPS. Dạng standard core phù hợp với các yêu cầu thời gian thực trên cả phần cứng và phần mềm, cân bằng giữa hiệu năng và tài nguyên sử dụng.
Nios II fast core (Nios II/f): hỗ trợ đơn vị quản lý bộ nhớ MMU (Memory Management Unit) tốc độ xử lý có thể lên tới 51 DMIPS, với 1400 – 1800 LEs. Dạng fast core có thể chạy được hệ điều hành embedded Linux, cho hiệu năng cao nhất trong ba dạng.
Hình 2.4 mô tả kiến trúc cơ bản của vi xử lý Nios II
Hình 2.4 Kiến trúc cơ bản của vi xử lý Nios II [3]
Trong đó:
TCM: Tightly Coupled Memory
I-MEM: bộ nhớ lệnh
28
MMU: đơn vị điều khiển bộ nhớ
MPU: đơn vị bảo vệ bộ nhớ
INT CNTRL: khối điều khiển ngắt
EXP CNTRL: khối điều khiển Exception