Sinh viên thực hiện Báo cáo đồ án tốt nghiệp Khoa Vô tuyến điện tử - 2012 Thiết kế nhân vi xử lý nhúng với tập lệnh rút gọn trên công nghệ FPGA Hoàng Xuân Trường Giáo viên hướng dẫn
Trang 1Sinh viên thực hiện
Báo cáo đồ án tốt nghiệp Khoa Vô tuyến điện tử - 2012
Thiết kế nhân vi xử lý nhúng với tập lệnh rút gọn trên công nghệ
FPGA
Hoàng Xuân Trường
Giáo viên hướng dẫn
Thượng tá, Th.s Nguyễn Hoài Anh Thượng úy, Th.s Trịnh Quang Kiên
Khoa VTĐT - HVKTQS Lớp ĐTVT6B – Khoa VTĐT
Trang 2Nội dung báo cáo
Trang 4II Nội dung đồ án
LÝ NHÚNG TRÊN CÔNG NGHỆ FPGA
HIỆN THỰC HÓA THIẾT KẾ NHÂN VI XỬ
LÝ NHÚNG TRÊN MẠCH
FPGA
Trang 5Chương 1: Tổng quan về thiết kế bộ vi xử lý nhúng trên
THANH GHI
ĐA CHỨC NĂNG
Trang 6Chương 1: Tổng quan về thiết kế bộ vi xử lý nhúng trên
công nghệ FPGA
1.2 Tổng quan về công nghệ FPGA
Trang 7Chương 1: Tổng quan về thiết kế bộ vi xử lý nhúng trên
Trang 8Chương 2: Thiết kế nhân vi xử lý nhúng với tập lệnh rút
Trang 9Chương 2: Thiết kế nhân vi xử lý nhúng với tập lệnh rút
pháp RISC
DB8B có
27 lệnh
Tất cả các lệnh trải qua 5 chu kỳ lệnh
Trang 10Chương 2: Thiết kế nhân vi xử lý nhúng với tập lệnh rút
gọn DB8B DB8B có 27 lệnh:
Cấu trúc lênh theo
Trang 11Chương 2: Thiết kế nhân vi xử lý nhúng với tập lệnh rút
gọn DB8B
2.4 Thiết kế chức năng khối DU
Trang 12Chương 2: Thiết kế nhân vi xử lý nhúng với tập lệnh rút
gọn DB8B
2.5 Thiết kế chức năng khối CU
KHỐI CU: là một máy trạng thái
hữu hạn Bao gồm 6 trạng thái
- Mỗi trạng thái thực hiện mất
Trang 13Chương 2: Thiết kế nhân vi xử lý nhúng với tập lệnh rút
001
rf[3] <=
imm[01110001] movri X”0001” 10010000001
Trang 14Chương 2: Thiết kế nhân vi xử lý nhúng với tập lệnh rút
gọn DB8B
2.6 Kiểm tra, mô phỏng DG8B với phần mềm
ModelSim SE 6.5
Trang 15MÃ LÊNH
Chương 2: Thiết kế nhân vi xử lý nhúng với tập lệnh rút
gọn DB8B
Trạng thái decode lệnh MOVRI
Trang 16Chương 3: Hiện thực hóa thiết kế nhân vi xử lý DB8B
trên mạch FPGA
3.1 Mạch phát triển ứng dụng trên công nghệ FPGA
- Mạch được thiết kế trên nền
tảng Xilinx Spartan 3E FPGA
XCS500 PQG208
- Phần trung tâm của mạch là
FPGA và FLASH ROM
- có các cổng VGA, UART,
cổng PS/2, LCD, USB, các
switch
Trang 17Chương 3: Hiện thực hóa thiết kế nhân vi xử lý DB8B
- Như vậy với thiết kế
nhân vi xử lý 8 bit như
trên sử dụng một tài
nguyên tương đối nhỏ
của FPGA
=================================== Device utilization summary:
- Selected Device : 3s500epq208-5 Number of Slices: 206 out of 4656 4% Number of Slice Flip Flops: 199 out of 9312 2%
Number of 4 input LUTs: 269 out of 12 2% Number of IOs: 27
Number of bonded IOBs: 27 out of 58 17% Number of GCLKs: 1 out of
24 4%
=================================== Final Register Report
Macro Statistics
# Registers : 199 Flip-Flops : 199
Trang 18Chương 3: Hiện thực hóa thiết kế nhân vi xử lý DB8B
Hiện thực hóa thiết (Implementation) kế FPGA là quá
trình chuẩn bị dữ liệu cho việc cấu hình FPGA từ thông tin đầu
vào là mô tả netlist Quá trình này bắt đầu bằng quá trình biên
dịch và ánh xạ thiết kế lên đối tượng FPGA cho tới khi thiết kế
vật lý được phân bố cụ thể và kết nối với nhau
Trang 19Chương 3: Hiện thực hóa thiết kế nhân vi xử lý DB8B
trên mạch FPGA
3.4 Cấu hình FPGA
- Quá trình này là việc ghi dữ
liệu vào SRAM
- Quy định cách thức làm việc,
kết nối của các phần tử trong
FPGA
- Thiết kế được dịch sang 1
file cấu hình (BIT file) và nạp
vào trong FPGA thông qua
giao thức JTAG
- File BIT này cũng có thể
được biến đổi thành các định
dạng PROM khác nhau để
nạp vào trong ROM
Trang 20Chương 3: Hiện thực hóa thiết kế nhân vi xử lý DB8B
trên mạch FPGA
3.6 Test thiết kế trên mạch FPGA
- Qúa trình test thiết kế
trên FPGA ta để tần số
thấp để khi hiển thi ra
đèn led mắt người có thể
qua sát được
DB8B sau khi chia thì cứ
1s tương ứng với một
chu kỳ xung nhịp Như
vậy cứ sau 5s (tức năm
• NET "cpu_output[4]" LOC = P15;
• NET "cpu_output[5]" LOC = P16;
• NET "cpu_output[6]" LOC = P18;
• NET "cpu_output[7]" LOC = P19;
• NET "cpu_pc_out[0]" LOC = P30;
• NET "cpu_pc_out[1]" LOC = P31;
• NET "cpu_pc_out[2]" LOC = P33;
• NET "cpu_pc_out[3]" LOC = P34;
Trang 21III Kết quả nghiên cứu
xử lý 8bit với tập lệnh rút
gọn (27 lệnh)
kế trên mạch FPGA với
FPGA XCS500 PQG208
- Tất cả các lệnh đều
cho kết quả đúng như
thiết kế yêu cầu
Trang 22IV Hướng phát triển
Kết nối DB8B với cổng giao tiếp
UART Kết nối DB8B với cổng giao tiếp
VGA Kết nối DB8B với cổng giao tiếp
PS/2
Kết nối DB8B với bộ định thời,
biến đổi A/D, PWR và
Watchdog timer
Trang 23BÀI BÁO CÁO C ỦA EM XIN
Ý THEO DÕI!