Skip to content

Commit

Permalink
ice40: Add examples folder including floorplan example
Browse files Browse the repository at this point in the history
Signed-off-by: David Shah <dave@ds0.me>
  • Loading branch information
gatecat committed Dec 24, 2018
1 parent e4bf23e commit 1ed92d9
Show file tree
Hide file tree
Showing 11 changed files with 42 additions and 0 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions ice40/examples/floorplan/.gitignore
@@ -0,0 +1,4 @@
*.json
*.asc
*.bin
__pycache__
5 changes: 5 additions & 0 deletions ice40/examples/floorplan/floorplan.py
@@ -0,0 +1,5 @@
ctx.createRectangularRegion("osc", 1, 1, 1, 4)
for cell, cellinfo in ctx.cells:
if "ringosc" in cellinfo.attrs:
print("Floorplanned cell %s" % cell)
ctx.constrainCellToRegion(cell, "osc")
6 changes: 6 additions & 0 deletions ice40/examples/floorplan/floorplan.sh
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
yosys -p "synth_ice40 -top top -json floorplan.json" floorplan.v
../../../nextpnr-ice40 --up5k --json floorplan.json --pcf icebreaker.pcf --asc floorplan.asc --ignore-loops --pre-place floorplan.py
icepack floorplan.asc floorplan.bin
iceprog floorplan.bin
22 changes: 22 additions & 0 deletions ice40/examples/floorplan/floorplan.v
@@ -0,0 +1,22 @@
module top(output LED1, LED2, LED3, LED4, LED5);
localparam N = 31;
wire [N:0] x;
assign x[0] = x[N];

genvar ii;
generate

for (ii = 0; ii < N; ii = ii + 1) begin
(* ringosc *)
SB_LUT4 #(.LUT_INIT(1)) lut_i(.I0(x[ii]), .I1(), .I2(), .I3(), .O(x[ii+1]));
end
endgenerate

assign clk = x[N];


reg [19:0] ctr;
always @(posedge clk)
ctr <= ctr + 1'b1;
assign {LED5, LED4, LED3, LED2, LED1} = ctr[19:15];
endmodule
5 changes: 5 additions & 0 deletions ice40/examples/floorplan/icebreaker.pcf
@@ -0,0 +1,5 @@
set_io -nowarn LED1 26
set_io -nowarn LED2 27
set_io -nowarn LED3 25
set_io -nowarn LED4 23
set_io -nowarn LED5 21

0 comments on commit 1ed92d9

Please sign in to comment.