Đối với cách thức thiết kế này (hình 3.6), khối custom logic phải có cả cổng dữ liệu và các cổng điều khiển. Các tín hiệu điều khiển làm nhiệm vụ nhận biết và điều khiển trạng thái trong của khối custom logic, đồng bộ hoạt động của khối này với Nios II. Khi người thiết kế thêm vào một custom instruction theo cách thức thiết kế này thì phải khai báo số chu kỳ clock cần thiết để mạch hoạt động. Số chu kỳ clock có thể cố định hoặc thay đổi. Nếu số chu kỳ clock là cố định, người thiết kế phải khai báo khi thiết kế custom instruction. Kết quả sẽ được trả về sau một khoảng thời gian tương ứng với số chu kỳ clock này. Nếu số chu kỳ clock thay đổi, các tín hiệu start và done sẽ là các tín hiệu bắt tay giữa cusom instruction và Nios II để xác định khi nào kết quả trả về có giá trị đúng.
GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG
Hình 3.6 : Sơ đồ khối custom instruction theo dạng tuần tự
Bảng sau liệt kê các cổng và mục đích của chúng trong custom instruction dạng tuần tự:
Tên cổng Độ rộng bus Hướng Mô tả
clk 1 nhập Xung clock hệ thống NiosII reset 1 nhập Reset bất đồng bộ của NiosII clk_en 1 nhập Cho phép clock vào
start 1 nhập Cho phép hoạt động
done 1 xuất Custom instruction đã thực hiện xong
Bảng 3.3 : Các cổng cho cách thức thiết kế theo dạng mạch tuần tự
CPU sẽ xác nhận tín hiệu start trong chu kỳ clock đầu tiên để khối custom logic có thể thực thi. Lúc đó, dataa và datab có có giá trị nhất định. Sau đó Nios II sẽ chờ với số chu kỳ xung clock đã được định nghĩa trước rồi đọc kết quả từ tín hiệu result hoặc nó sẽ chờ tín hiệu done được bật lên để đọc giá trị kết quả trả về (hình 3.7).
GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG
Hình 3.7 : Giản đồ thời gian custom instruction theo dạng tuần tự