aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/pack_tests/ffmodes.v
diff options
context:
space:
mode:
Diffstat (limited to 'ice40/pack_tests/ffmodes.v')
-rw-r--r--ice40/pack_tests/ffmodes.v39
1 files changed, 39 insertions, 0 deletions
diff --git a/ice40/pack_tests/ffmodes.v b/ice40/pack_tests/ffmodes.v
new file mode 100644
index 00000000..6ff99bce
--- /dev/null
+++ b/ice40/pack_tests/ffmodes.v
@@ -0,0 +1,39 @@
+module top(input clk, cen, rst, ina, inb, output reg outa, outb, outc, outd);
+
+reg temp0 = 1'b0, temp1 = 1'b0;
+
+always @(posedge clk)
+ if (cen)
+ if(rst)
+ temp0 <= 1'b0;
+ else
+ temp0 <= ina;
+
+always @(negedge clk)
+ if (ina)
+ if(rst)
+ temp1 <= 1'b1;
+ else
+ temp1 <= inb;
+
+
+always @(posedge clk or negedge rst)
+ if(!rst)
+ outa <= 1'b0;
+ else
+ outa <= temp0;
+
+always @(posedge clk)
+ outb <= temp1;
+
+always @(negedge clk)
+ outc <= temp0;
+
+always @(negedge clk or posedge rst)
+ if (rst)
+ outd <= 1'b1;
+ else
+ outd <= temp1;
+
+
+endmodule