Các bước thiết kế SoPC

Một phần của tài liệu Thực hiện sopc dò tìm chuyển động bằng phương pháp xử lý ảnh dựa trên kết cấu (Trang 36)

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

HV : CAO TRẦN BẢO THƯƠNG

Hình 2.8 : Các bước thiết kế SoPC

+•Khởi tạo một SoPC với Nios II làm trung tâm

+ Tích hợp các bộ điều khiển bộ nhớ (memory controller)

+ Lập trình các module với ngôn ngữ Verilog HDL/VHDL để tạo các thành phần logic

• + Thêm các thành phần vào SoPC builder

• + Kết nối các thành phần với nhau dùng Avalon bus • + Biên dịch SoPC

• + Lựa chọn chip trên FPGA, nối chân, biên dịch Quartus II • + Cấu hình xuống FPGA

Hầu hết các hệ thống được thiết kế với SoPC Builder đều yêu cầu cần phải có bộ nhớ. Ví dụ, một vi xử lý nhúng bất kỳ đều cần phải có bộ nhớ để lưu trữ mã lệnh (vùng nhớ lệnh) và dữ liệu (vùng nhớ dữ liệu). Một hệ thống xử lý tín hiệu số (DSP system) lại cần vùng nhớ đệm (buffer) để lưu trữ dữ liệu trước và sau khi xử lý. Hầu như mỗi hệ thống không chỉ có một loại bộ nhớ mà sử dụng nhiều loại

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

HV : CAO TRẦN BẢO THƯƠNG

bộ nhớ khác nhau trong thiết kế nhằm phục vụ cho nhiều mục đích khác nhau. Chẳng hạn, một hệ thống DSP dựa trên vi xử lý thì sẽ cần một bộ nhớ lưu trữ mã lệnh và một bộ nhớ làm vùng nhớ đệm cho dữ liệu. Người thiết kế có thể sử dụng SoPC Builder để tích hợp gần như tất cả các loại bộ nhớ vào hệ thống một cách dễ dàng. Hình 2.9 là sơ đồ khối một hệ thống được tích hợp nhiều loại bộ nhớ khác nhau thông qua các bộ điều khiển.

Hình 2.9 : Sơ đồ khối một hệ thống được tích hợp nhiều bộ nhớ

Sau khi đã tích hợp đầy đủ các loại bộ nhớ vào trong hệ thống, bước tiếp theo, người thiết kế có thể thêm vào các thành phần khác sử dụng các ngôn ngữ

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

HV : CAO TRẦN BẢO THƯƠNG

mô tả phần cứng như Verilog HDL hay VHDL. Sau đó, người thiết kế phải kết nối các thành phần này lại với nhau và cấu hình toàn bộ SoPC hoàn chỉnh. Trong bước này, khi thêm vào các thành phần không phải là bộ nhớ, người thiết kế phải xác định các cổng master và slave, địa chỉ cơ bản và xung clock hoạt động.

Tiếp theo, ở mức thiết kế trên Quartus II, người thiết kế phải tích hợp SoPC thành một phần trong project của Quartus II, bao gồm việc nối dây giữa SoPC với các chân của FPGA, xây dựng các kết nối giữa SoPC với các khối phần cứng khác trên Quartus II. Và cuối cùng là kết nối các chân vật lý của FPGA đến các bộ nhớ ngoài.

Chương 3

CUSTOM INSTRUCTION CHO NIOS II

Với vi xử lý nhúng Nios II của hãng Altera, người thiết kế hệ thống có thể dễ dàng cài đặt các thuật toán của mình bằng cách thêm vào các custom instruction trong tập lệnh chuẩn của Nios II. Điều này làm tăng khả năng thực hiện cũng như giảm thiểu thời gian xử lý cho một giải thuật phức tạp. Với custom instruction, người thiết kế hệ thống thay vì phải lập trình thực hiện một chuỗi các lệnh chuẩn của Nios trên phần mềm thì bây giờ chỉ cần một lệnh duy nhất thực hiện trên phần cứng. Người thiết kế hệ thống có thể tự thiết kế các custom instruction thực hiện các lệnh xử lý phức tạp trong nhiều chu kỳ hoặc chỉ một chu kỳ xung clock duy nhất. Hơn nữa, các custom instruction có thể truy xuất tới bộ nhớ cũng như các khối logic ngoài Nios II.

Với việc thiết kế các custom instruction, người thiết kế đã thay thế một chuỗi các lệnh cơ bản thực hiện bên trong Nios II bằng một lệnh duy nhất với các khối phần cứng liên quan. Điều này thực sự làm giảm độ phức tạp của mã lệnh (code) và tăng khả năng thực thi của hệ thống. Người thiết kế có thể sử dụng custom instruction cho nhiều mục đích khác nhau, ví dụ cụ thể nhất chính là tối ưu các vòng lặp được thực hiện trong xử lý tín hiệu số hay các ứng dụng xử lý ảnh, video có khối lượng tính toán rất lớn. Đối với Nios II của hãng Altera, với

GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG

phần mềm SoPC Builder cùng giao diện đồ họa thân thiện, người thiết kế hệ thống có thể cấu hình các đặc trưng cho Nios II với số custom instruction được thêm vào lên đến 256 lệnh.

Một phần của tài liệu Thực hiện sopc dò tìm chuyển động bằng phương pháp xử lý ảnh dựa trên kết cấu (Trang 36)