|
- module hc393( //74HC393 二组四位二进制计数器
- input clk_a, //下降沿 计数A+1 Pin1
- input mr_a, //上升沿 计数A=0 Pin2
- input clk_b, //下降沿 计数B+1 Pin13
- input mr_b, //上升沿 计数B=0 Pin12
- output [3:0] q_a, //计数A输出 Pin3~Pin6
- output [3:0] q_b //计数B输出 Pin11~Pin8
- );
- reg [3:0] qa;
- reg [3:0] qb;
- assign {q_a,q_b} = {qa,qb};
- always @(negedge clk_a or posedge mr_a) begin
- if(mr_a) begin
- qa <= 4'b0;
- end else begin
- qa <= qa + 4'b1;
- end
- end
- always @(negedge clk_b or posedge mr_b) begin
- if(mr_b) begin
- qb <= 4'b0;
- end else begin
- qb <= qb + 4'b1;
- end
- end
- endmodule
- module main(
- input clk, //50Mhz
- output out //195Khz
- );
- wire [3:0] q_a;
- wire [3:0] q_b;
- hc393 U1(
- .clk_a(clk),
- .mr_a(1'b0),
- .clk_b(q_a[3]),
- .mr_b(1'b0),
- .q_a(q_a),
- .q_b(q_b)
- );
- assign out = q_b[3];
- endmodule
复制代码 |
|