赞
踩
本次给大家介绍一个非常有意思的Verilog编程题,题目描述如下图:
这道题主要考察了计数器相关的知识,对逻辑能力要求比较严格,解答如下:
- module top_module(
- input clk,
- input reset,
- input ena,
- output pm,
- output reg[7:0] hh,
- output reg[7:0] mm,
- output reg[7:0] ss);
- always @(posedge clk)begin
- if(reset)begin//复位,复位值12:00:00 AM
- pm <= 1'b0;
- hh <= 8'h12;
- mm <= 8'h00;
- ss <= 8'h00;
- end
- else if(ena) begin
- if(ss < 8'h59)begin//秒计时
- if(ss[3:0] < 4'h9)//每满10秒进1
- ss[3:0] <= ss[3:0] + 1'b1;
- else begin
- ss[3:0] <= 4'h0;
- ss[7:4] <= ss[7:4] +
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。