注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

东月之神

在单纯的观念里面,生命就容易变得比较深刻!

 
 
 

日志

 
 
关于我

别驻足,梦想要不停追逐,别认输,熬过黑暗才有日出,要记住,成功就在下一步,路很苦,汗水是最美的书!

网易考拉推荐

BASYS 2实现60秒计时  

2011-07-11 23:43:06|  分类: FPGA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

源程序如下:

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date:    09:56:52 07/10/2011
// Design Name:
// Module Name:    led
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module led(input clk, input key1, input key2, output[3:0] r,  output[7:0] ledout);

reg[7:0] led;
reg[25:0] n, m;
reg[3:0] rr, t, p1, p2, p3, p4;

initial
begin
 rr = 14;
 t = 0;
 n = 0;
 m = 0;
 p1 = 0;
 p2 = 0;
 p3 = 0;
 p4 = 0;
end

always @(posedge clk)
begin
 n = n + 1;
 if(n == 100000)
 begin
  n = 0;
  if(rr == 14)
  begin
   t = p3;
   rr = 13;
  end
  else if(rr == 13)
  begin
   t = p2;
   rr = 11;
  end
  else if(rr == 11)
  begin
   t = p1;
   rr = 7;
  end
  else if(rr == 7)
  begin
   t = p4;
   rr = 14;
  end
 end
 
 if(key1 == 1)
 begin
  p1 = 0;
  p2 = 0;
  p3 = 0;
  p4 = 0;
 end
 
 if(key2 == 0)
 begin
 m = m + 1;
 if(m == 500000)
 begin
  p1 = p1 + 1;
  m = 0;
  if(p1 == 10)
  begin
   p1 = 0;
   p2 = p2 + 1;
   if(p2 == 10)
   begin
    p2 =0;
    p3 = p3 + 1;
    if(p3 == 10)
    begin
     p3 = 0;
     p4 = p4 + 1;
     if(p4 == 6)
      p4 = 0;
    end
   end
  end
 end
  end
 
 if(t == 0)
  led = 8'b1100_0000;
 else if(t == 1)
  led = 8'b1111_1001;
 else if(t == 2)
  led = 8'b1010_0100;
 else if(t == 3)
  led = 8'b1011_0000;
 else if(t == 4)
  led = 8'b1001_1001;
 else if(t == 5)
  led = 8'b1001_0010;
 else if(t == 6)
  led = 8'b1000_0010;
 else if(t == 7)
  led = 8'b1111_1000;
 else if(t == 8)
  led = 8'b1000_0000;
 else if(t == 9)
  led = 8'b1001_1000;
 else t = 0;
end

assign r = rr;
assign ledout = led;

endmodule

 

管脚锁定如下:

NET "clk" LOC = B8;

NET "key1" LOC = N3;
NET "key2" LOC = E2;

NET "ledout[0]" LOC = L14;
NET "ledout[1]" LOC = H12;
NET "ledout[2]" LOC = N14;
NET "ledout[3]" LOC = N11;
NET "ledout[4]" LOC = P12;
NET "ledout[5]" LOC = L13;
NET "ledout[6]" LOC = M12;
NET "ledout[7]" LOC = N13;

NET "r[0]" LOC = K14;
NET "r[1]" LOC = M13;
NET "r[2]" LOC = J12;
NET "r[3]" LOC = F12;

  评论这张
 
阅读(68)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017