列表内容
开始学习FPGA
在大学期间一直听说FPGA这种东西却没有人带着学习,甚至没有见过实物(主要是周围的学长和老师没有人用),开始工作了才真正见到FPGA的实物,自己攒了俩月的工资终于买了一块2300大洋的友晶的开发板(型号是de10-standard)以后所有的代码和资料均以这个开发板优先考虑)。首先声明,本人目前也是刚刚开始学习,书写的内容或所述有可能存在问题,我希望自己能把这个学习的过程记录下来并帮助到需要的人,如果有疑义或错误之处欢迎指教或一起讨论,共同进步!当然我也不知道能坚持多久,这同时也是本人写的第一个博客,我一定尽力维护和更新。废话不多说了,神奇的FPGA之路开始吧!
第一个项目:LED。
功能实现:点亮并闪烁1颗LED。
没办法,所有的教程都是用它作为开始。先秀一下开发板~
然后理清楚电气连接:
了解了电气连接后就可以开始软件的编写了。至于具体的工程的建立和细节我就不一一再叙述,毕竟网上关于这类的教程有很多,如果需要的话可自行搜索。
我是用的软件版本是intel的quartus prime 17.0,创建完成项目后,开始编写第一个LED实验的代码:
module LEDs ( LED1 , clk );
output LED1;
input clk;
reg [27:0] timer;
always @ (posedge clk)
begin
timer <= timer + 1;
if(timer >= 28'HEFFFFFF)
begin
timer <= 28'b0;
end
end
assign LED1 = timer[26];
endmodule
列表内容
我一般是先进行代码编写,之后再配置各个所用到的时钟和wire。接下来下载程序。
先选择tool –> programmer 在programmer页面查看是否连接上仿真/下载器,我使用的板载的blaster,如图所示。
如果查看不到下载设备,可到hardware setup查看。
在程序编译运行之后,在programmer页面点击Auto Detect,选择你的FPGA型号,我的芯片型号是Cyclone 5csxfc6d6。点击后下载页面出现下图内容,点击下面一行,右键change file..选择output内的.sof文件。然后start…进度条到100%后,下载完成。可以看到开发板的第一个LED闪烁。
我选择的是烧录文件,所以会有三个选项。你是仿真下载的话应该是如下图所示。
第一个项目到这里就完成了。
程序的细节将放到下一条博客里详细解析。