diff options
author | obijuan <juan@iearobotics.com> | 2017-02-12 17:10:41 +0100 |
---|---|---|
committer | obijuan <juan@iearobotics.com> | 2017-02-12 17:10:41 +0100 |
commit | 21a2d83ea1d9b4c824b967fc2d48be2f10585e47 (patch) | |
tree | 181ba21799d5b62d6012c829411d5de9abefee09 /icezum/pushbutton_and | |
parent | 6e1d5e5f77b563cc3ad3dd463ecf700e2f67db03 (diff) | |
download | ghdl-yosys-plugin-21a2d83ea1d9b4c824b967fc2d48be2f10585e47.tar.gz ghdl-yosys-plugin-21a2d83ea1d9b4c824b967fc2d48be2f10585e47.tar.bz2 ghdl-yosys-plugin-21a2d83ea1d9b4c824b967fc2d48be2f10585e47.zip |
Pushbutton_and example added
Diffstat (limited to 'icezum/pushbutton_and')
-rw-r--r-- | icezum/pushbutton_and/Makefile | 32 | ||||
-rw-r--r-- | icezum/pushbutton_and/README.md | 17 | ||||
-rw-r--r-- | icezum/pushbutton_and/pushbutton_and.pcf | 4 | ||||
-rw-r--r-- | icezum/pushbutton_and/pushbutton_and.vhdl | 18 |
4 files changed, 71 insertions, 0 deletions
diff --git a/icezum/pushbutton_and/Makefile b/icezum/pushbutton_and/Makefile new file mode 100644 index 0000000..2042685 --- /dev/null +++ b/icezum/pushbutton_and/Makefile @@ -0,0 +1,32 @@ +PROJ = pushbutton_and +PIN_DEF = $(PROJ).pcf +DEVICE = hx1k + +all: $(PROJ).rpt $(PROJ).bin + +%.blif: %.vhdl + ghdl -a $(PROJ).vhdl + yosys -m ../../ghdl.so -p 'ghdl $(PROJ); synth_ice40 -blif $@' + + +%.asc: $(PIN_DEF) %.blif + arachne-pnr -d $(subst hx,,$(subst lp,,$(DEVICE))) -o $@ -p $^ + +%.bin: %.asc + icepack $< $@ + +%.rpt: %.asc + icetime -d $(DEVICE) -mtr $@ $< + +prog: $(PROJ).bin + iceprog $< + +sudo-prog: $(PROJ).bin + @echo 'Executing prog as root!!!' + sudo iceprog $< + +clean: + rm -f $(PROJ).blif $(PROJ).asc $(PROJ).rpt $(PROJ).bin work-obj93.cf + +.SECONDARY: +.PHONY: all prog clean diff --git a/icezum/pushbutton_and/README.md b/icezum/pushbutton_and/README.md new file mode 100644 index 0000000..b4734c5 --- /dev/null +++ b/icezum/pushbutton_and/README.md @@ -0,0 +1,17 @@ +A hello world example for the **Icezum Alhambra board** +Testing the sw1 and sw1 pushbutton with an AND gate. The state of the AND +and its negated are wired to the led0 and led7 respectively + +Execute + +```sh +$ make +``` + +for synthesizing the example and + +```sh +$ make prog +``` + +for programing the board diff --git a/icezum/pushbutton_and/pushbutton_and.pcf b/icezum/pushbutton_and/pushbutton_and.pcf new file mode 100644 index 0000000..31883fc --- /dev/null +++ b/icezum/pushbutton_and/pushbutton_and.pcf @@ -0,0 +1,4 @@ +set_io sw1 10
+set_io sw2 11
+set_io led0 95
+set_io led7 104
diff --git a/icezum/pushbutton_and/pushbutton_and.vhdl b/icezum/pushbutton_and/pushbutton_and.vhdl new file mode 100644 index 0000000..0a9831d --- /dev/null +++ b/icezum/pushbutton_and/pushbutton_and.vhdl @@ -0,0 +1,18 @@ +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +entity pushbutton_and is + port (sw1, sw2 : in std_logic; + led0, led7 : out std_logic); +end pushbutton_and; + +architecture synth of pushbutton_and is + +signal a : std_logic; + +begin + a <= sw1 and sw2; + led0 <= a; + led7 <= not a; +end synth; |