part-7 流水灯
1.目标
在BeMicroCV的板子上实现一个流水灯。CV的板子上提供了8个led供我们使用。
BEmicro-CV上的这个一代Cyclone V系列是Cyclone最后一代产品了,从MAX 10开始Cyclone和MAX就合并了,以后都叫MAX了,都是FPGA集成高速配置器件的结构。
这次的IDE环境为14.1的quartus-ii,14.1版本最大的变化就是增加了2大系列的器件库: MAX 10和Arria 10。
Arria 10系列性能和Stratix V一样,价格是Stratix V的一半或者更低。这个版本没有集成Stratix 10系列,传闻下一版才集成进去,因为Stratix 102015年才量产,采用Intel的14nm工艺生产,号称比Xilinx最新的U系列FPGA性能高一倍,同容量下价格低一半,功耗低一半,是全世界第一款LE、RAM、浮点硬乘加器超过1GHz的FPGA,其中一部分型号集成了64位、4核、2GHz速度的ARM Cortex-A53,Altera的人宣称领先Xilinx至少5年。--其实无非是Altera这次抱上了Intel的大粗腿,用Intel拿巨额的钱砸出来的生产线生产FPGA而已,否则Altera不可能迅速获得那么大的优势!
2.约定
开发环境IDE为quartus-ii14.0.1 -------现在只支持64bit版本的操作系统了。
开发板:BeMicro-CV-Cyclone V-E FPGA-5CEFA2F23C8N device
OS:windows 64 bits
3.实现思路
流水灯 实现比较简单, 我就放出 源码就可以。 不明白的 朋友可回复。
4. 实现
//date :2015-12-04
//name:akira
//subject:led_light
module led0_module
(
CLK,RSTn,LED_OUT
);
input CLK;
input RSTn;
output LED_OUT;
/**************** jingzhen 50Mhz,50M*0.01=5_000_000******/
parameter T100ms=23\'d5_000_000;
reg Count1;
always@(posedge CLK or negedge RSTn)
if(!RSTn)
Count1<=23\'d0;
else if(Count1==T100ms)
Count1<=23\'d0;
else
Count1<=Count1+1\'d1;
/*******************************/
reg rLED_OUT;
always@(posedge CLK or negedge RSTn)
if(!RSTn)
rLED_OUT<=1\'b0;
else if(Count1>=23\'d0&&Count1<23\'d1_250_000)
rLED_OUT<=1\'b1;
else
rLED_OUT<=1\'b0;
/**************************************/
assign LED_OUT=rLED_OUT;
/**************************************/
endmodule
5. 综合
6.下载 验证
朋友 自行验证吧。我随后 附上