//-
 //- Truth table:    S R | Q
 //-                -----+---
-//-                 {S:0|1} {R:0|1} | x
-//-                 {S:0|1} {R:1|0} | 1
-//-                 {S:1|0} {R:0|1} | 0
-//-                 {S:1|0} {R:1|0} | y
+//-                 - {R:0|1} | 0
+//-                 {S:0|1} - | 1
+//-                 - - | q
 //-
 module \$_SR_{S:N|P}{R:N|P}_ (S, R, Q);
 input S, R;
 output reg Q;
-always @({S:neg|pos}edge S, {R:neg|pos}edge R) begin
+always @* begin
        if (R == {R:0|1})
                Q <= 0;
        else if (S == {S:0|1})
 
 //-
 //- Truth table:    S R | Q
 //-                -----+---
-//-                 0 0 | x
-//-                 0 1 | 1
-//-                 1 0 | 0
-//-                 1 1 | y
+//-                 - 0 | 0
+//-                 0 - | 1
+//-                 - - | q
 //-
 module \$_SR_NN_ (S, R, Q);
 input S, R;
 output reg Q;
-always @(negedge S, negedge R) begin
+always @* begin
        if (R == 0)
                Q <= 0;
        else if (S == 0)
 //-
 //- Truth table:    S R | Q
 //-                -----+---
-//-                 0 1 | x
-//-                 0 0 | 1
-//-                 1 1 | 0
-//-                 1 0 | y
+//-                 - 1 | 0
+//-                 0 - | 1
+//-                 - - | q
 //-
 module \$_SR_NP_ (S, R, Q);
 input S, R;
 output reg Q;
-always @(negedge S, posedge R) begin
+always @* begin
        if (R == 1)
                Q <= 0;
        else if (S == 0)
 //-
 //- Truth table:    S R | Q
 //-                -----+---
-//-                 1 0 | x
-//-                 1 1 | 1
-//-                 0 0 | 0
-//-                 0 1 | y
+//-                 - 0 | 0
+//-                 1 - | 1
+//-                 - - | q
 //-
 module \$_SR_PN_ (S, R, Q);
 input S, R;
 output reg Q;
-always @(posedge S, negedge R) begin
+always @* begin
        if (R == 0)
                Q <= 0;
        else if (S == 1)
 //-
 //- Truth table:    S R | Q
 //-                -----+---
-//-                 1 1 | x
-//-                 1 0 | 1
-//-                 0 1 | 0
-//-                 0 0 | y
+//-                 - 1 | 0
+//-                 1 - | 1
+//-                 - - | q
 //-
 module \$_SR_PP_ (S, R, Q);
 input S, R;
 output reg Q;
-always @(posedge S, posedge R) begin
+always @* begin
        if (R == 1)
                Q <= 0;
        else if (S == 1)