mirror of https://github.com/YosysHQ/icestorm.git
Squelch trailing whitespace
This commit is contained in:
parent
607ee66cc1
commit
b3d35ccadc
|
|
@ -5,7 +5,7 @@
|
||||||
<h1>Project IceStorm – Notes for Installing on OSX</h1>
|
<h1>Project IceStorm – Notes for Installing on OSX</h1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The toolchain should be easy to install on OSX platforms. Below are a few troubleshooting items found on Mountain Lion (10.8.2).
|
The toolchain should be easy to install on OSX platforms. Below are a few troubleshooting items found on Mountain Lion (10.8.2).
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,6 @@ Note, there are at least two similar looking versions of the iCEblink40 evaluati
|
||||||
This example assumes the iCEblink40-HX1K board.
|
This example assumes the iCEblink40-HX1K board.
|
||||||
|
|
||||||
The iCEblink40 boards have an on-board programmer with USB interface from Digilent.
|
The iCEblink40 boards have an on-board programmer with USB interface from Digilent.
|
||||||
You need iCEburn to program the FPGA via this interface (or the original vendor
|
You need iCEburn to program the FPGA via this interface (or the original vendor
|
||||||
tools).
|
tools).
|
||||||
https://github.com/davidcarne/iceBurn
|
https://github.com/davidcarne/iceBurn
|
||||||
|
|
|
||||||
|
|
@ -386,7 +386,7 @@ class iceconfig:
|
||||||
def follow_net(self, netspec):
|
def follow_net(self, netspec):
|
||||||
x, y, netname = netspec
|
x, y, netname = netspec
|
||||||
neighbours = self.rlookup_funcnet(x, y, netname)
|
neighbours = self.rlookup_funcnet(x, y, netname)
|
||||||
|
|
||||||
#print(netspec)
|
#print(netspec)
|
||||||
#print('\t', neighbours)
|
#print('\t', neighbours)
|
||||||
|
|
||||||
|
|
@ -463,7 +463,7 @@ class iceconfig:
|
||||||
|
|
||||||
if self.tile_has_net(s[0], s[1], s[2]):
|
if self.tile_has_net(s[0], s[1], s[2]):
|
||||||
neighbours.add((s[0], s[1], s[2]))
|
neighbours.add((s[0], s[1], s[2]))
|
||||||
|
|
||||||
#print('\tafter directions', neighbours)
|
#print('\tafter directions', neighbours)
|
||||||
return neighbours
|
return neighbours
|
||||||
|
|
||||||
|
|
@ -475,14 +475,14 @@ class iceconfig:
|
||||||
|
|
||||||
for seg in extra_segments:
|
for seg in extra_segments:
|
||||||
seed_segments.add(seg)
|
seed_segments.add(seg)
|
||||||
|
|
||||||
for conn in extra_connections:
|
for conn in extra_connections:
|
||||||
s1, s2 = conn
|
s1, s2 = conn
|
||||||
connected_segments.setdefault(s1, set()).add(s2)
|
connected_segments.setdefault(s1, set()).add(s2)
|
||||||
connected_segments.setdefault(s2, set()).add(s1)
|
connected_segments.setdefault(s2, set()).add(s1)
|
||||||
seed_segments.add(s1)
|
seed_segments.add(s1)
|
||||||
seed_segments.add(s2)
|
seed_segments.add(s2)
|
||||||
|
|
||||||
for idx, tile in self.io_tiles.items():
|
for idx, tile in self.io_tiles.items():
|
||||||
tc = tileconfig(tile)
|
tc = tileconfig(tile)
|
||||||
pintypes = [ list("000000"), list("000000") ]
|
pintypes = [ list("000000"), list("000000") ]
|
||||||
|
|
|
||||||
|
|
@ -556,7 +556,7 @@ if outdir is not None:
|
||||||
print("Writing %s/index.html.." % outdir, file=stdout)
|
print("Writing %s/index.html.." % outdir, file=stdout)
|
||||||
sys.stdout = open("%s/index.html" % outdir, "w")
|
sys.stdout = open("%s/index.html" % outdir, "w")
|
||||||
print_index()
|
print_index()
|
||||||
|
|
||||||
for x in range(ic.max_x+1):
|
for x in range(ic.max_x+1):
|
||||||
for y in range(ic.max_y+1):
|
for y in range(ic.max_y+1):
|
||||||
if (x, y) in mktiles:
|
if (x, y) in mktiles:
|
||||||
|
|
@ -571,7 +571,7 @@ if outdir is not None:
|
||||||
os.system("icebox_chipdb %s > %s/%s" % ("-8" if mode8k else "", outdir, chipdbfile))
|
os.system("icebox_chipdb %s > %s/%s" % ("-8" if mode8k else "", outdir, chipdbfile))
|
||||||
|
|
||||||
sys.stdout = stdout
|
sys.stdout = stdout
|
||||||
|
|
||||||
elif (tx, ty) == (0, 0):
|
elif (tx, ty) == (0, 0):
|
||||||
print_index()
|
print_index()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -592,7 +592,7 @@ for cell in iocells:
|
||||||
text_func.append("// OUT_CLK = %s" % net_oclk)
|
text_func.append("// OUT_CLK = %s" % net_oclk)
|
||||||
text_func.append("// LATCH = %s" % net_latch)
|
text_func.append("// LATCH = %s" % net_latch)
|
||||||
text_func.append("// TYPE = %s (LSB:MSB)" % iotype)
|
text_func.append("// TYPE = %s (LSB:MSB)" % iotype)
|
||||||
|
|
||||||
if net_din0 != "" or net_din1 != "":
|
if net_din0 != "" or net_din1 != "":
|
||||||
if net_cen == "1":
|
if net_cen == "1":
|
||||||
icen_cond = ""
|
icen_cond = ""
|
||||||
|
|
|
||||||
|
|
@ -298,7 +298,7 @@ int main(int argc, char **argv)
|
||||||
value |= 1 << (7-j);
|
value |= 1 << (7-j);
|
||||||
fputc(value, output_file);
|
fputc(value, output_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ static void write_bit(int value)
|
||||||
|
|
||||||
if (value)
|
if (value)
|
||||||
write_buffer |= 1 << write_bitcounter;
|
write_buffer |= 1 << write_bitcounter;
|
||||||
|
|
||||||
if (write_bitcounter == 0) {
|
if (write_bitcounter == 0) {
|
||||||
fputc(write_buffer, output_file);
|
fputc(write_buffer, output_file);
|
||||||
write_bitcounter = 8;
|
write_bitcounter = 8;
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ elif device_class == "5k":
|
||||||
|
|
||||||
#TODO(tannewt): Add 39, 40, 41 to this list. It causes placement failures for some reason.
|
#TODO(tannewt): Add 39, 40, 41 to this list. It causes placement failures for some reason.
|
||||||
gpins = "20 35 37 44".split()
|
gpins = "20 35 37 44".split()
|
||||||
|
|
||||||
def output_makefile(working_dir, fuzzname):
|
def output_makefile(working_dir, fuzzname):
|
||||||
with open(working_dir + "/Makefile", "w") as f:
|
with open(working_dir + "/Makefile", "w") as f:
|
||||||
print("all: %s" % " ".join(["%s_%02d.bin" % (fuzzname, i) for i in range(num)]), file=f)
|
print("all: %s" % " ".join(["%s_%02d.bin" % (fuzzname, i) for i in range(num)]), file=f)
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ def randbin(n):
|
||||||
|
|
||||||
for p in gpins:
|
for p in gpins:
|
||||||
if p in pins: pins.remove(p)
|
if p in pins: pins.remove(p)
|
||||||
|
|
||||||
|
|
||||||
device_class = os.getenv("ICEDEVICE")
|
device_class = os.getenv("ICEDEVICE")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,7 @@ pins="
|
||||||
A1 B1 A2 B2 A3 B3 A4 B4 A5 B5 A8 A9 B7 A10 B8 A11 B9 A12
|
A1 B1 A2 B2 A3 B3 A4 B4 A5 B5 A8 A9 B7 A10 B8 A11 B9 A12
|
||||||
A13 B10 B11 A14 B12 A16 B13 B14 A19 B15 A20 B17 A22 A23 B18 B19 A25 A26
|
A13 B10 B11 A14 B12 A16 B13 B14 A19 B15 A20 B17 A22 A23 B18 B19 A25 A26
|
||||||
B20 B21 A27 A29 B22 B23 A31 B24 A32 A33 A34 B26 A35 B27 A38 B29 A39 B30
|
B20 B21 A27 A29 B22 B23 A31 B24 A32 A33 A34 B26 A35 B27 A38 B29 A39 B30
|
||||||
A40 B31 A41 A43 B32 A44 A45 B34 A46 B35 A47 B36 A48
|
A40 B31 A41 A43 B32 A44 A45 B34 A46 B35 A47 B36 A48
|
||||||
|
|
||||||
"
|
"
|
||||||
|
|
||||||
if [ $(echo $pins | wc -w) -ne 67 ]; then
|
if [ $(echo $pins | wc -w) -ne 67 ]; then
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,6 @@ module top (
|
||||||
|
|
||||||
always@(posedge clk)
|
always@(posedge clk)
|
||||||
counter <= counter + 1;
|
counter <= counter + 1;
|
||||||
|
|
||||||
assign {LED1, LED2, LED3, LED4, LED5} = bin2gray(counter >> LOG2DELAY);
|
assign {LED1, LED2, LED3, LED4, LED5} = bin2gray(counter >> LOG2DELAY);
|
||||||
endmodule
|
endmodule
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ for line in fileinput.input():
|
||||||
if line[0] == "IOB_1":
|
if line[0] == "IOB_1":
|
||||||
iob = (current_tile[0], current_tile[1], 1)
|
iob = (current_tile[0], current_tile[1], 1)
|
||||||
|
|
||||||
if ren is None:
|
if ren is None:
|
||||||
print("(%2d, %2d, %2d, ? , ? , ? )," % (iob[0], iob[1], iob[2]))
|
print("(%2d, %2d, %2d, ? , ? , ? )," % (iob[0], iob[1], iob[2]))
|
||||||
else:
|
else:
|
||||||
print("(%2d, %2d, %2d, %2d, %2d, %2d)," % (iob[0], iob[1], iob[2], ren[0], ren[1], ren[2]))
|
print("(%2d, %2d, %2d, %2d, %2d, %2d)," % (iob[0], iob[1], iob[2], ren[0], ren[1], ren[2]))
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// ICEDEV=hx8k-ct256 bash ../icecube.sh sb_ram40.v
|
// ICEDEV=hx8k-ct256 bash ../icecube.sh sb_ram40.v
|
||||||
// ../../icebox/icebox_vlog.py -P sb_ram40.psb sb_ram40.txt
|
// ../../icebox/icebox_vlog.py -P sb_ram40.psb sb_ram40.txt
|
||||||
// ../../icebox/icebox_explain.py -t '7 21' sb_ram40.txt
|
// ../../icebox/icebox_explain.py -t '7 21' sb_ram40.txt
|
||||||
|
|
||||||
module top (
|
module top (
|
||||||
input [10:0] WADDR,
|
input [10:0] WADDR,
|
||||||
|
|
|
||||||
|
|
@ -435,4 +435,3 @@ if output_mode == "html":
|
||||||
print("<td>%s</td><td>%s</td><td>%s</td>" % tuple(entry[3].split(":")), end="")
|
print("<td>%s</td><td>%s</td><td>%s</td>" % tuple(entry[3].split(":")), end="")
|
||||||
print("</tr>")
|
print("</tr>")
|
||||||
print("</table>")
|
print("</table>")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,11 @@
|
||||||
* iceprog -- simple programming tool for FTDI-based Lattice iCE programmers
|
* iceprog -- simple programming tool for FTDI-based Lattice iCE programmers
|
||||||
*
|
*
|
||||||
* Copyright (C) 2015 Clifford Wolf <clifford@clifford.at>
|
* Copyright (C) 2015 Clifford Wolf <clifford@clifford.at>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
* copyright notice and this permission notice appear in all copies.
|
* copyright notice and this permission notice appear in all copies.
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue