设计一个具有以下输入和输出的 1-12 计数器:
复位同步高电平有效复位,强制计数器为 1
启用设置为高以使计数器运行
clk上升沿触发时钟输入
Q[3:0]计数器的输出
c_enable, c_load, c_d[3:0]控制信号进入提供的 4 位计数器,它们的目的是允许检查这些信号的正确性。
您有以下可用组件:
下面的 4 位二进制计数器 ( count4 ),它具有启用和同步并行加载输入(加载的优先级高于启用)。count4模块提供给您。在你的电路中实例化它。
module count4( input clk, input enable, input load, input [3:0] d, output reg [3:0] Q );
逻辑门
c_enable 、c_load和c_d输出是分别进入内部计数器的enable、load和d输入的信号。它们的目的是允许检查这些信号的正确性。
module top_module (
input clk,
input reset,
input enable,
output [3:0] Q,
output c_enable,
output c_load,
output [3:0] c_d
);
assign c_enable = enable;
assign c_load = ((Q >= 4'd12)&&(enable == 1'b1))|reset;
assign c_d = c_load?4'd1:4'd0;
count4 the_counter (clk, c_enable, c_load, c_d , Q);
endmodule