#define CLEAR_TOKENS(state, bits) \
state = (state) & ~(bits)
-/*
- * Bit encoding, proc_one_produced :
- */
-
-#define P1_PROD_NONE (1 << 0)
-
-#define P1_READ_ONE (1 << 1)
-#define P1_RMB (1 << 2)
-#define P1_READ_TWO (1 << 3)
-
-int proc_one_produced;
-
-#define P2_PROD_NONE (1 << 0)
-
-#define P2_WRITE_ONE (1 << 1)
-#define P2_WMB (1 << 2)
-#define P2_WRITE_TWO (1 << 3)
-
-int proc_two_produced;
-
#define NR_PROCS 2
#define get_pid() (_pid)
byte read_one = 2;
byte read_two = 2;
+/*
+ * Bit encoding, proc_one_produced :
+ */
+
+#define P1_PROD_NONE (1 << 0)
+
+#define P1_READ_ONE (1 << 1)
+#define P1_RMB (1 << 2)
+#define P1_READ_TWO (1 << 3)
+
+int proc_one_produced;
+
active proctype test_proc_one()
{
assert(get_pid() < NR_PROCS);
assert(read_one != 1 || read_two == 1);
}
+
+/*
+ * Bit encoding, proc_two_produced :
+ */
+
+#define P2_PROD_NONE (1 << 0)
+
+#define P2_WRITE_ONE (1 << 1)
+#define P2_WMB (1 << 2)
+#define P2_WRITE_TWO (1 << 3)
+
+int proc_two_produced;
+
active proctype test_proc_two()
{
assert(get_pid() < NR_PROCS);
#define CLEAR_TOKENS(state, bits) \
state = (state) & ~(bits)
-/*
- * Bit encoding, proc_one_produced :
- */
-
-#define P1_PROD_NONE (1 << 0)
-
-#define P1_WRITE (1 << 1)
-#define P1_WMB (1 << 2)
-#define P1_SYNC_CORE (1 << 3)
-#define P1_RMB (1 << 4)
-#define P1_READ (1 << 5)
-
-int proc_one_produced;
-
-#define P2_PROD_NONE (1 << 0)
-
-#define P2_WRITE (1 << 1)
-#define P2_WMB (1 << 2)
-#define P2_SYNC_CORE (1 << 3)
-#define P2_RMB (1 << 4)
-#define P2_READ (1 << 5)
-
-int proc_two_produced;
-
#define NR_PROCS 2
#define get_pid() (_pid)
byte read_one = 2;
byte read_two = 2;
+/*
+ * Bit encoding, proc_one_produced :
+ */
+
+#define P1_PROD_NONE (1 << 0)
+
+#define P1_WRITE (1 << 1)
+#define P1_WMB (1 << 2)
+#define P1_SYNC_CORE (1 << 3)
+#define P1_RMB (1 << 4)
+#define P1_READ (1 << 5)
+
+int proc_one_produced;
+
active proctype test_proc_one()
{
assert(get_pid() < NR_PROCS);
assert(!(read_one == 0 && read_two == 0));
}
+
+/*
+ * Bit encoding, proc_two_produced :
+ */
+
+#define P2_PROD_NONE (1 << 0)
+
+#define P2_WRITE (1 << 1)
+#define P2_WMB (1 << 2)
+#define P2_SYNC_CORE (1 << 3)
+#define P2_RMB (1 << 4)
+#define P2_READ (1 << 5)
+
+int proc_two_produced;
+
active proctype test_proc_two()
{
assert(get_pid() < NR_PROCS);