summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/simple/Network_Files/GarnetFileMaker.py
blob: b47bb0161de74e5580ffdc4132f8efe03bd85f3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/s/std/bin/python
import sys, os, string, re, math

rows = 0
cols =0

if len(sys.argv) == 3:
    rows = int(sys.argv[1])
    cols = int(sys.argv[2])
else:
    sys.stderr.write("usage : GarnetFileMaker.py <rows> <cols> \n\n")

banks = rows*cols
bank = 0
while bank < banks:
    sys.stdout.write("ext_node:L1Cache:%d int_node:%d link_latency:1 \n" % (bank, bank))
    sys.stdout.write("ext_node:L2Cache:%d int_node:%d link_latency:1 \n" % (bank, bank))
    bank += 1

sys.stdout.write("\n")

col = 0
while col < cols:
    row = 1
    bank = col*rows
    while row < rows:
        sys.stdout.write("int_node:%d int_node:%d link_latency:1 link_weight:1\n" % (bank, bank+1))
        bank += 1
        row += 1
    sys.stdout.write("\n")
    col += 1

sys.stdout.write("\n")

row = 0
while row < rows:
    col = 1
    bank = row
    while col < cols:
        sys.stdout.write("int_node:%d int_node:%d link_latency:1 link_weight:2\n" % (bank, rows+bank))
        bank += rows
        col += 1
    sys.stdout.write("\n")
    row += 1