欢迎使用CSDN-markdown编辑器

来源:互联网 发布:代购淘宝描述模板 编辑:程序博客网 时间:2024/06/05 14:59

设计一个计数器,该计数器在电路复位后会循环的从0值递增计数到最大值,计数最大值是一个循环变化的过程,计数器复位之后,第一次计数最大值是6,然后是7、8、9,然后计数最大值又变成6,如此往复循环,计数过程如下所示:

module jh (CLK,RST,CNT);output[3:0]CNT;//定义输出input CLK,RST;//定义输入reg[3:0] CNT;//定义一个四位寄存器记录输出reg[3:0] VALUE=6;//定义一个四位寄存器记录作参考值always@(posedge RST or posedge CLK)//两个敏感事件复位和时钟信号begin       if(RST)//先判断是否有复位操作    begin            CNT<=4'd0000;    end     else  begin     if(VALUE>9) begin//判断参考是否达到最大值        VALUE<=6;                   end     if(CNT<VALUE) begin//判断当前值是否达到参考最大值            CNT <= CNT+4'd0001;            end            else            begin //当前值达到最大值,参考值加1,当前值置零            CNT<=4'd0000;            VALUE<=VALUE+1;            end     endendendmodule

viso绘制RTL图
这里写图片描述
quartus绘制RTL图
这里写图片描述
波形图
这里写图片描述

0 0