Quartus波形仿真教程

下面我以一个模为60的BCD码加法计数器为例来讲解此教程。


先贴上代码:

module bcd60counter(clk,switch,count);
input clk,switch;
output[7:0]count;
reg[7:0]count=8'b0;
always@(posedge clk)
	begin
		if(switch)
			begin
				count=count+8'b1;
				//若低四位向高四位进位
				if(count[3:0]==4'b1010)
					count=count+8'b00000110;
				//若到了60
				if(count==8'b01100000)
					count=0;
			end
		else
			begin
				//count=count-8'b1;
				//若低四位向高四位借位
				if(count[3:0]==4'b0000)
					begin
						//count[3:0]=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

程序写好后,点击如图按钮进行编译:
Quartus波形仿真教程_第1张图片
编译成功后,按如图所示顺序依次点击,建立波形文件。
Quartus波形仿真教程_第2张图片
在新窗口中,选择以下项,添加波形。
Quartus波形仿真教程_第3张图片
按以下顺序依次点击,选择波形:
Quartus波形仿真教程_第4张图片
依次点击完ok后,会看到以下界面:
Quartus波形仿真教程_第5张图片
下列图标中,最左端用于选择波形区间,第二个用于放大缩小,之后十一个用于设置之前选中的波形区间,后面的为仿真。设置好波形并仿真得到以下结果:
在这里插入图片描述


在这里插入图片描述
在使能端switch为高电平时,计数器从当前数字开始计数(向上计数),最高计到59,然后从0重新开始;在使能端为低电平时,计数器从当前数字开始计数(向下计数),最低到0,然后从59从新开始向下计数。

你可能感兴趣的:(Quartus波形仿真教程)