分类：电脑/网络-软件
问题：利用VHDL语言编写程序，完成数字日历钟的设计，系统具有使能、清? 
1、计时功能，能够完成正常的年、月、日的计数（包括闰年）；2、显示功能，通过四个数码管显示日期，其中年四位，月两位，日两位，利用切换开关分别显示年、月日；3、设置使能控制信号en，en=0正常工作，en=1日历停止工作；4、设置系统清零开关clr，clr=0正常工作，clr=1日历显示全部清零；5、借助完成对各功能模块的仿真；6、利用可编程逻辑器件完成对程序的下载和显示。
回答：你试试看。module Div20x (rst, clk, cet, cep, count,tc);//TLE 'Divide-by-20 Counter with enables'//enable CEP is a clock enable only//enable CET is a clock enable and enables the TC output// 使用 Verilog 语言描述的一个计数器    parameter size = 5;    parameter length = 20;    input rst; // 这些输出/输入表示这个模组的对外连线    input clk;    input cet;    input cep;    output [size-1:0] count;    output tc;    reg [size-1:0] count; // 宣告硬体内的暂存器    wire tc; // 连接线        // 下方的always 块是属于平行执行的块，当任何时间rst 或clk 讯号有从low 到high 的转变时候就会被执行    always @ (posedge rst or posedge clk)        begin            if (rst) // 这个模拟计数器的重设                count <= 5'b0;            else if (cet && cep) // 这个模拟两个enable 讯号都为true            begin                if (count == length-1)                begin                    count <= 5'b0;                end                else                    count <= count + 5'b1; // 5'b1 是5 bits 宽度且等于1 的数值            end        end    // tc的值将按照后面的运算式实时改变    assign tc = (cet && (count == length-1));endmodule