Lines Matching refs:block

15 % IBlock [block{..}, block{...}]
16 % Block = [kind, [block{..}, block{..}]]
28 % block_meta(NodeId, Bits, OutNodeId) -- Metadata for block reconfigurable nodes
29 % block_conf(NodeId, VPN, PPN) -- For block reconfigurable nodes
40 :- export struct(block(base,limit)).
58 Reg = region{blocks: [_, [block{base: B, limit: L}]]},
69 not(state_query(S, mapping(region{node_id:NodeId,blocks:[_,[block{base:Min}]]}, _))),
73 Reg = region{blocks: [_, [block{base: B, limit: L}]]},
87 region{node_id: ["IN"], blocks: [memory, [block{base:100, limit:200}]]},
90 region{node_id: ["Dummy"], blocks: [memory, [block{base:7, limit:77}]]},
104 region{node_id: ["IN"], blocks: [memory, [block{base:100, limit:200}]]},
107 region{node_id: ["Dummy"], blocks: [memory, [block{base:7, limit:77}]]},
131 SrcRegion = region{blocks:[memory, [block{base: Base, limit: Limit}]]},
139 region{node_id:["In"], blocks:[memory, [block{base:1000,limit:2000}]]},
149 region{node_id:["In"], blocks:[memory, [block{base:1000,limit:2000}]]},
152 region{node_id:["In"], blocks:[memory, [block{base:0,limit:999}]]},
156 region{node_id:["In"], blocks:[memory, [block{base:2001,limit:Inf1}]]},
171 %%% ["In"], [memory, [block{base:1000,limit:2000}]],
172 %%% ["Out1"], [memory, [block{base:0,limit:1000}]])),
205 iblock_match(A, block{base: B, limit: L}) :-
209 iblock_nomatch(A, block{base: B, limit: L}) :-
220 % Union of blocks. [block{base:0,limit:5},block{base:33,limit:35}] -> 0,1,..,5,33,..,35
316 block{
328 A = block{base:ABase, limit: ALimit},
329 B = block{base:BBase, limit: BLimit},
344 A = block{base:ABase, limit: ALimit},
345 B = block{base:BBase, limit: BLimit},
350 (ABase =< BBase, BBase =< ALimit, I = block{base: BBase, limit: ALimit}) ;
353 (ABase =< BLimit, BLimit =< ALimit, I = block{base: ABase, limit: BLimit})
366 A1 = region{node_id:["ID"], blocks:[memory, [block{base: 50, limit: 100}]]},
367 B1 = region{node_id:["ID"], blocks:[memory, [block{base: 0, limit: 200}]]},
369 A2 = region{node_id:["ID"], blocks:[memory, [block{base: 50, limit: 100}]]},
370 B2 = region{node_id:["ID"], blocks:[memory, [block{base: 75, limit: 200}]]},
371 I2 = region{node_id:["ID"], blocks:[memory, [block{base: 75, limit: 100}]]},
373 A3 = region{node_id:["ID"], blocks:[memory, [block{base: 50, limit: 100}]]},
374 B3 = region{node_id:["ID"], blocks:[memory, [block{base: 0, limit: 75}]]},
375 I3 = region{node_id:["ID"], blocks:[memory, [block{base: 50, limit: 75}]]},
377 A4 = region{node_id:["ID"], blocks:[memory, [block{base: 0, limit: 100}]]},
378 B4 = region{node_id:["ID"], blocks:[memory, [block{base: 200, limit: 300}]]},
390 block{
401 block{
425 block{
444 SrcBlock = block{base:SrcBase},
449 iaddr_iblock_map([1],[block{base:0, limit:1024}], Dst, [100]),
452 %% Convert from region (encoded as block) to names
456 blocks: Blocks % Blocks = [Kind, [block{...},block{...}]]
474 Block = block{
513 [memory, [block{base:0, limit:1024}]],
545 S = [accept(region{node_id:["In"], blocks: [memory, [block{base: 50, limit:100}]]})],
549 S = [accept(region{node_id:["In"], blocks: [memory, [block{base: 50, limit:100}]]})],
550 accept_region(S, region{node_id:["In"], blocks: [memory, [block{base:75, limit:80}]]}).
560 % one translate src block.
575 % TODO: Only works if SrcRegion matches exactly a Configuration block.
578 SrcRegion = region{node_id: SrcId, blocks: [Kind, [block{base: SrcB, limit: SrcL}]]},
580 DstRegion = region{node_id: OutNodeId, blocks: [Kind, [block{base: DestB, limit: DestL}]]},
590 SrcRegion = region{node_id: SrcId, blocks: [Kind, [block{base: SrcB, limit: SrcL}]]},
618 SrcRegion = region{node_id: ["IN"], blocks: [memory, [block{base:Base, limit:Limit}]]},
622 Out2 = region{node_id:["OUT"], blocks: [memory, [block{base:TestBase}]]},
632 SrcRegion = region{node_id: ["IN"], blocks: [memory, [block{base:Base, limit:Limit}]]},
636 %Out2 = region{node_id:["OUT"], blocks: [memory, [block{base:TestBase}]]},
656 % The simple case: everything falls into one translate block
659 region{node_id: ["IN"], blocks: [memory, [block{base:0, limit:100}]]},
664 region{node_id:["IN"], blocks: [memory, [block{base:50, limit: 70}]]},
666 Out = [region{node_id:["OUT"], blocks: [memory, [block{base:51, limit: 71}]]}].
673 region{node_id: ["IN"], blocks: [memory, [block{base:0, limit:100}]]},
676 region{node_id: ["IN"], blocks: [memory, [block{base:200, limit:300}]]},
679 region{node_id: ["IN"], blocks: [memory, [block{base:400, limit:500}]]},
684 region{node_id:["IN"], blocks: [memory, [block{base:50, limit: 450}]]},
692 blocks: [memory, [block{base:0, limit:100}]]
707 region{node_id:["In"], blocks:[memory, [block{base:1000,limit:2000}]]},
711 % Test the translate block
725 % make sure no within block translation to overlay exists
735 region{node_id:["In"], blocks:[memory, [block{base:1000,limit:2000}]]},
738 region{node_id:["In2"], blocks:[memory, [block{base:2000,limit:3000}]]},
742 % Test the translate block
779 region{node_id:["In"], blocks: [memory, [block{base:1000,limit:2000}]]},
782 accept(region{node_id:["Out1"], blocks: [memory,[block{base:0, limit:2000}]]}),
783 accept(region{node_id:["Out2"], blocks: [memory,[block{base:0, limit:2000}]]})
785 % Hit the translate block
797 region{node_id: ["In1"], blocks: [memory, [block{base:1000,limit:2000}]]},
800 region{node_id:["In2"], blocks:[memory, [block{base:6000,limit:7000}]]},
802 accept(region{node_id:["Out1"], blocks: [memory,[block{base:0, limit:2000}]]})
816 ["In1"], [memory, [block{base:1000,limit:2000}]],
817 ["Out1"], [memory, [block{base:0,limit:1000}]])),
819 ["In2"], [memory, [block{base:6000,limit:7000}]],
820 ["Out1"], [memory, [block{base:0,limit:1000}]])),
821 assert(node_accept(["Out1"], [memory,[block{base:0, limit:2000}]])),
822 InRegion = region{node_id:["In1"], blocks:[memory, [block{base:1000, limit:1500}]]},
923 Block = block{base:Base, limit: Limit}.
958 % Mark IOMMU block remappable
970 assert(node_translate_dyn(PCIBUS_ID, [memory,[block{base:1024,limit:2048}]], PCIIN_ID, [memory, [block{base:1024,limit:2048}]])).
996 % Mark MMU block remappable
1008 state_add(S5, in_use(["OUT", "PROC0" | Id], [memory, [block{base:0, limit: Limit}]]), NewS).
1021 block_address_gt([memory, [block{limit: -1}]], Out), % TODO: Works only for 1 Dim addr.
1078 UsedBlock = block{
1098 state_remove(S, in_use(NodeId, [memory, [block{base: Base}]]), NewS).
1145 ResRegion = region{blocks: [memory, [block{base:Base, limit: Limit}]]},
1165 ResRegion = region{blocks: [memory, [block{base:Base, limit: Limit}]]},
1185 R1 = region{node_id: N1Id, blocks: [memory, [block{base:R1Addr}]]},
1186 R2 = region{node_id: N2Id, blocks: [memory, [block{base:R2Addr}]]},
1187 Dest = region{node_id: DestId, blocks: [memory, [block{base:DestAddr}]]},
1205 R1 = region{node_id: N1Id, blocks: [memory, [block{base:R1Addr}]]},
1206 R2 = region{node_id: N2Id, blocks: [memory, [block{base:R2Addr}]]},
1208 ResR = region{blocks: [memory, [block{base:ResRAddr}]]},
1260 % As of now, block remappable implies that the node is one dimension
1315 % In a translate block?
1326 ["In"], [memory, [block{base:1000,limit:2000}]],
1327 ["Out1"], [memory, [block{base:0,limit:1000}]])),
1345 % In this case, we can assume, there is no block map existing,
1346 % But, we have to check if the node supports block mapping, then
1355 % block this should be ensured by the block splitting of the region route
1377 % Great, SrcRegion fits completly in translate block
1387 % Only allow this if the block has to be split
1390 % Route first block
1456 region{node_id: ["IN"], blocks: [memory, [block{base:0, limit:Upper}]]},
1459 accept(region{node_id: ["RAM"], blocks: [memory, [block{base:0, limit: Upper}]]})
1464 [region{node_id:["IN"], blocks: [memory, [block{base:0, limit: Limit2M}]]}],
1466 OutRegions = [region{node_id:["RAM"], blocks: [memory, [block{base:0, limit: Limit2M}]]}],
1509 assert(node_accept(["OUT"], [memory, [block{base:0, limit:100000}]])),
1511 region{node_id:["IN"], blocks:[memory,[block{base:0, limit:1000}]]},
1512 region{node_id:["OUT"], blocks:[memory,[block{base: 0, limit: 1000}]]},
1524 assert(node_accept(["OUT"], [memory, [block{base:0, limit:4194303}]])),
1526 region{node_id:["IN"], blocks:[memory,[block{base:0, limit:Limit}]]},
1527 region{node_id:["OUT"], blocks:[memory,[block{base: 0, limit: Limit}]]},
1544 % It is possible, to remap SrcName to DstName using the block remapping?