34 lines
669 B
Coq
34 lines
669 B
Coq
|
|
||
|
module test1(input clk, input [3:0] a, output reg [3:0] y);
|
||
|
always @(posedge clk)
|
||
|
y <= a;
|
||
|
endmodule
|
||
|
|
||
|
module test2(input clk, input [3:0] a, output reg [3:0] y);
|
||
|
wire clk_n = !clk;
|
||
|
always @(negedge clk_n)
|
||
|
y[1:0] <= a[1:0];
|
||
|
always @(negedge clk_n)
|
||
|
y[3:2] <= a[3:2];
|
||
|
endmodule
|
||
|
|
||
|
// -----------------------------------------------------------
|
||
|
|
||
|
module test3(input clk, rst, input [3:0] a, output reg [3:0] y);
|
||
|
always @(posedge clk, posedge rst)
|
||
|
if (rst)
|
||
|
y <= 12;
|
||
|
else
|
||
|
y <= |a;
|
||
|
endmodule
|
||
|
|
||
|
module test4(input clk, rst, input [3:0] a, output reg [3:0] y);
|
||
|
wire rst_n = !rst;
|
||
|
always @(posedge clk, negedge rst_n)
|
||
|
if (!rst_n)
|
||
|
y <= 12;
|
||
|
else
|
||
|
y <= a != 0;
|
||
|
endmodule
|
||
|
|