From cd6e5c802526a27ce7aa167f39d85d9c6fca9e2d Mon Sep 17 00:00:00 2001 From: Steffen Moeller Date: Mon, 8 Aug 2016 05:42:43 +0200 Subject: [PATCH] Blinky functional on HX1K --- blinky/Makefile | 26 +++++++++++++++--------- blinky/{pinmap.pcf => pinmap_ct256.pcf} | 0 blinky/pinmap_tq144.pcf | 7 +++++++ blinky/top_1k.v | 27 +++++++++++++++++++++++++ blinky/{top.v => top_8k.v} | 0 5 files changed, 51 insertions(+), 9 deletions(-) rename blinky/{pinmap.pcf => pinmap_ct256.pcf} (100%) create mode 100644 blinky/pinmap_tq144.pcf create mode 100644 blinky/top_1k.v rename blinky/{top.v => top_8k.v} (100%) diff --git a/blinky/Makefile b/blinky/Makefile index 4f906f7..6fecf10 100644 --- a/blinky/Makefile +++ b/blinky/Makefile @@ -1,26 +1,34 @@ # Project setup PROJ = blinky BUILD = ./build -DEVICE = 8k +DEVICE = 1k +#DEVICE = 8k +ifeq (8k,$(DEVICE)) FOOTPRINT = ct256 +else +FOOTPRINT = tq144 +endif + # Files -FILES = top.v +FILES = top_$(DEVICE).v .PHONY: all clean burn -all: +all: iceprog $(BUILD)/$(PROJ)_$(DEVICE).bin + +iceprog $(BUILD)/$(PROJ)_$(DEVICE).bin: $(FILES) # if build folder doesn't exist, create it mkdir -p $(BUILD) # synthesize using Yosys - yosys -p "synth_ice40 -top top -blif $(BUILD)/$(PROJ).blif" $(FILES) + yosys -p "synth_ice40 -top top -blif $(BUILD)/$(PROJ)_$(DEVICE).blif" $(FILES) # Place and route using arachne - arachne-pnr -d $(DEVICE) -P $(FOOTPRINT) -o $(BUILD)/$(PROJ).asc -p pinmap.pcf $(BUILD)/$(PROJ).blif + arachne-pnr -d $(DEVICE) -P $(FOOTPRINT) -o $(BUILD)/$(PROJ)_$(DEVICE).asc -p pinmap_$(FOOTPRINT).pcf $(BUILD)/$(PROJ)_$(DEVICE).blif # Convert to bitstream using IcePack - icepack $(BUILD)/$(PROJ).asc $(BUILD)/$(PROJ).bin + icepack $(BUILD)/$(PROJ)_$(DEVICE).asc $(BUILD)/$(PROJ)_$(DEVICE).bin -burn: - iceprog $(BUILD)/$(PROJ).bin +burn: $(BUILD)/$(PROJ)_$(DEVICE).bin + iceprog $< clean: - rm build/* + rm -f build/* diff --git a/blinky/pinmap.pcf b/blinky/pinmap_ct256.pcf similarity index 100% rename from blinky/pinmap.pcf rename to blinky/pinmap_ct256.pcf diff --git a/blinky/pinmap_tq144.pcf b/blinky/pinmap_tq144.pcf new file mode 100644 index 0000000..4cdac50 --- /dev/null +++ b/blinky/pinmap_tq144.pcf @@ -0,0 +1,7 @@ +# example.pcf +set_io --warn-no-port led1 99 +set_io --warn-no-port led2 98 +set_io --warn-no-port led3 97 +set_io --warn-no-port led4 96 +set_io --warn-no-port led5 95 +set_io --warn-no-port hwclk 21 diff --git a/blinky/top_1k.v b/blinky/top_1k.v new file mode 100644 index 0000000..cb15233 --- /dev/null +++ b/blinky/top_1k.v @@ -0,0 +1,27 @@ +// Blink an LED provided an input clock +/* module */ +module top (hwclk, led1, led2, led3, led4, led5 ); + /* I/O */ + input hwclk; + output led1; + output led2; + output led3; + output led4; + output led5; + + /* Counter register */ + reg [31:0] counter = 32'b0; + + /* LED drivers */ + assign led1 = counter[18]; + assign led2 = counter[19]; + assign led3 = counter[20]; + assign led4 = counter[21]; + assign led5 = counter[22]; + + /* always */ + always @ (posedge hwclk) begin + counter <= counter + 1; + end + +endmodule diff --git a/blinky/top.v b/blinky/top_8k.v similarity index 100% rename from blinky/top.v rename to blinky/top_8k.v