1. Nội dung thiết kế tốt nghiệp:
2.3 Quy trình thiết kế hệ thống Nios II
Quy trình phát triển một hệ thống Nios II bao gồm ba quá trình phát triển: thiết kế phần cứng, thiết kế phần mềm và thiết kế hệ thống – bao gồm cả phần cứng và phần mềm. Với những hệ thống đơn giản, một người có thể thực hiện toàn bộ quy trình. Nhưng với các hệ thống phức tạp, việc phân chia thiết kế phần cứng – phần mềm là rất quan trong và cần thiết.[3]
Quy trình chuẩn để thiết kế một hệ thống Nios II được Altera đề xuất được mô tả trên Hình 2.9.
Bước 1: Phân tích yêu cầu hệ thống
Quy trình phát triển hệ thống luôn bắt đầu với các công việc tiền thiết kế - bao gồm việc phân tích các yêu cầu của hệ thống như:
Hiệu năng tính toán mà ứng dụng yêu cầu?
Các loại giao diện mà hệ thống cần sử dụng?
Ứng dụng có cần xử lý đa luồng hay không?
Băng thông và tốc độ hệ thống yêu cầu là bao nhiêu?
Qua việc trả lời các câu hỏi cơ bản như trên, ta có thể xác định các yêu cầu cụ thể của hệ thống như:
Cần sử dụng lõi vi xử lý Nios loại nào? Nhỏ hơn hoặc nhanh hơn?
Thiết kế cần những component nào? Số lượng bao nhiêu?
Có cần sử dụng hệ điều hành không? Chọn hệ điều hành nào?
32
Hình 2.9 Quy trình thiết kế hệ thống Nios II [3]
Run/Debug Software Using Nios II SBT Analyze System Requirements Run/Debug Software on Target Board Refine Software and Hardware Intergrate SOPC Builder System into Quatus II Project Develop Software with the Nios II SBT Assign Pin Locations, Timing Requirements and Other Design Constraints Compile Hardware Design of Target Board Download FPGA Design to Target Board Download Software Executable to Nios II System on Target Broad Nios II Cores & Standard Peripherals
Define & Generate System in SOPC Builder
Custom Instruction & Peripheral Logic Altera HAL & Peripheral Drivers User C/C++ Code & Custom Libraries Custom Hardware Modules
33
Bước 2: Định nghĩa và khởi tạo hệ thống trong SOPC Builder
Sau khi xác định các yêu cầu về phần cứng, ta sử dụng công cụ SOPC Builder trong phần mềm Quartus II để chọn loại vi xử lý, bộ nhớ và các component khác mà hệ thống yêu cầu.
Đầu ra cơ bản của SOPC Builder bao gồm một số file sau:
SOPC Builder System File (.ptf): đây là file lưu trữ cấu hình phần cứng cho
hệ thống Nios II. Phần mềm Nios II IDE yêu cầu file này để biên dịch phần mềm với phần cứng phù hợp.
HDL file: là các file mô tả thiết kế các khối phần cứng. Phần mềm Quartus II
sử dụng các file HDL này để biên dịch toàn bộ thiết kế FPGA thành một file SRAM Object File (.sof) để nạp xuống chip.
Bước 3: Tích hợp hệ thống SOPC Builder vào project trong Quartus II
Hầu hết các thiết kế FPGA đều bao gồm các khối logic bên ngoài hệ thống Nios II. Trong Quartus II, các module phần cứng có thể được tích hợp tùy ý – có thể là các IP (intellectual property) từ Altera hoặc các nhà cung cấp IP thứ ba. Tại đây, ta có thể coi hệ thống Nios II được tạo ra ở bước trên như một module và kết nối logic với các module khác.
Sử dụng phần mềm Quartus II, ta cũng có thể gán chân trên chip FPGA cho các tín hiệu I/O, thiết lập yêu cầu về thời gian thực hiện và các điều kiện kiểm soát khác với thiết kế sao cho hệ thống thỏa mãn được các yêu cầu phi chức năng mà bước 1 đã xác định. Cuối cùng, ta sẽ biên dịch project trong Quartus II để tạo ra file .sof dùng để cấu hình FPGA.
Sau đó, file cấu hình FPGA trên sẽ được nạp xuống kit DE2 sử dụng cáp USB – Blaster. Sau khi được cấu hình, chip FPGA sẽ hoạt động như thiết kế phần cứng đã định nghĩa - ở đây là một hệ thống Nios II.
Bước 4: Phát triển phần mềm nhúng sử dụng Nios II SBT
Sau khi khởi tạo hệ thống Nios II với SOPC Builder, ta có thể bắt đầu thiết kế các ứng dụng phần mềm sử dụng C/C++ với Nios II SBT. Altera cung cấp các
34
drivers và lớp trừu tượng phần cứng (HAL) cho các component – cho phép người sử dụng viết các chương trình Nios II nhanh hơn và độc lập với phần cứng mức thấp. Thêm vào đó, người dùng có thể thiết kế đồng thời tái sử dụng các thư viện sẵn có trong Nios II SBT.
Để tạo một project Nios II mới, Nios II SBT sẽ yêu cầu file .ptf từ SOPC Builder. Ta cũng cần có file .sof để cấu hình FPGA trước khi chạy và gỡ lỗi cho ứng dụng trên phần cứng.
Bước 5: Chạy và gỡ lỗi cho phần mềm trên kit
Phần mềm Nios II SBT cung cấp đầy đủ tiện ích cho việc nạp phần mềm xuống kit phát triển, chạy và gỡ lỗi chương trình trên phần cứng.
Bước 6: Cải thiện phần mềm và phần cứng
Sau khi chạy kiểm thử phần mềm trên kit phát triển, ta có thể sẽ nhận thấy hệ thống yêu cầu hiệu năng cao hơn. Trong trường hợp đó, người sử dụng có thể quay lại bước thiết kế phần mềm để cải thiện thuật toán. Đồng thời, ta cũng có thể thiết kế lại phần cứng bằng cách thêm các phần tử tăng tốc. Nếu ứng dụng cần thực hiện nhiều nhiệm vụ cùng một thời điểm, hệ thống có thể sử dụng hai hoặc nhiều vi xử lý hơn.