前段时间做了很多前期的工作,终于成功在板子上运行了自己的第一个FPGA工程,用一个10位的变量控制板载10位小灯按照二进制每次加一闪亮。周期是1S。
下面将步骤以及遇到的问题贴出来给同样初学FPGA的同学一点参考。
1,新建一个工程,名称叫做conuter_leds,选择存储路径,一班路径不要带空格,不要带中文字符,我的在C盘,选择相应的器件,其他默认设置就可以。
2,新建一个Verilog HDL file,conuter.v文件,注意文件名不能与工程名称一致,因为如果这个文件只是工程的一部分,如果这个文件与工程名一致的话编译的时候就会认为整个工程是以这个文件为中心的,会出错。键入以下代码:
module counter(clock,out);
input clock;
output [9:0]out;
reg [9:0]out;
integer i;
always@(posedge clock)
begin
if(i==50_000_000)
begin
out<=out+1;
i <=0;
end
else
begin
i <= i+1;
end
end
endmodule
这段代码的目的是对输入的时钟进行计数,当计数到5M时输出+1,由于系统时钟是5M,这样的话输出的频率技术1Hz。
3,把上一步编写的VerilogHDL代码变成BSF文件,这就相当于封装成一个函数啦。点击File/Create/Update/Create Symbols from Current File,这样就把刚才编辑的文件创建了一个counter.bsf文件备用啦,存储路径就在工程根目录。
4,新建一个BDF文件File/New/Block Diagram/Schematic File,在这个文件空白处右键Insert/Symbol...,在Liberty框里找到project,选中counter,这就是咱们刚才生成的BSF文件啦,拖放到合适位置,然后再建立一