Người thiết kế hệ thống có thể thiết kế các khối custom logic bằng cách sử dụng các định dạng chuẩn sau :
- Ngôn ngữ mô tả phần cứng : Verilog HDL, VHDL - Quartus II Block Design File (.bdf)
Bởi vì khối custom logic kết nối trực tiếp với ALU, nên nó cần các chuẩn giao tiếp được định nghĩa trước thông qua tên các cổng. Chương trình Nios Configuration Wizard sẽ tự động tìm kiếm các cổng này và kết nối khối custom logic với bộ ALU của Nios. Ngoài ra, custom instruction còn hỗ trợ thêm các đường kết nối trực tiếp ra các khối phần cứng bên ngoài như bộ nhớ, DSP . . . Các đường kết nối này nằm ngoài đường dữ liệu của Nios II.
GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG
Hình 3.3 : Các cổng giao tiếp của khối custom logic
Có rất nhiều loại custom instruction nhằm đáp ứng các yêu cầu đa dạng của người thiết kế. Tổng quát, người thiết kế hệ thống có thể thiết kế một khối custom logic theo một trong năm cách thức sau hoặc kết hợp các cách thức lại với nhau.
- Mạch tổ hợp - Mạch tuần tự
- Dạng mở rộng (một custom instruction nhưng nhiều chức năng) - Thanh ghi nội (sử dụng các thanh ghi nội cho các ngõ xuất/nhập)
- Giao tiếp ngoài (sử dụng các giao tiếp bên ngoài mà không thông qua đường dữ liệu Nios II).
Sau đây là bảng liệt kê các loại custom instruction, chức năng và các cổng giao tiếp :
GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG
Loại custom instruction Chức năng Cổng giao tiếp phần cứng
Mạch tổ hợp Khối custom logic chỉ sử
dụng 1 xung clock. dataa [31..0] datab [31..0]
result [31..0] Mạch tuần tự Khối custom logic sử dụng
nhiều xung clock. Số xung này có thể cố định hoặc thay đổi. dataa [31..0] datab [31..0] result [31..0] clk clk_en start reset done
Dạng mở rộng Khối custom logic có thể thực hiện nhiều chức năng khác nhau. Về mặt lý thuyết nó có thể được thiết kế để thực hiện 256 chức năng khác nhau. dataa [31..0] datab [31..0] result [31..0] clk clk_en start reset done n [7..0]
Thanh ghi nội Khối custom logic có thể truy xuất đến các thanh ghi bên trong cho các cổng xuất/nhập. dataa [31..0] datab [31..0] result [31..0] clk clk_en start reset done n [7..0] a [4..0] readra b [4..0] readrb c [4..0] writerc
GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG
Giao tiếp ngoài Khối custom logic có thể truy xuất đến các khối phần cứng bên ngoài Nios II mà không cần thông qua đường dữ liệu của Nios II
Các cổng giao tiếp chuẩn của custom instruction cộng với các cổng giao tiếp bên người do người thiết kế tự định nghĩa
Bảng 3.1 : Các loại custom instruction, chức năng và các cổng giao tiếp