Custom instruction theo dạng mở rộng cho phép thực hiện nhiều chức năng khác nhau với một custom instruction duy nhất. Để làm được điều này, custom instruction sử dụng một chỉ số để xác định chức năng mà khối custom logic đang thực hiện. Do chỉ số này có đến 8 bit, nên về mặt lý thuyết người thiết kế có thể tích hợp 256 khối phần cứng có chức năng khác nhau vào chỉ một custom instruction. Tại một thời điểm chỉ có một chức năng được thực hiện. Hình 3.8 là ví dụ một sơ đồ khối của mạch đảo bit/byte/half_word (3 chức năng).
Hình 3.8 : Sơ đồ khối của mạch đảo bit/byte/half_word
GVHD : PGS.TS. NGUYỄN HỮU PHƯƠNG
Hình 3.8 là một ví dụ khá đơn giản cho custom instruction dạng mở rộng. Dữ liệu được nhận vào từ dataa, lúc đó cổng n sẽ xác định chức năng thực hiện cho dataa. Một bộ đa hợp được điều khiển bởi cổng n sẽ quyết định kết quả được lấy từ khối phần cứng nào. Tuy nhiên, trong thực tế, người thiết kế hệ thống có thể xác định chức năng hoạt động bằng chỉ số theo bất cứ cách nào phù hợp với thiết kế nhất. Custom instruction dạng mở rộng có thể là mạch tổ hợp hoặc tuần tự hoặc kết hợp cả 2 loại trên trong một custom instruction.
Cách hoạt động của cổng n cũng tương tự như dataa. Ví dụ như với một custom instruction dạng mạch tuần tự, vi xử lý Nios II sẽ xác nhận cổng n ở cạnh lên của xung clock đầu tiên khi tín hiệu start tích cực, sau đó giá trị ở cổng n sẽ được giữ nguyên trong suốt quá trình thực hiện. Các cổng khác có chức năng cũng tương tự như custom intruction dạng tuần tự.