1add_DRAM(Id) :- 2 is_list(Id), 3 (ID_GDDR0,INKIND_GDDR0,OUTKIND_GDDR0) = (["GDDR0" | Id],memory,memory), 4 (ID_RAMOUT,INKIND_RAMOUT,OUTKIND_RAMOUT) = (["RAMOUT" | Id],memory,memory), 5 (ID_DRAMMAP,INKIND_DRAMMAP,OUTKIND_DRAMMAP) = (["DRAMMAP" | Id],memory,memory), 6 assert(node_accept(ID_GDDR0,([block{base:0,limit:4276092927}]))), 7 assert(node_translate(ID_DRAMMAP,([block{base:0,limit:4276092927}]),ID_RAMOUT,([block{base:0,limit:4276092927}]))). 8 9add_SOCKET(Id) :- 10 is_list(Id), 11 (ID_LOCAL,INKIND_LOCAL,OUTKIND_LOCAL) = (["LOCAL" | Id],memory,memory), 12 (ID_LOCAL_SRC,INKIND_LOCAL_SRC,OUTKIND_LOCAL_SRC) = (["LOCAL_SRC" | Id],memory,memory), 13 ID_RAM = ["RAM" | Id], 14 assert(node_accept(ID_LOCAL,([block{base:0,limit:4276092927}]))), 15 (block_values([block{base:1,limit:2},block{base:10,limit:11}],IDL_x),(foreach(IDT_x,IDL_x),param(Id),param(ID_LOCAL),param(ID_LOCAL_SRC),param(ID_RAM) do 16 17 (block_values([block{base:10,limit:11}],IDL_y),(foreach(IDT_y,IDL_y),param(Id),param(ID_LOCAL),param(ID_LOCAL_SRC),param(ID_RAM),param(IDT_x) do 18 add_DRAM([[IDT_x,IDT_y] | ID_RAM]), 19 assert(node_overlay(["RAMOUT" | [[IDT_x,IDT_y] | ID_RAM]],ID_LOCAL)), 20 assert(node_translate(ID_LOCAL_SRC,([block{base:4096,limit:8192}]),["GDDR0" | [[IDT_x,IDT_y] | ID_RAM]],([block{base:4096,limit:8192}]))) 21 )) 22)). 23 24