aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/blinky.v
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-06-09 19:38:37 +0200
committerDavid Shah <davey1576@gmail.com>2018-06-09 19:38:37 +0200
commit72f5e640af8bdccb641bb561757021c0a3d83edb (patch)
tree9456f4d6f0ea2e6303200320129d3f2fe57535fd /ice40/blinky.v
parente15620ccd4e5062a999f51bc5f3ee53739586561 (diff)
downloadnextpnr-72f5e640af8bdccb641bb561757021c0a3d83edb.tar.gz
nextpnr-72f5e640af8bdccb641bb561757021c0a3d83edb.tar.bz2
nextpnr-72f5e640af8bdccb641bb561757021c0a3d83edb.zip
Adding basic placement constraints
Specify the attribute (* LOC="bel_name" *) on any cell to constrain its placement to that bel. Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'ice40/blinky.v')
-rw-r--r--ice40/blinky.v80
1 files changed, 77 insertions, 3 deletions
diff --git a/ice40/blinky.v b/ice40/blinky.v
index 6b97c5a9..80f92b06 100644
--- a/ice40/blinky.v
+++ b/ice40/blinky.v
@@ -7,24 +7,98 @@ module blinky (
output led5_pin
);
wire clk, led1, led2, led3, led4, led5;
+
+ (* LOC="0_3_lc0" *)
+ SB_IO #(
+ .PIN_TYPE(6'b 0110_01),
+ .PULLUP(1'b0),
+ .NEG_TRIGGER(1'b0)
+ ) led1_iob (
+ .PACKAGE_PIN(led1_pin),
+ .LATCH_INPUT_VALUE(),
+ .CLOCK_ENABLE(),
+ .INPUT_CLK(),
+ .OUTPUT_CLK(),
+ .OUTPUT_ENABLE(),
+ .D_OUT_0(led1),
+ .D_OUT_1(),
+ .D_IN_0(),
+ .D_IN_1()
+ );
+
+ (* LOC="0_3_lc1" *)
+ SB_IO #(
+ .PIN_TYPE(6'b 0110_01),
+ .PULLUP(1'b0),
+ .NEG_TRIGGER(1'b0)
+ ) led2_iob (
+ .PACKAGE_PIN(led2_pin),
+ .LATCH_INPUT_VALUE(),
+ .CLOCK_ENABLE(),
+ .INPUT_CLK(),
+ .OUTPUT_CLK(),
+ .OUTPUT_ENABLE(),
+ .D_OUT_0(led2),
+ .D_OUT_1(),
+ .D_IN_0(),
+ .D_IN_1()
+ );
+
+ (* LOC="5_17_lc1" *)
+ SB_IO #(
+ .PIN_TYPE(6'b 0110_01),
+ .PULLUP(1'b0),
+ .NEG_TRIGGER(1'b0)
+ ) led3_iob (
+ .PACKAGE_PIN(led3_pin),
+ .LATCH_INPUT_VALUE(),
+ .CLOCK_ENABLE(),
+ .INPUT_CLK(),
+ .OUTPUT_CLK(),
+ .OUTPUT_ENABLE(),
+ .D_OUT_0(led3),
+ .D_OUT_1(),
+ .D_IN_0(),
+ .D_IN_1()
+ );
+
+ (* LOC="10_0_lc1" *)
+ SB_IO #(
+ .PIN_TYPE(6'b 0110_01),
+ .PULLUP(1'b0),
+ .NEG_TRIGGER(1'b0)
+ ) led4_iob (
+ .PACKAGE_PIN(led4_pin),
+ .LATCH_INPUT_VALUE(),
+ .CLOCK_ENABLE(),
+ .INPUT_CLK(),
+ .OUTPUT_CLK(),
+ .OUTPUT_ENABLE(),
+ .D_OUT_0(led4),
+ .D_OUT_1(),
+ .D_IN_0(),
+ .D_IN_1()
+ );
+ (* LOC="12_17_lc0" *)
SB_IO #(
.PIN_TYPE(6'b 0110_01),
.PULLUP(1'b0),
.NEG_TRIGGER(1'b0)
- ) led_iob [4:0] (
- .PACKAGE_PIN({led1_pin, led2_pin, led3_pin, led4_pin, led5_pin}),
+ ) led5_iob (
+ .PACKAGE_PIN(led5_pin),
.LATCH_INPUT_VALUE(),
.CLOCK_ENABLE(),
.INPUT_CLK(),
.OUTPUT_CLK(),
.OUTPUT_ENABLE(),
- .D_OUT_0({led1, led2, led3, led4, led5}),
+ .D_OUT_0(led5),
.D_OUT_1(),
.D_IN_0(),
.D_IN_1()
);
+ (* LOC="0_6_lc0" *)
SB_IO #(
.PIN_TYPE(6'b 0000_01),
.PULLUP(1'b0),