Compare commits
3 commits
d9fafc7437
...
3957306d86
Author | SHA1 | Date | |
---|---|---|---|
![]() |
3957306d86 | ||
![]() |
a7e725ee99 | ||
![]() |
9d47e04a0c |
18 changed files with 25398 additions and 1051 deletions
|
@ -39,4 +39,5 @@ FIFO5 -> U -> Upstream
|
||||||

|

|
||||||
|
|
||||||
# TODO: delete line where header is compared to 1
|
# TODO: delete line where header is compared to 1
|
||||||
# TODO: do throttle (many same data points) testw
|
# TODO: do throttle (many same data points) testw
|
||||||
|
# TODO: run simulation again, observing router L5
|
|
@ -50,28 +50,6 @@ begin
|
||||||
end loop;
|
end loop;
|
||||||
end process;
|
end process;
|
||||||
|
|
||||||
-- g_L5_ROUT_DIR_PROC: if level = 5 generate
|
|
||||||
-- L5_get_rout_dir: process(rout_pos, packets)
|
|
||||||
-- variable pack_dest : t_pos_addr;
|
|
||||||
-- variable header : std_logic_vector(3 downto 0);
|
|
||||||
-- begin
|
|
||||||
-- for i in 0 to packets'length-1 loop
|
|
||||||
-- header := packets(i)(63 downto 60);
|
|
||||||
-- if header(0) = '1' then
|
|
||||||
-- pack_dest.chip_x := packets(i)(59 downto 55);
|
|
||||||
-- pack_dest.chip_y := packets(i)(54 downto 50);
|
|
||||||
-- pack_dest.core_x := packets(i)(49 downto 45);
|
|
||||||
-- pack_dest.core_y := packets(i)(44 downto 40);
|
|
||||||
-- pack_dest.copy_x := packets(i)(39 downto 35);
|
|
||||||
-- pack_dest.copy_y := packets(i)(34 downto 30);
|
|
||||||
-- dirs(i) <= L5_single_packet_rout_dir_det(level, pack_dest, rout_pos);
|
|
||||||
-- else
|
|
||||||
-- dirs(i) <= (others => '0');
|
|
||||||
-- end if;
|
|
||||||
-- end loop;
|
|
||||||
-- end process;
|
|
||||||
-- end generate;
|
|
||||||
|
|
||||||
rout_path_determination: process(packets, dirs, avai_paths)
|
rout_path_determination: process(packets, dirs, avai_paths)
|
||||||
variable sum_dirs : integer;
|
variable sum_dirs : integer;
|
||||||
variable j : integer;
|
variable j : integer;
|
||||||
|
@ -139,45 +117,55 @@ begin
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= dirs(i);
|
ps_dirs(i) <= dirs(i);
|
||||||
end if;
|
|
||||||
if avai_pos_sizes(j) > 0 then
|
|
||||||
avai_pos_sizes(j) := avai_pos_sizes(j)-1;
|
avai_pos_sizes(j) := avai_pos_sizes(j)-1;
|
||||||
end if;
|
end if;
|
||||||
-- 1 to 2 multicast
|
-- 1 to 2 multicast
|
||||||
elsif sum_dirs = 2 then
|
elsif sum_dirs = 2 then
|
||||||
if dirs(i)(2) = '1' and dirs(i)(4) = '1' then
|
if dirs(i)(1) = '1' and dirs(i)(3) = '1' then
|
||||||
if avai_pos_sizes(2) <= 0 or avai_pos_sizes(4) <= 0 then
|
|
||||||
ps_dirs(i) <= (others => '0');
|
|
||||||
else
|
|
||||||
ps_dirs(i) <= dirs(i);
|
|
||||||
end if;
|
|
||||||
elsif dirs(i)(1) = '1' and dirs(i)(3) = '1' then
|
|
||||||
if avai_pos_sizes(1) <= 0 or avai_pos_sizes(3) <= 0 then
|
if avai_pos_sizes(1) <= 0 or avai_pos_sizes(3) <= 0 then
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= dirs(i);
|
ps_dirs(i) <= dirs(i);
|
||||||
|
avai_pos_sizes(1) := avai_pos_sizes(1)-1;
|
||||||
|
avai_pos_sizes(3) := avai_pos_sizes(3)-1;
|
||||||
end if;
|
end if;
|
||||||
elsif dirs(i)(3) = '1' and dirs(i)(4) = '1' then
|
elsif dirs(i)(0) = '1' and dirs(i)(2) = '1' then
|
||||||
if avai_pos_sizes(3) <= 0 or avai_pos_sizes(4) <= 0 then
|
if avai_pos_sizes(0) <= 0 or avai_pos_sizes(2) <= 0 then
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= dirs(i);
|
ps_dirs(i) <= dirs(i);
|
||||||
|
avai_pos_sizes(0) := avai_pos_sizes(0)-1;
|
||||||
|
avai_pos_sizes(2) := avai_pos_sizes(2)-1;
|
||||||
|
end if;
|
||||||
|
elsif dirs(i)(2) = '1' and dirs(i)(3) = '1' then
|
||||||
|
if avai_pos_sizes(2) <= 0 or avai_pos_sizes(3) <= 0 then
|
||||||
|
ps_dirs(i) <= (others => '0');
|
||||||
|
else
|
||||||
|
ps_dirs(i) <= dirs(i);
|
||||||
|
avai_pos_sizes(2) := avai_pos_sizes(2)-1;
|
||||||
|
avai_pos_sizes(3) := avai_pos_sizes(3)-1;
|
||||||
end if;
|
end if;
|
||||||
--elsif dirs(i)(1) = '1' and dirs(i)(2) = '1' then
|
--elsif dirs(i)(1) = '1' and dirs(i)(2) = '1' then
|
||||||
else
|
else
|
||||||
if avai_pos_sizes(1) <= 0 or avai_pos_sizes(2) <= 0 then
|
if avai_pos_sizes(0) <= 0 or avai_pos_sizes(1) <= 0 then
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= dirs(i);
|
ps_dirs(i) <= dirs(i);
|
||||||
|
avai_pos_sizes(0) := avai_pos_sizes(0)-1;
|
||||||
|
avai_pos_sizes(1) := avai_pos_sizes(1)-1;
|
||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
-- 1 to 4 multicast
|
-- 1 to 4 multicast
|
||||||
elsif sum_dirs = 4 then
|
elsif sum_dirs = 4 then
|
||||||
if avai_pos_sizes(1) <= 0 or avai_pos_sizes(2) <= 0 or
|
if avai_pos_sizes(0) <= 0 or avai_pos_sizes(1) <= 0 or
|
||||||
avai_pos_sizes(3) <= 0 or avai_pos_sizes(4) <= 0 then
|
avai_pos_sizes(2) <= 0 or avai_pos_sizes(3) <= 0 then
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= dirs(i);
|
ps_dirs(i) <= dirs(i);
|
||||||
|
avai_pos_sizes(0) := avai_pos_sizes(0)-1;
|
||||||
|
avai_pos_sizes(1) := avai_pos_sizes(1)-1;
|
||||||
|
avai_pos_sizes(2) := avai_pos_sizes(2)-1;
|
||||||
|
avai_pos_sizes(3) := avai_pos_sizes(3)-1;
|
||||||
end if;
|
end if;
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
|
|
|
@ -63,7 +63,7 @@ begin
|
||||||
fifo_sel <= (others => '0');
|
fifo_sel <= (others => '0');
|
||||||
if wr_req = '1' then
|
if wr_req = '1' then
|
||||||
one := to_unsigned(1, DEPTH);
|
one := to_unsigned(1, DEPTH);
|
||||||
fifo_sel <= std_logic_vector(shift_left(one, to_integer(wr_ptr)));
|
fifo_sel <= std_logic_vector(shift_left(one, to_integer(wr_ptr(F_PTR_SIZE-2 downto 0))));
|
||||||
end if;
|
end if;
|
||||||
end process;
|
end process;
|
||||||
|
|
||||||
|
|
|
@ -140,45 +140,55 @@ begin
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= dirs(i);
|
ps_dirs(i) <= dirs(i);
|
||||||
end if;
|
|
||||||
if avai_pos_sizes(j) > 0 then
|
|
||||||
avai_pos_sizes(j) := avai_pos_sizes(j)-1;
|
avai_pos_sizes(j) := avai_pos_sizes(j)-1;
|
||||||
end if;
|
end if;
|
||||||
-- 1 to 2 multicast
|
-- 1 to 2 multicast
|
||||||
elsif sum_dirs = 2 then
|
elsif sum_dirs = 2 then
|
||||||
if dirs(i)(2) = '1' and dirs(i)(4) = '1' then
|
if dirs(i)(1) = '1' and dirs(i)(3) = '1' then
|
||||||
if avai_pos_sizes(2) <= 0 or avai_pos_sizes(4) <= 0 then
|
|
||||||
ps_dirs(i) <= (others => '0');
|
|
||||||
else
|
|
||||||
ps_dirs(i) <= dirs(i);
|
|
||||||
end if;
|
|
||||||
elsif dirs(i)(1) = '1' and dirs(i)(3) = '1' then
|
|
||||||
if avai_pos_sizes(1) <= 0 or avai_pos_sizes(3) <= 0 then
|
if avai_pos_sizes(1) <= 0 or avai_pos_sizes(3) <= 0 then
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= dirs(i);
|
ps_dirs(i) <= dirs(i);
|
||||||
|
avai_pos_sizes(1) := avai_pos_sizes(1)-1;
|
||||||
|
avai_pos_sizes(3) := avai_pos_sizes(3)-1;
|
||||||
end if;
|
end if;
|
||||||
elsif dirs(i)(3) = '1' and dirs(i)(4) = '1' then
|
elsif dirs(i)(0) = '1' and dirs(i)(2) = '1' then
|
||||||
if avai_pos_sizes(3) <= 0 or avai_pos_sizes(4) <= 0 then
|
if avai_pos_sizes(0) <= 0 or avai_pos_sizes(2) <= 0 then
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= dirs(i);
|
ps_dirs(i) <= dirs(i);
|
||||||
|
avai_pos_sizes(0) := avai_pos_sizes(0)-1;
|
||||||
|
avai_pos_sizes(2) := avai_pos_sizes(2)-1;
|
||||||
|
end if;
|
||||||
|
elsif dirs(i)(2) = '1' and dirs(i)(3) = '1' then
|
||||||
|
if avai_pos_sizes(2) <= 0 or avai_pos_sizes(3) <= 0 then
|
||||||
|
ps_dirs(i) <= (others => '0');
|
||||||
|
else
|
||||||
|
ps_dirs(i) <= dirs(i);
|
||||||
|
avai_pos_sizes(2) := avai_pos_sizes(2)-1;
|
||||||
|
avai_pos_sizes(3) := avai_pos_sizes(3)-1;
|
||||||
end if;
|
end if;
|
||||||
--elsif dirs(i)(1) = '1' and dirs(i)(2) = '1' then
|
--elsif dirs(i)(1) = '1' and dirs(i)(2) = '1' then
|
||||||
else
|
else
|
||||||
if avai_pos_sizes(1) <= 0 or avai_pos_sizes(2) <= 0 then
|
if avai_pos_sizes(0) <= 0 or avai_pos_sizes(1) <= 0 then
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= dirs(i);
|
ps_dirs(i) <= dirs(i);
|
||||||
|
avai_pos_sizes(0) := avai_pos_sizes(0)-1;
|
||||||
|
avai_pos_sizes(1) := avai_pos_sizes(1)-1;
|
||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
-- 1 to 4 multicast
|
-- 1 to 4 multicast
|
||||||
elsif sum_dirs = 4 then
|
elsif sum_dirs = 4 then
|
||||||
if avai_pos_sizes(1) <= 0 or avai_pos_sizes(2) <= 0 or
|
if avai_pos_sizes(0) <= 0 or avai_pos_sizes(1) <= 0 or
|
||||||
avai_pos_sizes(3) <= 0 or avai_pos_sizes(4) <= 0 then
|
avai_pos_sizes(2) <= 0 or avai_pos_sizes(3) <= 0 then
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= dirs(i);
|
ps_dirs(i) <= dirs(i);
|
||||||
|
avai_pos_sizes(0) := avai_pos_sizes(0)-1;
|
||||||
|
avai_pos_sizes(1) := avai_pos_sizes(1)-1;
|
||||||
|
avai_pos_sizes(2) := avai_pos_sizes(2)-1;
|
||||||
|
avai_pos_sizes(3) := avai_pos_sizes(3)-1;
|
||||||
end if;
|
end if;
|
||||||
else
|
else
|
||||||
ps_dirs(i) <= (others => '0');
|
ps_dirs(i) <= (others => '0');
|
||||||
|
|
|
@ -142,7 +142,7 @@ begin
|
||||||
end loop;
|
end loop;
|
||||||
end process;
|
end process;
|
||||||
|
|
||||||
packet_sm_out_gen: process(packet_states, rcv_buff_out, arb_complete)
|
packet_sm_out_gen: process(packet_states, rcv_buff_out, arb_complete, rd_data)
|
||||||
begin
|
begin
|
||||||
for i in 0 to TOT_NUM_PATHS-1 loop
|
for i in 0 to TOT_NUM_PATHS-1 loop
|
||||||
case packet_states(i) is
|
case packet_states(i) is
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,11 @@
|
||||||
# is external? | path | data
|
# is external? | path | data
|
||||||
0 272 0001000000000001110111100100010000000000000000000000000000000001 # origin: (11111-01011) --> dest: (01110-11110,00110-01110)
|
0 346 0001000000000010000011000100010001000000000000000000000000000001 # origin: (11100-00011) --> dest: (10000-01100,11000-11101)
|
||||||
0 863 0001000000000010100010111100111111000000000000000000000000000001 # origin: (01100-00000) --> dest: (10100-01011,00101-00000,10101-00001,11101-10111)
|
0 14 0001000000000011001011101010001001000000000000000000000000000001 # origin: (11100-11101) --> dest: (11001-01110,01101-00111)
|
||||||
|
0 459 0001000000000001100110101111111111000000000000000000000000000001 # origin: (10100-00110) --> dest: (01100-11010,01011-00010,01110-10100,11001-00001,01110-00100,00111-10001)
|
||||||
|
0 968 0001000000000001101110010000000000000000000000000000000000000001 # origin: (00101-00111) --> dest: (01101-11001)
|
||||||
|
0 535 0001000000000011101011110000000000000000000000000000000000000001 # origin: (01110-11000) --> dest: (11101-01111)
|
||||||
|
0 933 0001000000000001110010100000000000000000000000000000000000000001 # origin: (00011-01100) --> dest: (01110-01010)
|
||||||
|
0 665 0001000000000010000000001111111111000000000000000000000000000001 # origin: (00101-11010) --> dest: (10000-00000,01000-11100,10000-11000,10110-10110,10001-11011,10010-00110)
|
||||||
|
0 60 0001000000000000001000001111111111000000000000000000000000000001 # origin: (11001-11001) --> dest: (00001-00000,10111-00011,01110-01111,10000-11101)
|
||||||
|
0 798 0001000000000010110110111011111111000000000000000000000000000001 # origin: (01100-01001) --> dest: (10110-11011,10001-11110,00011-00101,10101-01110)
|
||||||
|
0 100 0001000000000011100101100000000000000000000000000000000000000001 # origin: (11011-10101) --> dest: (11100-10110)
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -37,6 +37,8 @@ architecture bench of noc_tb is
|
||||||
signal pe_rcv_acks : std_logic_vector(4**level-1 downto 0);
|
signal pe_rcv_acks : std_logic_vector(4**level-1 downto 0);
|
||||||
signal pe_send_reqs : std_logic_vector(4**level-1 downto 0);
|
signal pe_send_reqs : std_logic_vector(4**level-1 downto 0);
|
||||||
|
|
||||||
|
signal c_send_ack_nxt : std_logic_vector(4*num_paths_ext-1 downto 0);
|
||||||
|
signal pe_send_ack_nxt : std_logic_vector(4**level-1 downto 0);
|
||||||
signal c_send_reqs_prev : std_logic_vector(4*num_paths_ext-1 downto 0);
|
signal c_send_reqs_prev : std_logic_vector(4*num_paths_ext-1 downto 0);
|
||||||
signal pe_send_reqs_prev : std_logic_vector(4**level-1 downto 0);
|
signal pe_send_reqs_prev : std_logic_vector(4**level-1 downto 0);
|
||||||
|
|
||||||
|
@ -106,10 +108,8 @@ begin
|
||||||
arstN <= '0';
|
arstN <= '0';
|
||||||
data_chip_in <= (others => (others => '0'));
|
data_chip_in <= (others => (others => '0'));
|
||||||
c_rcv_reqs <= (others => '0');
|
c_rcv_reqs <= (others => '0');
|
||||||
c_send_ack <= (others => '0');
|
|
||||||
pe_data_in <= (others => (others => '0'));
|
pe_data_in <= (others => (others => '0'));
|
||||||
pe_rcv_reqs <= (others => '0');
|
pe_rcv_reqs <= (others => '0');
|
||||||
pe_send_ack <= (others => '0');
|
|
||||||
wait until rising_edge(clk);
|
wait until rising_edge(clk);
|
||||||
arstN <= '1';
|
arstN <= '1';
|
||||||
wait until rising_edge(clk);
|
wait until rising_edge(clk);
|
||||||
|
@ -152,7 +152,7 @@ begin
|
||||||
|
|
||||||
save_results: process(c_send_reqs, pe_send_reqs,
|
save_results: process(c_send_reqs, pe_send_reqs,
|
||||||
c_send_reqs_prev, pe_send_reqs_prev,
|
c_send_reqs_prev, pe_send_reqs_prev,
|
||||||
data_chip_out, pe_data_out)
|
data_chip_out, pe_data_out, pe_send_ack, c_send_ack)
|
||||||
variable istwert : WORD;
|
variable istwert : WORD;
|
||||||
variable istpath : integer;
|
variable istpath : integer;
|
||||||
begin
|
begin
|
||||||
|
@ -163,27 +163,46 @@ begin
|
||||||
istwert := data_chip_out(i);
|
istwert := data_chip_out(i);
|
||||||
istpath := i;
|
istpath := i;
|
||||||
log_test_result(i, istwert, '1', istpath);
|
log_test_result(i, istwert, '1', istpath);
|
||||||
c_send_ack(i) <= not c_send_ack(i);
|
c_send_ack_nxt(i) <= not c_send_ack(i);
|
||||||
|
else
|
||||||
|
c_send_ack_nxt(i) <= c_send_ack(i);
|
||||||
end if;
|
end if;
|
||||||
end loop;
|
end loop;
|
||||||
elsif pe_send_reqs'event or pe_send_reqs_prev'event then
|
else
|
||||||
|
for i in 0 to num_paths_ext*4-1 loop
|
||||||
|
c_send_ack_nxt(i) <= c_send_ack(i);
|
||||||
|
end loop;
|
||||||
|
end if;
|
||||||
|
|
||||||
|
if pe_send_reqs'event or pe_send_reqs_prev'event then
|
||||||
for i in 0 to 4**level-1 loop
|
for i in 0 to 4**level-1 loop
|
||||||
if (pe_send_reqs(i) = '0' and pe_send_reqs_prev(i) = '1') or
|
if (pe_send_reqs(i) = '0' and pe_send_reqs_prev(i) = '1') or
|
||||||
(pe_send_reqs(i) = '1' and pe_send_reqs_prev(i) = '0') then
|
(pe_send_reqs(i) = '1' and pe_send_reqs_prev(i) = '0') then
|
||||||
istwert := pe_data_out(i);
|
istwert := pe_data_out(i);
|
||||||
istpath := i;
|
istpath := i;
|
||||||
log_test_result(i, istwert, '0', istpath);
|
log_test_result(i, istwert, '0', istpath);
|
||||||
pe_send_ack(i) <= not pe_send_ack(i);
|
pe_send_ack_nxt(i) <= not pe_send_ack(i);
|
||||||
|
else
|
||||||
|
pe_send_ack_nxt(i) <= pe_send_ack(i);
|
||||||
end if;
|
end if;
|
||||||
end loop;
|
end loop;
|
||||||
|
else
|
||||||
|
for i in 0 to 4**level-1 loop
|
||||||
|
pe_send_ack_nxt(i) <= pe_send_ack(i);
|
||||||
|
end loop;
|
||||||
end if;
|
end if;
|
||||||
end process;
|
end process;
|
||||||
|
|
||||||
update_signals: process(clk)
|
update_signals: process(clk, arstN)
|
||||||
begin
|
begin
|
||||||
if rising_edge(clk) then
|
if arstN = '0' then
|
||||||
|
c_send_ack <= (others => '0');
|
||||||
|
pe_send_ack <= (others => '0');
|
||||||
|
elsif rising_edge(clk) then
|
||||||
c_send_reqs_prev <= c_send_reqs;
|
c_send_reqs_prev <= c_send_reqs;
|
||||||
pe_send_reqs_prev <= pe_send_reqs;
|
pe_send_reqs_prev <= pe_send_reqs;
|
||||||
|
c_send_ack <= c_send_ack_nxt;
|
||||||
|
pe_send_ack <= pe_send_ack_nxt;
|
||||||
end if;
|
end if;
|
||||||
end process;
|
end process;
|
||||||
end;
|
end;
|
|
@ -5,17 +5,15 @@ from utils import *
|
||||||
#sender_paths = [["01100","00000"]] # x,y
|
#sender_paths = [["01100","00000"]] # x,y
|
||||||
#recv_paths = [["00010","01110","11110","10011","10011","00000",
|
#recv_paths = [["00010","01110","11110","10011","10011","00000",
|
||||||
# "01101","01001","11011","11011","10101","01100"]]
|
# "01101","01001","11011","11011","10101","01100"]]
|
||||||
sender_paths, recv_paths = generate_random_send_recv_paths(2)
|
sender_paths, recv_paths = generate_random_send_recv_paths(10)
|
||||||
test_name = "random_pe_to_pe_test"
|
test_name = "random_pe_to_pe_test"
|
||||||
print(sender_paths)
|
|
||||||
print(recv_paths)
|
|
||||||
|
|
||||||
# constants
|
# constants
|
||||||
stimuli = "# is external? | path | data\n"
|
stimuli = "# is external? | path | data\n"
|
||||||
reference = ""
|
reference = ""
|
||||||
|
|
||||||
|
data_packet = 1
|
||||||
for p, path in enumerate(sender_paths):
|
for p, path in enumerate(sender_paths):
|
||||||
data_packet = 1
|
|
||||||
if len(path) == 2:
|
if len(path) == 2:
|
||||||
index_path = get_index_path(path[0], path[1])
|
index_path = get_index_path(path[0], path[1])
|
||||||
stimuli += "0 " + str(index_path) + " "
|
stimuli += "0 " + str(index_path) + " "
|
||||||
|
@ -28,7 +26,6 @@ for p, path in enumerate(sender_paths):
|
||||||
else:
|
else:
|
||||||
data_packet, stimuli, reference = gen_ref_for_mult_dir_multicast(
|
data_packet, stimuli, reference = gen_ref_for_mult_dir_multicast(
|
||||||
path, recv_paths[p], data_packet, stimuli, reference)
|
path, recv_paths[p], data_packet, stimuli, reference)
|
||||||
print(len(reference))
|
|
||||||
data_packet += 1
|
data_packet += 1
|
||||||
|
|
||||||
with open("stimuli.txt", "w") as f:
|
with open("stimuli.txt", "w") as f:
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,11 @@
|
||||||
# is external? | path | data
|
# is external? | path | data
|
||||||
0 272 0001000000000001110111100100010000000000000000000000000000000001 # origin: (11111-01011) --> dest: (01110-11110,00110-01110)
|
0 346 0001000000000010000011000100010001000000000000000000000000000001 # origin: (11100-00011) --> dest: (10000-01100,11000-11101)
|
||||||
0 863 0001000000000010100010111100111111000000000000000000000000000001 # origin: (01100-00000) --> dest: (10100-01011,00101-00000,10101-00001,11101-10111)
|
0 14 0001000000000011001011101010001001000000000000000000000000000001 # origin: (11100-11101) --> dest: (11001-01110,01101-00111)
|
||||||
|
0 459 0001000000000001100110101111111111000000000000000000000000000001 # origin: (10100-00110) --> dest: (01100-11010,01011-00010,01110-10100,11001-00001,01110-00100,00111-10001)
|
||||||
|
0 968 0001000000000001101110010000000000000000000000000000000000000001 # origin: (00101-00111) --> dest: (01101-11001)
|
||||||
|
0 535 0001000000000011101011110000000000000000000000000000000000000001 # origin: (01110-11000) --> dest: (11101-01111)
|
||||||
|
0 933 0001000000000001110010100000000000000000000000000000000000000001 # origin: (00011-01100) --> dest: (01110-01010)
|
||||||
|
0 665 0001000000000010000000001111111111000000000000000000000000000001 # origin: (00101-11010) --> dest: (10000-00000,01000-11100,10000-11000,10110-10110,10001-11011,10010-00110)
|
||||||
|
0 60 0001000000000000001000001111111111000000000000000000000000000001 # origin: (11001-11001) --> dest: (00001-00000,10111-00011,01110-01111,10000-11101)
|
||||||
|
0 798 0001000000000010110110111011111111000000000000000000000000000001 # origin: (01100-01001) --> dest: (10110-11011,10001-11110,00011-00101,10101-01110)
|
||||||
|
0 100 0001000000000011100101100000000000000000000000000000000000000001 # origin: (11011-10101) --> dest: (11100-10110)
|
||||||
|
|
|
@ -54,8 +54,6 @@ def get_multicast_reference(copy_x, copy_y, recv_path, packet):
|
||||||
else 0
|
else 0
|
||||||
y_poss_ind = y_poss_ind+1 if y_poss_ind+1 < len(y_poss_paths[i]) \
|
y_poss_ind = y_poss_ind+1 if y_poss_ind+1 < len(y_poss_paths[i]) \
|
||||||
else 0
|
else 0
|
||||||
print(copy_x)
|
|
||||||
print(copy_y)
|
|
||||||
reference = ""
|
reference = ""
|
||||||
for x_path, y_path in zip(x_paths, y_paths):
|
for x_path, y_path in zip(x_paths, y_paths):
|
||||||
index_path = get_index_path(x_path, y_path)
|
index_path = get_index_path(x_path, y_path)
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -19,12 +19,19 @@ with open("simulation.log", "r") as f:
|
||||||
for line in f:
|
for line in f:
|
||||||
results.append(line)
|
results.append(line)
|
||||||
|
|
||||||
|
all_test_passed = True
|
||||||
test_logs = []
|
test_logs = []
|
||||||
for result in results:
|
for ref in reference:
|
||||||
if result in reference:
|
if ref in results:
|
||||||
test_logs.append(result + "---> passed!")
|
test_logs.append(ref[:-1] + " ---> passed!")
|
||||||
else:
|
else:
|
||||||
test_logs.append(result + "---> failed!")
|
all_test_passed = False
|
||||||
|
test_logs.append(ref[:-1] + " ---> failed!")
|
||||||
|
|
||||||
|
if all_test_passed:
|
||||||
|
test_logs.append("All tests passed successfully :)")
|
||||||
|
else:
|
||||||
|
test_logs.append("One or more test failed :(")
|
||||||
|
|
||||||
with open("test.log", "w") as f:
|
with open("test.log", "w") as f:
|
||||||
for test_log in test_logs:
|
for test_log in test_logs:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue