|
发表于 2022-5-10 18:36:53
|
显示全部楼层
Is his what you are looking for?
- module clocks(// Outputs
- ck0, ck2,
- // Inputs
- clk, rst_n
- );
- input clk, rst_n;
- output ck0,ck2;
- reg ckby2;
- reg sel;
-
- reg [3:0] count;
- assign ck0 = ~sel ? ckby2 : 1'b0;
- assign ck2 = sel ? ckby2 : 1'b0;
- always @(posedge clk or negedge rst_n)
- if (!rst_n) begin
- count <= 0;
- ckby2 <= 0;
- sel <= 0;
- end else begin
- ckby2 <= ~ckby2;
- count <= count+ckby2;
- if (ckby2 & &count) sel <= ~sel;
- end
- endmodule // clocks
- module test();
- reg clk;
- reg rst_n;
- wire ck0;
- wire ck2;
- clocks clocks(// Outputs
- .ck0 (ck0),
- .ck2 (ck2),
- // Inputs
- .clk (clk),
- .rst_n (rst_n));
- initial begin
- clk =0;
- rst_n =0;
- #33 rst_n =1;
- repeat(100) @(posedge clk);
- $finish;
- end
- always #5clk = ~clk;
-
- endmodule // test
复制代码 |
|