mirror of https://github.com/YosysHQ/icestorm.git
Add icemulti example
This commit is contained in:
parent
d0f5b2ee8e
commit
5c4d4db08d
|
|
@ -0,0 +1,4 @@
|
|||
/app?.asc
|
||||
/app?.bin
|
||||
/app?.blif
|
||||
/config.bin
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
prog: config.bin
|
||||
sudo iceprog config.bin
|
||||
|
||||
sudo-prog: config.bin
|
||||
@echo 'Executing prog as root!!!'
|
||||
sudo iceprog config.bin
|
||||
|
||||
config.bin: app0.bin app1.bin app2.bin app3.bin
|
||||
icemulti -v -A16 -p0 -o config.bin app0.bin app1.bin app2.bin app3.bin
|
||||
|
||||
app%.bin: app%.v icestick.pcf
|
||||
yosys -p "synth_ice40 -top top -blif $(basename $<).blif" $<
|
||||
arachne-pnr -o $(basename $<).asc -d 1k -P tq144 -p icestick.pcf $(basename $<).blif
|
||||
icetime -d hx1k -c 25 $(basename $<).asc
|
||||
icepack $(basename $<).asc $(basename $<).bin
|
||||
|
||||
clean:
|
||||
rm -f app?.asc app?.bin app?.blif config.bin
|
||||
|
||||
.PHONY: prog sudo-prog clean
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
A simple example for icemulti using the iCEstick dev board.
|
||||
|
||||
Each of the four images blinks another LED. After 7 blinks
|
||||
the next image is loaded automatically.
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
module top (
|
||||
input clk,
|
||||
output LED1, LED2, LED3, LED4, LED5
|
||||
);
|
||||
localparam LOG2DELAY = 22;
|
||||
|
||||
reg [LOG2DELAY-1:0] counter = 0;
|
||||
reg [3:0] counter2 = 0;
|
||||
reg state = 0;
|
||||
|
||||
always @(posedge clk) begin
|
||||
counter <= counter + 1;
|
||||
counter2 <= counter2 + !counter;
|
||||
state <= state ^ !counter;
|
||||
end
|
||||
|
||||
assign LED1 = state;
|
||||
assign LED2 = 0;
|
||||
assign LED3 = 0;
|
||||
assign LED4 = 0;
|
||||
assign LED5 = 1;
|
||||
|
||||
SB_WARMBOOT WB (
|
||||
.BOOT(&counter2),
|
||||
.S1(1'b 0),
|
||||
.S0(1'b 1)
|
||||
);
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
module top (
|
||||
input clk,
|
||||
output LED1, LED2, LED3, LED4, LED5
|
||||
);
|
||||
localparam LOG2DELAY = 22;
|
||||
|
||||
reg [LOG2DELAY-1:0] counter = 0;
|
||||
reg [3:0] counter2 = 0;
|
||||
reg state = 0;
|
||||
|
||||
always @(posedge clk) begin
|
||||
counter <= counter + 1;
|
||||
counter2 <= counter2 + !counter;
|
||||
state <= state ^ !counter;
|
||||
end
|
||||
|
||||
assign LED1 = 0;
|
||||
assign LED2 = state;
|
||||
assign LED3 = 0;
|
||||
assign LED4 = 0;
|
||||
assign LED5 = 1;
|
||||
|
||||
SB_WARMBOOT WB (
|
||||
.BOOT(&counter2),
|
||||
.S1(1'b 1),
|
||||
.S0(1'b 0)
|
||||
);
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
module top (
|
||||
input clk,
|
||||
output LED1, LED2, LED3, LED4, LED5
|
||||
);
|
||||
localparam LOG2DELAY = 22;
|
||||
|
||||
reg [LOG2DELAY-1:0] counter = 0;
|
||||
reg [3:0] counter2 = 0;
|
||||
reg state = 0;
|
||||
|
||||
always @(posedge clk) begin
|
||||
counter <= counter + 1;
|
||||
counter2 <= counter2 + !counter;
|
||||
state <= state ^ !counter;
|
||||
end
|
||||
|
||||
assign LED1 = 0;
|
||||
assign LED2 = 0;
|
||||
assign LED3 = state;
|
||||
assign LED4 = 0;
|
||||
assign LED5 = 1;
|
||||
|
||||
SB_WARMBOOT WB (
|
||||
.BOOT(&counter2),
|
||||
.S1(1'b 1),
|
||||
.S0(1'b 1)
|
||||
);
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
module top (
|
||||
input clk,
|
||||
output LED1, LED2, LED3, LED4, LED5
|
||||
);
|
||||
localparam LOG2DELAY = 22;
|
||||
|
||||
reg [LOG2DELAY-1:0] counter = 0;
|
||||
reg [3:0] counter2 = 0;
|
||||
reg state = 0;
|
||||
|
||||
always @(posedge clk) begin
|
||||
counter <= counter + 1;
|
||||
counter2 <= counter2 + !counter;
|
||||
state <= state ^ !counter;
|
||||
end
|
||||
|
||||
assign LED1 = 0;
|
||||
assign LED2 = 0;
|
||||
assign LED3 = 0;
|
||||
assign LED4 = state;
|
||||
assign LED5 = 1;
|
||||
|
||||
SB_WARMBOOT WB (
|
||||
.BOOT(&counter2),
|
||||
.S1(1'b 0),
|
||||
.S0(1'b 0)
|
||||
);
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
# full iCEstick pinout:
|
||||
# http://www.pighixxx.com/test/portfolio-items/icestick/
|
||||
|
||||
set_io --warn-no-port RX 9
|
||||
set_io --warn-no-port TX 8
|
||||
set_io LED1 99
|
||||
set_io LED2 98
|
||||
set_io LED3 97
|
||||
set_io LED4 96
|
||||
set_io LED5 95
|
||||
set_io clk 21
|
||||
Loading…
Reference in New Issue