diff options
Diffstat (limited to 'examples/hx8kboard')
-rw-r--r-- | examples/hx8kboard/.gitignore | 3 | ||||
-rw-r--r-- | examples/hx8kboard/Makefile | 18 | ||||
-rw-r--r-- | examples/hx8kboard/example.v | 25 | ||||
-rw-r--r-- | examples/hx8kboard/hx8kboard.pcf | 9 |
4 files changed, 55 insertions, 0 deletions
diff --git a/examples/hx8kboard/.gitignore b/examples/hx8kboard/.gitignore new file mode 100644 index 0000000..4b77d1b --- /dev/null +++ b/examples/hx8kboard/.gitignore @@ -0,0 +1,3 @@ +example.bin +example.blif +example.txt diff --git a/examples/hx8kboard/Makefile b/examples/hx8kboard/Makefile new file mode 100644 index 0000000..551de32 --- /dev/null +++ b/examples/hx8kboard/Makefile @@ -0,0 +1,18 @@ +all: example.bin + +example.blif: example.v + yosys -p 'synth_ice40 -top top -blif example.blif' example.v + +example.txt: example.blif hx8kboard.pcf + arachne-pnr -d 8k -o example.txt -p hx8kboard.pcf example.blif + +example.bin: example.txt + icepack example.txt example.bin + +prog: + iceprog example.bin + +clean: + rm -f example.blif example.txt example.bin + +.PHONY: all prog clean diff --git a/examples/hx8kboard/example.v b/examples/hx8kboard/example.v new file mode 100644 index 0000000..9fc5a11 --- /dev/null +++ b/examples/hx8kboard/example.v @@ -0,0 +1,25 @@ +module top ( + input clk, + output LED0, + output LED1, + output LED2, + output LED3, + output LED4, + output LED5, + output LED6, + output LED7 +); + + localparam BITS = 8; + 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 {LED0, LED1, LED2, LED3, LED4, LED5, LED6, LED7} = outcnt ^ (outcnt >> 1); +endmodule diff --git a/examples/hx8kboard/hx8kboard.pcf b/examples/hx8kboard/hx8kboard.pcf new file mode 100644 index 0000000..417ca01 --- /dev/null +++ b/examples/hx8kboard/hx8kboard.pcf @@ -0,0 +1,9 @@ +set_io LED0 B5
+set_io LED1 B4
+set_io LED2 A2
+set_io LED3 A1
+set_io LED4 C5
+set_io LED5 C4
+set_io LED6 B3
+set_io LED7 C3
+set_io clk J3
|