Danh mục tài liệu

Tìm hiểu, nghiên cứu và thực thi thử nghiệm lõi vi xử lý Picoblaze trên công nghệ FPGA

Số trang: 10      Loại file: pdf      Dung lượng: 676.28 KB      Lượt xem: 9      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài báo tập trung vào việc nghiên cứu, tìm hiểu cấu trúc của lõi vi xử lý Picoblaze, từ đó đưa ra phương thức triển khai và thực thi lõi vi xử lý này lên một chip FPGA. Các kết quả đạt được sẽ phục vụ cho mục đích so sánh, đánh giá cách thức và hiệu năng hoạt động của lõi này với một số lõi vi xử lý khác.
Nội dung trích xuất từ tài liệu:
Tìm hiểu, nghiên cứu và thực thi thử nghiệm lõi vi xử lý Picoblaze trên công nghệ FPGA TÌM HIỂU, NGHIÊN CỨU VÀ THỰC THI THỬ NGHIỆM LÕI VI XỬ LÝ PICOBLAZE TRÊN CÔNG NGHỆ FPGA PHAN HẢI PHONG ĐẶNG XUÂN VINH - HOÀNG LÊ HÀ Trường Đại học Khoa học - Đại học Huế Tóm tắt: Bài báo tập trung vào việc nghiên cứu, tìm hiểu cấu trúc của lõi vi xử lý Picoblaze, từ đó đưa ra phương thức triển khai và thực thi lõi vi xử lý này lên một chip FPGA. Các kết quả đạt được sẽ phục vụ cho mục đích so sánh, đánh giá cách thức và hiệu năng hoạt động của lõi này với một số lõi vi xử lý khác. Từ đó đưa ra lựa chọn một lõi vi xử lý phù hợp cho việc xây dựng một hệ thống vi điều khiển dựa trên lõi đó. Từ khóa: Vi điều khiển (VĐK), vi xử lý (VXL), Picoblaze, FPGA. 1 GIỚI THIỆU CHUNG Ngày nay, cùng với sự phát triển của các hệ thống điện tử, tự động hoá, các hệ thống nhúng đã đặt ra yêu cầu về việc cần phải có các thế hệ VĐK mới có tốc độ hoạt động cao và tích hợp thêm nhiều thiết bị ngoại vi mới. Điều này đặt ra cho lĩnh vực thiết kế vi mạch điện tử một hướng nghiên cứu quan trọng, đó là phát triển các thế hệ VĐK mới có tốc độ cao hơn, hoạt động ổn định hơn và đặc biệt là phải tích hợp được thêm nhiều tính năng tiên tiến hơn. Để phát triển được một lõi VĐK tiên tiến, hoạt động với tốc độ cao, có nhiều thiết bị ngoại vi bổ trợ thì một yêu cầu cấp thiết được đặt ra đó là phải có một lõi VXL phù hợp để làm nhân xử lý chính cho toàn bộ hệ thống. Hiện nay, nhiều lõi VXL như vậy đã được phát triển: từ các lõi VXL 8-bit đơn giản như 8051, Picoblaze. . . cho đến những lõi VXL 32-bit phức tạp như MicroBlaze, NiosII, Leon3. . . Trong đó Picoblaze được xem như là một lõi VXL 8-bit đơn giản nhưng có hiệu năng cao, khả năng mở rộng lớn và thường được lựa chọn sử dụng trong các nghiên cứu cũng như trong các ứng dụng công nghiệp [1, 2]. Picoblaze là một lõi vi xử lý 8-bit có cấu trúc của tập lệnh thu gọn RISC (Reduced Instruction Set Computer) được tối ưu phát triển cho các họ FPGA [3] như Spartan 3, Tạp chí Khoa học và Giáo dục, Trường Đại học Sư phạm Huế ISSN 1859-1612, Số 01(33)/2015: tr. 78-87 TÌM HIỂU, NGHIÊN CỨU VÀ THỰC THI THỬ NGHIỆM LÕI VI XỬ LÝ... 79 Virtex II, và Virtex II Pro của Xilinx [5]. Lõi vi xử lý Picoblaze là một lõi vi xử lý có hiệu quả cao cho những ứng dụng nhỏ, yêu cầu xử lý dữ liệu đơn giản. Nó là một lõi vi xử lý ảo, tồn tại dưới dạng một lõi mềm được phát triển bởi hãng Xilinx. Picoblaze là một lõi vi xử lý đã được tối ưu về mặt hiệu suất và có chi phí phát triển thấp. Sau khi thực thi, nó chỉ chiếm khoảng 96 slices của FPGA, tương đương 12,5% tài nguyên của chip XC3S50 hoặc 0,3% tài nguyên của chip FPGA XC3S5000. Lõi vi xử lý Picoblaze có thể hoạt động với hiệu suất từ 44000 tới 100000 câu lệnh/giây (MPIS – milion instructions per second) tùy thuộc vào loại chip FPGA được sử dụng và tốc độ hoạt động tối đa của dòng chip đó. Bài báo này tập trung vào việc nghiên cứu, tìm hiểu về cấu trúc của lõi VXL Picoblaze, từ đó có thể đưa ra được phương thức triển khai, thực thi lõi này lên một phần cứng FPGA cụ thể. Từ kết quả thực thi sẽ rút ra các đánh giá, so sánh về hiệu năng, khả năng hoạt động của lõi VXL này trong thực tế. Các kết quả đánh giá sẽ được sử dụng trong việc lựa chọn một lõi VXL phù hợp nhằm để phát triển một hệ thống VĐK 8-bit hỗ trợ nhiều thiết bị ngoại vi và có khả năng ứng dụng cao. 2 KIẾN TRÚC CHUNG CỦA LÕI VXL PICOBLAZE Sơ đồ khối của lõi VXL Picoblaze được mô tả như trong Hình 1. Chức năng của một số khối chính trong lõi VXL này được mô tả như sau: Hình 1: Sơ đồ khối của lõi vi xử lý Picoblaze. • Khối xử lý số học ALU: Khối này sẽ thực hiện mọi tính toán của vi xử lý bao gồm: – Các phép tính số học cơ bản như cộng và trừ. – Các phép tính logic bit như AND, OR và XOR. – Các phép toán kiểm tra bit và so sánh số học. – Các phép toán dịch bit và xoay bit. 80 PHAN HẢI PHONG và cs. Tất cả các phép toán được thực hiện trong khối ALU đều dùng các toán hạng đích và toán hạng nguồn (trừ phép toán dịch bit và xoay bit là không có toán hạng nguồn), trong đó toán hạng đích là một trong các thanh ghi đặc biệt Sx. Toán hạng nguồn nếu có sẽ là thanh ghi thứ hai Sy hoặc là một hằng số trực tiếp 8 bit. Và do đó kết quả sẽ được trả lại chính toán hạng nguồn là thanh ghi Sx. • Khối các thanh ghi chức năng chung: Vi xử lý Picoblaze bao gồm 16 thanh ghi chức năng chung (từ S0 tới SF) có độ rộng 1 byte. Để cho dễ dàng trong khi lập trình, các thanh ghi này có thể được đổi tên bằng các chỉ lệnh hợp ngữ (assembler directive). Trong VXL Picoblaze không có thanh ghi nào có mức ưu tiên cao hơn hoặc dành riêng cho một tác vụ đặc biệt nào. VXL Picoblaze hoàn toàn không có thanh ghi tính toán như các vi điều khiển khác như: 8051, PIC, AVR. . . Do đó mỗi kết quả được tính toán trong một thanh ghi được chỉ định trước. • Các cờ chỉ thị (flags): Các phép tính thực hiện trên ALU ảnh hưởng tới trạng thái của các cờ ZERO và cờ CARRY. Cờ ZERO được thiết lập khi kết quả của phép toán trước bằng 0. ...