FPGA学习笔记1——Quartus Ⅱ软件使用
个人声明
FPGA初学者,从零开始,博客为个人学习笔记,从其他学习视频中摘录并以文字方式记录,方便日后调用与调试,其中一定会因个人水平有限从而存在诸多错误,希望各位大佬指正,万分感谢!!!
软件使用
新建工程
工程路径下不能出现中文字符,须为字母、数字、下划线形式
-
新建文件夹
在选中的工程路径下新建文件夹example
-
在example下创建4个新的文件夹
doc存放说明文档,数据手册等
par存放工程文件
rtl存放设计文件,代码
sim存放仿真文件
-
打开Quartus Ⅱ软件
- 新建工程
- 第一个页面点击next,然后设置工程储存路径,工程名称,随后添加代码界面继续next
- 选择FPGA型号
- 继续next直到完成
完成后可通过双击FPGA型号进行修改
新建工程文件
- 点击Fire->New->Verilog HDL Fire
- 复制验证代码并保存(流水灯)到rtl文件夹下,注意代码开头
module
后的名字与文件名一致
module example(
input sys_clk , //系统时钟
input sys_rst_n, //系统复位,低电平有效
output reg [3:0] led //4个LED灯
);
//reg define
reg [23:0] counter;
//*****************************************************
//** main code
//*****************************************************
//计数器对系统时钟计数,计时0.2秒
always @(posedge sys_clk or negedge sys_rst_n) begin
if (!sys_rst_n)
counter <= 24'd0;
else if (counter < 24'd1000_0000)
counter <= counter + 1'b1;
else
counter <= 24'd0;
end
//通过移位寄存器控制IO口的高低电平,从而改变LED的显示状态
always @(posedge sys_clk or negedge sys_rst_n) begin
if (!sys_rst_n)
led <= 4'b0001;
else if(counter == 24'd1000_0000)
led[3:0] <= {led[2:0],led[3]};
else
led <= led;
end
endmodule //代码来自正点原子
-
点击分析与综合查看使用资源说明等
-
在Tools->Options->Text Editor中将Tap size设置为4
-
设置IO模式为普通IO
-
分配引脚
进入Pin Planner
根据原理图配置引脚,可通过直接修改par文件夹下.qsf文件直接修改
-
编译文件并下载程序
随后下载程序并观察
生成固化程序——.jic文件
- Fire->Convert Programmer Fire
.jic文件为固化程序文件,掉电保存,下载方法同上。