yosys/passes/sat/example.v

73 lines
849 B
Coq
Raw Normal View History

module example001(a, y);
input [15:0] a;
output y;
wire gt = a > 12345;
wire lt = a < 12345;
assign y = !gt && !lt;
endmodule
// ------------------------------------
module example002(a, y);
input [3:0] a;
output y;
reg [1:0] t1, t2;
always @* begin
casex (a)
16'b1xxx:
t1 <= 1;
16'bx1xx:
t1 <= 2;
16'bxx1x:
t1 <= 3;
16'bxxx1:
t1 <= 4;
default:
t1 <= 0;
endcase
casex (a)
16'b1xxx:
t2 <= 1;
16'b01xx:
t2 <= 2;
16'b001x:
t2 <= 3;
16'b0001:
t2 <= 4;
default:
t2 <= 0;
endcase
end
assign y = t1 != t2;
endmodule
// ------------------------------------
module example003(clk, rst, y);
input clk, rst;
output y;
reg [3:0] counter;
always @(posedge clk)
case (1)
rst, counter == 9:
counter <= 0;
default:
counter <= counter+1;
endcase
assign y = counter == 12;
endmodule