mirror of https://github.com/openXC7/prjxray.git
Use decimal numbers in bit labels, some other cleanups
Signed-off-by: Clifford Wolf <clifford@clifford.at> Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
This commit is contained in:
parent
93914d0e94
commit
73c5f22931
|
|
@ -14,7 +14,7 @@ $(SPECIMENS_OK):
|
|||
touch $@
|
||||
|
||||
clean:
|
||||
rm -rf $(SPECIMENS) tilegrid.json
|
||||
rm -rf specimen_[0-9][0-9][0-9]/ tilegrid.json
|
||||
|
||||
.PHONY: database pushdb clean
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ $(SPECIMENS_OK):
|
|||
touch $@
|
||||
|
||||
clean:
|
||||
rm -rf $(SPECIMENS) seg_clbll.segbits seg_clblm.segbits
|
||||
rm -rf specimen_[0-9][0-9][0-9]/ seg_clbll.segbits seg_clblm.segbits
|
||||
|
||||
.PHONY: database pushdb clean
|
||||
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ with open("design_%s.bits" % sys.argv[1], "r") as f:
|
|||
for line in f:
|
||||
line = line.split("_")
|
||||
bit_frame = int(line[1], 16)
|
||||
bit_wordidx = int(line[2], 16)
|
||||
bit_bitidx = int(line[3], 16)
|
||||
bit_wordidx = int(line[2], 10)
|
||||
bit_bitidx = int(line[3], 10)
|
||||
base_frame = bit_frame & ~0x7f
|
||||
|
||||
if base_frame not in bits:
|
||||
|
|
@ -65,7 +65,7 @@ for tilename, tiledata in grid["tiles"].items():
|
|||
segments = segments_by_type[segdata["type"]]
|
||||
|
||||
tile_type = tiledata["type"]
|
||||
segname = "%s_%02x" % (segdata["baseaddr"][0][2:], segdata["baseaddr"][1])
|
||||
segname = "%s_%03d" % (segdata["baseaddr"][0][2:], segdata["baseaddr"][1])
|
||||
|
||||
if not segname in segments:
|
||||
segments[segname] = { "bits": list(), "tags": dict() }
|
||||
|
|
@ -97,7 +97,7 @@ for tilename, tiledata in grid["tiles"].items():
|
|||
if wordidx not in bits[base_frame]:
|
||||
continue
|
||||
for bit_frame, bit_wordidx, bit_bitidx in bits[base_frame][wordidx]:
|
||||
segments[segname]["bits"].append("%02x_%02x_%02x" % (bit_frame - base_frame, bit_wordidx - segdata["baseaddr"][1], bit_bitidx))
|
||||
segments[segname]["bits"].append("%02d_%02d" % (bit_frame - base_frame, 32*(bit_wordidx - segdata["baseaddr"][1]) + bit_bitidx))
|
||||
|
||||
segments[segname]["bits"].sort()
|
||||
|
||||
|
|
@ -111,6 +111,8 @@ for segtype in segments_by_type.keys():
|
|||
with open("segdata_%s_%s.txt" % (segtype, sys.argv[1]), "w") as f:
|
||||
segments = segments_by_type[segtype]
|
||||
for segname, segdata in sorted(segments.items()):
|
||||
if len(segdata["tags"]) == 0:
|
||||
continue
|
||||
print("seg %s" % segname, file=f)
|
||||
for bitname in sorted(segdata["bits"]):
|
||||
print("bit %s" % bitname, file=f)
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ $(SPECIMENS_OK):
|
|||
touch $@
|
||||
|
||||
clean:
|
||||
rm -rf $(SPECIMENS) seg_clbll.segbits seg_clblm.segbits
|
||||
rm -rf specimen_[0-9][0-9][0-9]/ seg_clbll.segbits seg_clblm.segbits
|
||||
|
||||
.PHONY: database pushdb clean
|
||||
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ with open("design_%s.bits" % sys.argv[1], "r") as f:
|
|||
for line in f:
|
||||
line = line.split("_")
|
||||
bit_frame = int(line[1], 16)
|
||||
bit_wordidx = int(line[2], 16)
|
||||
bit_bitidx = int(line[3], 16)
|
||||
bit_wordidx = int(line[2], 10)
|
||||
bit_bitidx = int(line[3], 10)
|
||||
base_frame = bit_frame & ~0x7f
|
||||
|
||||
if base_frame not in bits:
|
||||
|
|
@ -66,7 +66,7 @@ for tilename, tiledata in grid["tiles"].items():
|
|||
segments = segments_by_type[segdata["type"]]
|
||||
|
||||
tile_type = tiledata["type"]
|
||||
segname = "%s_%02x" % (segdata["baseaddr"][0][2:], segdata["baseaddr"][1])
|
||||
segname = "%s_%03d" % (segdata["baseaddr"][0][2:], segdata["baseaddr"][1])
|
||||
|
||||
if not segname in segments:
|
||||
segments[segname] = { "bits": list(), "tags": dict() }
|
||||
|
|
@ -97,7 +97,7 @@ for tilename, tiledata in grid["tiles"].items():
|
|||
if wordidx not in bits[base_frame]:
|
||||
continue
|
||||
for bit_frame, bit_wordidx, bit_bitidx in bits[base_frame][wordidx]:
|
||||
segments[segname]["bits"].append("%02x_%02x_%02x" % (bit_frame - base_frame, bit_wordidx - segdata["baseaddr"][1], bit_bitidx))
|
||||
segments[segname]["bits"].append("%02d_%02d" % (bit_frame - base_frame, 32*(bit_wordidx - segdata["baseaddr"][1]) + bit_bitidx))
|
||||
|
||||
segments[segname]["bits"].sort()
|
||||
|
||||
|
|
@ -111,6 +111,8 @@ for segtype in segments_by_type.keys():
|
|||
with open("segdata_%s_%s.txt" % (segtype, sys.argv[1]), "w") as f:
|
||||
segments = segments_by_type[segtype]
|
||||
for segname, segdata in sorted(segments.items()):
|
||||
if len(segdata["tags"]) == 0:
|
||||
continue
|
||||
print("seg %s" % segname, file=f)
|
||||
for bitname in sorted(segdata["bits"]):
|
||||
print("bit %s" % bitname, file=f)
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ for segtype in segbits.keys():
|
|||
print("<tr>", file =f)
|
||||
print("<th align=\"right\"><span style=\"font-size:10px\">%d</span></th>" % bitidx, file =f)
|
||||
for frameidx in range(segframes[segtype]):
|
||||
bit_pos = "%02x_%02x_%02x" % (frameidx, bitidx // 32, bitidx % 32)
|
||||
bit_pos = "%02d_%02d" % (frameidx, bitidx)
|
||||
bit_name = segbits_r[segtype][bit_pos] if bit_pos in segbits_r[segtype] else None
|
||||
|
||||
label = " "
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ CXXFLAGS = -Wall -Wextra -O3
|
|||
all: bitread segmatch
|
||||
|
||||
bitread: bitread.cc
|
||||
clang $(CXXFLAGS) -static -std=c++11 -o $@ $< -lstdc++
|
||||
clang $(CXXFLAGS) -std=c++11 -o $@ $< -lstdc++
|
||||
|
||||
segmatch: segmatch.cc
|
||||
clang $(CXXFLAGS) -static -std=c++11 -o $@ $< -lstdc++
|
||||
clang $(CXXFLAGS) -std=c++11 -o $@ $< -lstdc++
|
||||
|
||||
clean:
|
||||
rm -f bitread segmatch
|
||||
|
|
|
|||
|
|
@ -289,10 +289,10 @@ help:
|
|||
fprintf(stderr, " skip zero frames (frames with all bits cleared) in outout\n");
|
||||
fprintf(stderr, "\n");
|
||||
fprintf(stderr, " -x\n");
|
||||
fprintf(stderr, " use format 'bit_%%08x_%%02x_%%02x_t%%d_h%%d_r%%d_c%%d_m%%d_w%%d_b%%d'\n");
|
||||
fprintf(stderr, " use format 'bit_%%08x_%%03d_%%02d_t%%d_h%%d_r%%d_c%%d_m%%d'\n");
|
||||
fprintf(stderr, "\n");
|
||||
fprintf(stderr, " -y\n");
|
||||
fprintf(stderr, " use format 'bit_%%08x_%%02x_%%02x'\n");
|
||||
fprintf(stderr, " use format 'bit_%%08x_%%03d_%%02d'\n");
|
||||
fprintf(stderr, "\n");
|
||||
fprintf(stderr, " -p\n");
|
||||
fprintf(stderr, " output a binary netpgm image\n");
|
||||
|
|
@ -311,15 +311,13 @@ help:
|
|||
fprintf(stderr, "\n");
|
||||
fprintf(stderr, "In -x format the fields have the following meaning:\n");
|
||||
fprintf(stderr, " - complete 32 bit hex frame id\n");
|
||||
fprintf(stderr, " - hex word index within that frame\n");
|
||||
fprintf(stderr, " - hex bit index within that word\n");
|
||||
fprintf(stderr, " - word index with that frame (decimal)\n");
|
||||
fprintf(stderr, " - bit index with that word (decimal)\n");
|
||||
fprintf(stderr, " - decoded frame type from frame id\n");
|
||||
fprintf(stderr, " - decoded top/botttom from frame id (top=0)\n");
|
||||
fprintf(stderr, " - decoded row address from frame id\n");
|
||||
fprintf(stderr, " - decoded column address from frame id\n");
|
||||
fprintf(stderr, " - decoded minor address from frame id\n");
|
||||
fprintf(stderr, " - word index with that frame (decimal)\n");
|
||||
fprintf(stderr, " - bit index with that word (decimal)\n");
|
||||
fprintf(stderr, "\n");
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -575,11 +573,11 @@ help:
|
|||
for (int k = 0; k < 32; k++)
|
||||
if ((i != 50 || chksum) && ((it.second.at(i) & (1 << k)) != 0)) {
|
||||
if (mode_x)
|
||||
fprintf(f, "bit_%08x_%02x_%02x_t%d_h%d_r%d_c%d_m%d_w%d_b%d\n",
|
||||
fprintf(f, "bit_%08x_%03d_%02d_t%d_h%d_r%d_c%d_m%d\n",
|
||||
fid.get_value(), i, k, fid.get_type(), fid.get_topflag(), fid.get_rowaddr(),
|
||||
fid.get_coladdr(), fid.get_minor(), i, k);
|
||||
fid.get_coladdr(), fid.get_minor());
|
||||
else
|
||||
fprintf(f, "bit_%08x_%02x_%02x\n", fid.get_value(), i, k);
|
||||
fprintf(f, "bit_%08x_%03d_%02d\n", fid.get_value(), i, k);
|
||||
}
|
||||
if (outfile == nullptr)
|
||||
fprintf(f, "\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue