Từ Hình 3.11 ta thấy, tại thời điểm 51 ns xung clock thay đổi trạng thái từ „0‟ lên „1‟, các tín hiệu O_accept0 bằng „1‟, O_send0 bằng „1‟, còn O_send1 bằng „0‟ có
phát bắt đầu có dữ liệu “1000000000000000000000000000000001”, với bit đầu tiên gạch chân (BOP: Begin Of Packet) mang giá trị „1‟, chứng tỏ đây là flit tiêu đề (header flit) của gói tin. Flit này được truyền tới bộ định tuyến (Router) qua cổng IP, tại đây bộ định tuyến căn cứ vào hai bit cuối của trường thông tin định tuyến (path-to-target) xác định hướng đi tiếp theo của gói. Vì hai bit cuối cùng của trường này là “01” nên bộ định tuyến quyết định đưa flit này ra cổng phía Đông đồng thời dịch hai bit này sang phải và thêm hai bit “00” vào đầu trường thông tin định tuyến. Khi đó tại lối ra O_data_e flit tiêu đề có giá trị “1000000000000000000000000000000000” (ở thời điểm 53 ns). Cũng tại thời điểm này, xung clock thay đổi trạng thái từ „0‟ lên „1‟, các tín hiệu I_send0, I_accept0 đều ở mức „1‟ và I_data nhận được flit đầu tiên. Khi flit tiêu đề được truyền đến nơi nhận cũng là lúc kênh truyền từ IP phát qua Router tới IP nhận được thiết lập. Vì sử dụng cơ chế truyền thông Wormhole nên khi kênh truyền được thiết lập thì các flit tiếp theo sẽ lần lượt được truyền trên kênh vừa thiết lập. Thật vậy, tại thời điểm 57 ns khi các tín hiệu O_send0, O_accept0 đều ở mức „1‟ và tại sườn dương của xung clock, IP phát truyền flit thứ hai (flit dữ liệu) trên tín hiệu O_data, qua bộ định tuyến ra lối ra O_data_e (tại thời điểm 59 ns) và truyền tới IP nhận. Quá trình truyền các flit tương tự như trên cho đến flit cuối cùng. Tại thời điểm 93 ns, IP phát truyền flit cuối cùng của gói (trên kênh ảo 0) và tại 95 ns thì IP nhận nhận được flit cuối cùng. Tương tự như vậy đối với truyền dữ liệu trên kênh ảo 1, chỉ khác khi làm việc với kênh ảo 1 thì các tín hiệu bắt tay là O_send1 và O_accept1. Qua đây ta thấy, việc truyền và nhận các flit trong gói tin luôn tuân theo giao thức bắt tay (send-accept). Dữ liêu chỉ được truyền và nhận khi cả tín hiệu send và accept đều ở mức „1‟ và để đảm bảo đồng bộ kết hợp với sườn dương xung clock. Theo giao thức này tại một thời điểm chỉ có một kênh ảo được làm việc.
3.5.2. Mô hình hóa, mô phỏng trên hai bộ định tuyến
Tương tự như trên ta xây dựng môi trường kiểm tra, mô phỏng chức năng hoạt động của hai bộ định tuyến kết nối với nhau và kết nối với hai lõi IP phát và IP nhận (testbench) như Hình 3.12. Testbench cũng bao gồm 3 khối chính: Khối thứ nhất và khối thứ 3 (là một lõi IP có thể thực hiện chức năng phát và nhận) là các lõi xử lý đơn giản được xây dựng với mục đích tạo ra các gói dữ liệu để truyền trên mạng và tiêu thụ các gói dữ liệu nếu nhận được. Khối thứ hai là hệ thống cần kiểm tra gồm hai bộ định tuyến (Router00 và Router01), các bộ định tuyến này đã được thực thi tại phòng thí nghiệm SIS với 5 cặp cổng vào/ra. Mô hình này thực hiện truyền liên tiếp hai gói tin (mỗi gói 8 flit, trong đó một flit tiêu đề, một flit kết thúc và sáu flit dữ liệu), một gói trên kênh ảo 0 còn một gói trên kênh ảo 1.
Testbench IP nhận E Mạch kiểm tra IP E
Lõi IP00 Lõi IP01
IP phát E Router00 IP nhận Router01 IP phát