Verilog設計十進制加法器(FPGA)

本文提供了一個同步清零、同步置數的十進制加法計數器代碼和一個異步清零、異步置數的可逆十進制計數器代碼,且使用ISE13.4綜合通過並在Basys2開發板上成功驗證功能,此外大家可以修改代碼以調節週期。

同步清零、同步置數的十進制加法計數器代碼:

module add_1(
   input clk,//50MHz,20ns
	input sw0,//清零
	input sw1,//置數
	input [3:0] data,
	output reg [3:0] led
    );

  reg [25:0] mclk;
  reg q;//1Hz時鐘
  
  initial mclk=26'b0;
  initial q=0;
  
  always@(posedge clk)
  begin
    if(mclk==25000000)
	   begin
		mclk<=0;
		q=!q;
		end
	 else
	   begin
		mclk<=mclk+1;
		end
   end
	
	always@(posedge q)
	begin
	if(sw0==1)
	  begin
	  led<=0;
	  end
	else if(sw1==1)
	  begin
	  led<=data;
	  end
	else if(led>=9)
	  begin
	  led<=0;
	  end
	else
	  begin
	  led<=led+1;
	  end
	end	
endmodule

約束條件:

NET"clk"LOC=B8;
NET"sw0"LOC=N3;
NET"sw1"LOC=E2;
NET"data[0]"LOC=P11;
NET"data[1]"LOC=L3;
NET"data[2]"LOC=K3;
NET"data[3]"LOC=B4;
NET"led[0]"LOC=M5;
NET"led[1]"LOC=M11;
NET"led[2]"LOC=P7;
NET"led[3]"LOC=P6;
異步清零、異步置數的可逆十進制計數器代碼下載地址:https://download.csdn.net/download/weixin_39603637/10374030


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章