eda课程设计定时器
时间: 2023-12-10 21:35:12 浏览: 118
湖南科技大学EDA作业.docx
根据提供的引用内容,EDA课程设计的定时器需要实现以下功能:
1. CLK作为1Hz时钟输入端。
2. clrn作为复位输入端,低电平有效。
3. jm、jf、js分别是秒、分、时的输入端,下降沿有效。
4. 分别是秒分时的计时输出端。
5. cout是脉冲输出端。
6. 可以通过拨动相应的拨码开关实现计时器的复位功能,按动jm、jf、js所锁的按键可实现时、分、秒校准。
7. 需要注意程序问题,以确保23计数归0的正确性。
以下是一个简单的EDA课程设计定时器的代码实现,其中使用了Verilog语言:
```verilog
module timer(
input CLK, clrn, jm, jf, js,
output reg [3:0] sec, min, hour,
output reg cout
);
reg [3:0] sec_count, min_count, hour_count;
always @(posedge CLK) begin
if (clrn == 0) begin
sec_count <= 0;
min_count <= 0;
hour_count <= 0;
end else begin
if (jm == 0) begin
sec_count <= 0;
end else begin
sec_count <= sec_count + 1;
if (sec_count == 10) begin
sec_count <= 0;
if (jf == 0) begin
min_count <= min_count + 1;
if (min_count == 6) begin
min_count <= 0;
if (js == 0) begin
hour_count <= hour_count + 1;
if (hour_count == 24) begin
hour_count <= 0;
end
end
end
end
end
end
end
end
assign sec = sec_count;
assign min = min_count;
assign hour = hour_count;
always @(posedge CLK) begin
if (sec_count == 9) begin
cout <= 1;
end else begin
cout <= 0;
end
end
endmodule
```
阅读全文