mirror of https://github.com/YosysHQ/icestorm.git
Port example to iceblink40 board.
This commit is contained in:
parent
f1592d01ee
commit
438c0b55ae
|
|
@ -0,0 +1,26 @@
|
|||
PROJ = example
|
||||
PIN_DEF = iceblink.pcf
|
||||
DEVICE = 1k
|
||||
|
||||
all: $(PROJ).bin
|
||||
|
||||
%.blif: %.v
|
||||
yosys -p 'synth_ice40 -top top -blif $@' $<
|
||||
|
||||
%.asc: $(PIN_DEF) %.blif
|
||||
arachne-pnr -d $(DEVICE) -o $@ -p $^ -P vq100
|
||||
|
||||
%.bin: %.asc
|
||||
icepack $< $@
|
||||
|
||||
prog: $(PROJ).bin
|
||||
iCEburn.py -e -v -w $<
|
||||
|
||||
sudo-prog: $(PROJ).bin
|
||||
@echo 'Executing prog as root!!!'
|
||||
iCEburn.py -e -v -w $<
|
||||
|
||||
clean:
|
||||
rm -f $(PROJ).blif $(PROJ).asc $(PROJ).bin
|
||||
|
||||
.PHONY: all prog clean
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
Note, there are at least two similar looking versions of the iCEblink40 evaluation board:
|
||||
-iCEblink40-HX1K
|
||||
-iCEblink40-LP1K
|
||||
|
||||
This example assumes the iCEblink40-HX1K board.
|
||||
|
||||
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
|
||||
tools).
|
||||
https://github.com/davidcarne/iceBurn
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
/* Binary counter displayed on LEDs (the 4 green ones on the right).
|
||||
* Changes value about once a second.
|
||||
*/
|
||||
module top (
|
||||
input clk,
|
||||
output LED2,
|
||||
output LED3,
|
||||
output LED4,
|
||||
output LED5
|
||||
);
|
||||
|
||||
localparam BITS = 4;
|
||||
localparam LOG2DELAY = 22;
|
||||
|
||||
reg [BITS+LOG2DELAY-1:0] counter = 0;
|
||||
reg [BITS-1:0] outcnt;
|
||||
|
||||
always@(posedge clk) begin
|
||||
counter <= counter + 1;
|
||||
outcnt <= counter >> LOG2DELAY;
|
||||
end
|
||||
|
||||
assign {LED2, LED3, LED4, LED5} = outcnt;
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
set_io LED2 59
|
||||
set_io LED3 56
|
||||
set_io LED4 53
|
||||
set_io LED5 51
|
||||
set_io clk 13
|
||||
Loading…
Reference in New Issue