|
发表于 2022-4-5 02:15:43
|
显示全部楼层
- module top_temp(
- clk,
- rst,
- rd_clk,
- wr_clk
- );
- input clk;
- input rst;
- output reg rd_clk;
- output reg wr_clk;
- reg [3:0] counter_9;
- reg [3:0] counter_10;
-
- always [url=home.php?mod=space&uid=1769321]@[/url] ( posedge clk ) begin
- if( rst || counter_10==4'b1001)
- counter_10 <= 4'b0000;
- else
- counter_10 <= counter_10+1;
- end
- always @ ( posedge clk ) begin
- if( rst || counter_9==4'b1000)
- counter_9 <= 4'b0000;
- else
- counter_9 <= counter_9 +1;
- end
- //div9 rd_clk
- always @ ( posedge clk ) begin
- if ( rst ) begin
- rd_clk <= 1'b0;
- end
- else begin
- case(counter_9)
- 4'd0 : rd_clk <= 1'b0;
- 4'd1 : rd_clk <= 1'b0;
- 4'd2 : rd_clk <= 1'b0;
- 4'd3 : rd_clk <= 1'b0;
- 4'd4 : rd_clk <= 1'b1;
- 4'd5 : rd_clk <= 1'b1;
- 4'd6 : rd_clk <= 1'b1;
- 4'd7 : rd_clk <= 1'b1;
- 4'd8 : rd_clk <= 1'b1;
- default : rd_clk <= 1'b0;
- endcase
- end // else: !if( rst )
- end // always @ ( posedge clk )
- endmodule // top_temp
- module test();
- reg clk,rst;
- wire rd_clk;
- wire wr_clk;
- top_temp top_temp(// Outputs
- .rd_clk (rd_clk),
- .wr_clk (wr_clk),
- // Inputs
- .clk (clk),
- .rst (rst));
- initial begin
- clk =0;
- rst=1;
- #33 rst=0;
- #500 $finish;
- end
- always #5 clk = ~clk;
-
- endmodule // test
复制代码
Works OK! |
|