电路描述
实验内容:
请完成以下设计实验,编译电路并且进行波形仿真。
- 设计一个最简单的计数器,只有一个CLK输入和一个OVerflow输出,当计数到最大值的时钟周期CLK输出1
- 设计复杂的计数器,和本例相似,带有多种信号,其中同步清零CLR的优先级最高,使能EN次之,LOAD最低。
一.简单计数器
- 代码
计数器代码 /
module counter_sim(
CLK , // 时钟,上升沿有效
OV // 计数溢出信号,计数值为最大值时该信号为1
);
input CLK;
output OV ;
reg [3:0] CNT;
reg OV;
// 电路编译参数,最大计数值
parameter CNT_MAX = 9;
always @(posedge CLK) begin
if(CNT < CNT_MAX-1) begin // 未计数到最大值, 下一值加1
CNT = CNT +1;
OV = 0;
end
else begin // 计数到最大