【红色飓风Nano二代测评】流水灯
0赞这个星期一直呆在实验室,有时间可以写测评了,建议大家博客先写在word中(貌似我是最后一个知道的),不要直接在网页上编辑,说多了都是眼泪啊!
以前一直用的是Altera的FPGA器件,现在刚接触Xilinx,初步感觉ISE的界面看起来比Quartus的高大上一些。这种感觉就像突然换了一个一直使用的屏保。可能是Quartus看习惯了吧!
想起了原来在大学学单片机的时光,那个时候我们这边流传着一句话,学东西要学精!接触单片机最开始的是51,然后是AVR,再到MSP430等。如果51学会了点流水灯,然后再去学AVR点流水灯,再学会MSP430点流水灯,那么到头来只会点流水灯!相反如果51学的很精通了,神马AVR,MSP430都只是开发平台不一样而已。
学Xilinx也从流水灯开始吧!
module LED
(
input clk,
input rst_n,
output[7:0] led
);
reg[22:0] Count; //计数器
always @ (posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
Count <= 23'd0;
end
else
begin
Count <= Count + 1'b1;
end
end
reg[7:0] ledr;
always @ (posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
ledr <= 8'd1;
end
else if(Count == 23'H3FFFF)
begin
ledr <= {ledr[6:0],ledr[7]};
end
end
assign led = ledr;//8'HAA
endmodule
程序是相当的简单,主要是为了将ISE这个软件的使用流程了解清楚。将代码写好之后,再添加一个ucf文件
NET "clk" LOC = "M9" ;
NET "led[0]" LOC = "M12" ;
NET "led[1]" LOC = "L12" ;
NET "led[2]" LOC = "L13" ;
NET "led[3]" LOC = "M14" ;
NET "led[4]" LOC = "R12" ;
NET "led[5]" LOC = "T12" ;
NET "led[6]" LOC = "T13" ;
NET "led[7]" LOC = "T14" ;
NET "rst_n" LOC = "P7" ;
编译完成后下载到开发板就可以了。
这个下载过程和QuartusII的下载各有千秋吧,QuartusII的分成两个下载文件POF,SOF分别对应的不同的功能,而且AS、Jtag口来回的切换也比较纠结。Xilinx的在下载配置的时候需要配置好,只要配置好之后后面的事情就很简单了。
图1
如果是想调试那就直接在芯片上面右击然后选择Program,如果是想下载那就在FLASH上面右击然后选择Program.感觉确实挺人性化的。
还有一个就是ISE自带的仿真软件也很不错,基本操作和Modelsim类似。
图2
总体来说就是有一种相见恨晚的感觉。后续的话再测试下串口、网口、USB等。
