From 3f32deb8c9a8deffeff339c5447464b4f80dea22 Mon Sep 17 00:00:00 2001
From: Jacob Lifshay <programmerjake@gmail.com>
Date: Tue, 24 May 2022 17:51:48 -0700
Subject: [PATCH 1/2] add test for yosys's $divfloor and $modfloor cells

Depends on: https://github.com/YosysHQ/yosys/pull/3335
---
 tests/unsorted/floor_divmod.sby | 44 +++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 tests/unsorted/floor_divmod.sby

diff --git a/tests/unsorted/floor_divmod.sby b/tests/unsorted/floor_divmod.sby
new file mode 100644
index 0000000..53218cc
--- /dev/null
+++ b/tests/unsorted/floor_divmod.sby
@@ -0,0 +1,44 @@
+[options]
+mode bmc
+
+[engines]
+smtbmc
+
+[script]
+read_verilog -icells -formal test.v
+prep -top top
+
+[file test.v]
+module top;
+	wire [7:0] a = $anyconst, b = $anyconst, fdiv, fmod, a2;
+	assign a2 = b * fdiv + fmod;
+
+	\$divfloor #(
+		.A_WIDTH(8),
+		.B_WIDTH(8),
+		.A_SIGNED(1),
+		.B_SIGNED(1),
+		.Y_WIDTH(8),
+	) fdiv_m (
+		.A(a),
+		.B(b),
+		.Y(fdiv)
+	);
+
+	\$modfloor #(
+		.A_WIDTH(8),
+		.B_WIDTH(8),
+		.A_SIGNED(1),
+		.B_SIGNED(1),
+		.Y_WIDTH(8),
+	) fmod_m (
+		.A(a),
+		.B(b),
+		.Y(fmod)
+	);
+
+	always @* begin
+		assume(b != 0);
+		assert(a == a2);
+	end
+endmodule

From a87d21a8020e3f48d0ecdebfa08fe43f0ce7d5fc Mon Sep 17 00:00:00 2001
From: Jacob Lifshay <programmerjake@gmail.com>
Date: Wed, 25 May 2022 03:35:21 -0700
Subject: [PATCH 2/2] add depth 1

---
 tests/unsorted/floor_divmod.sby | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/unsorted/floor_divmod.sby b/tests/unsorted/floor_divmod.sby
index 53218cc..df35f8a 100644
--- a/tests/unsorted/floor_divmod.sby
+++ b/tests/unsorted/floor_divmod.sby
@@ -1,5 +1,6 @@
 [options]
 mode bmc
+depth 1
 
 [engines]
 smtbmc