Add skeleton Yosys-Libero igloo2 example project
authorClifford Wolf <clifford@clifford.at>
Sat, 5 Jan 2019 16:02:01 +0000 (17:02 +0100)
committerClifford Wolf <clifford@clifford.at>
Sat, 5 Jan 2019 16:02:01 +0000 (17:02 +0100)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
examples/igloo2/.gitignore [new file with mode: 0644]
examples/igloo2/example.v [new file with mode: 0644]
examples/igloo2/example.ys [new file with mode: 0644]
examples/igloo2/libero.sh [new file with mode: 0644]
examples/igloo2/libero.tcl [new file with mode: 0644]

diff --git a/examples/igloo2/.gitignore b/examples/igloo2/.gitignore
new file mode 100644 (file)
index 0000000..ae86e69
--- /dev/null
@@ -0,0 +1,2 @@
+/example.edn
+/work
diff --git a/examples/igloo2/example.v b/examples/igloo2/example.v
new file mode 100644 (file)
index 0000000..3eb7007
--- /dev/null
@@ -0,0 +1,22 @@
+module top (
+       input  clk,
+       output LED1,
+       output LED2,
+       output LED3,
+       output LED4,
+       output LED5
+);
+
+       localparam BITS = 5;
+       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 {LED1, LED2, LED3, LED4, LED5} = outcnt ^ (outcnt >> 1);
+endmodule
diff --git a/examples/igloo2/example.ys b/examples/igloo2/example.ys
new file mode 100644 (file)
index 0000000..75a305d
--- /dev/null
@@ -0,0 +1,2 @@
+read_verilog example.v
+synth_sf2 -top top -edif example.edn
diff --git a/examples/igloo2/libero.sh b/examples/igloo2/libero.sh
new file mode 100644 (file)
index 0000000..582f6cc
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/bash
+set -ex
+rm -rf work
+LM_LICENSE_FILE=1702@`hostname` /opt/microsemi/Libero_SoC_v11.9/Libero/bin/libero SCRIPT:libero.tcl
diff --git a/examples/igloo2/libero.tcl b/examples/igloo2/libero.tcl
new file mode 100644 (file)
index 0000000..cc1ab24
--- /dev/null
@@ -0,0 +1,14 @@
+# Run with "libero SCRIPT:libero.tcl"
+
+new_project \
+    -name top \
+    -location work \
+    -family IGLOO2 \
+    -die PA4MGL500 \
+    -package tq144 \
+    -speed -1 \
+    -hdl VERILOG
+
+import_files -edif {example.edn}
+run_tool –name {COMPILE}
+run_tool –name {PLACEROUTEN}