QUARTUS波形仿真教程
module bcd60counter(clk,switch,count);input clk,switch;
outputcount;
regcount=8'b0;
always@(posedge clk)
begin
if(switch)
begin
count=count+8'b1;
//若低四位向高四位进位
if(count==4'b1010)
count=count+8'b00000110;
//若到了60
if(count==8'b01100000)
count=0;
end
else
begin
//count=count-8'b1;
//若低四位向高四位借位
if(count==4'b0000)
begin
//count=4'b1010
count=count-8'b1;
count=count-8'b00000110;
end
else
count=count-8'b1;
if(count==8'b00000000-8'b00000111)
count=8'b01011001;
end
end
endmodule
程序写好后,点击如图按钮进行编译:
https://www.freesion.com/images/279/a892bf1900cca49651bd088d9a3dc6c7.png
编译成功后,按如图所示顺序依次点击,建立波形文件。
https://www.freesion.com/images/181/ec240b05b157e9379f979f5564de4cbd.png
在新窗口中,选择以下项,添加波形。
https://www.freesion.com/images/456/df8555d9ef124270b903df1463846690.png
按以下顺序依次点击,选择波形:
https://www.freesion.com/images/926/16c972c27d7a78cb52e8473ded9bfc1e.png
依次点击完ok后,会看到以下界面:
https://www.freesion.com/images/903/3a082f105c4cf8e862c939f4ba4b140f.png
下列图标中,最左端用于选择波形区间,第二个用于放大缩小,之后十一个用于设置之前选中的波形区间,后面的为仿真。设置好波形并仿真得到以下结果:
https://www.freesion.com/images/571/9c19133243c09c961783658ed2a536c3.pnghttps://www.freesion.com/images/443/95a636f6b0b18cded8e4c20ce32ed4a3.png
在使能端switch为高电平时,计数器从当前数字开始计数(向上计数),最高计到59,然后从0重新开始;在使能端为低电平时,计数器从当前数字开始计数(向下计数),最低到0,然后从59从新开始向下计数。
页:
[1]