初学FPGA,吃一堑长一智的过程。
所用的FPGA开发板黑金学习板ALINX301,FPGA型号CycloneIV EP4CE6F17C8N。
初学嘛,都是从点亮第一个LED小灯开始。
module FisrtLed(led);
output [3:0] led;
assign led=4'b1010;
endmodule
发现不一样的地方是,51单片机使用的灌电流驱动LED,FPGA好像没有这一说(不懂~)。
看原理图是这样的:
直接让FPGA输出3V3 or 1.2V or 2.5V or 2.8V ,看芯片手册还看到FPGA能设置Current Strength。
8ma电流够驱动一个小灯了。也试了一下4ma驱动,也是可以的。
一开始在pins planer中设置完led的every location后,编译一下出现个错误。
Error:can‘t place mutiple pins assgined to pin location Pin_F16。
大概知道是不能这么使用给这个多用途的引脚赋值,不知道为啥。
查看了一下FPGA的led1的引脚图:
看到F16这个引脚有很多的功能,对此错误没有任何感觉~没辙,百度吧。毕竟百度啊,啥都有!
解决方案:
将QuartusII中的Assignme-Device-Device and pin option-Dula Purse pin 将nCEO的设置改为used as regular I/O
至此,解决是解决了,确实F16的一个功能是nCEO,然而还是没啥感觉,不知为啥这个nCEO的功能是什么为啥不能给它assign。
继续百度~
nCEO是一个可复用的引脚,在单个设置配置时可以用软件将其改为用户I/O引脚,也可以改成三态,这个引脚的主要作用就是在多个FPGA中作为下一个FPGA的nCE引脚,而nCE主要是作为设备的片选信号,低电平有效。
关于这个ERROR有个博客写得更细:
http://www.cnblogs.com/oomusou/archive/2011/02/28/de2_70_dual_pin.html
继续熟悉FPGA。。。