Quartus II使用入门
1. 建立工程。(1)选择File—>New Project Wizard,弹出新建工程对话框,输入工程路径和工程名称,然后点击next进入下一步。在这里要注意工程的名称一定要与verilog的顶层模块名称一致,否则编译会出错。https://pic2.zhimg.com/80/v2-6434ab64e32ad784845e00404933b93d_720w.webp(2)上一步之后进入一下界面,不作任何操作直接点击next进入下一步。https://pic3.zhimg.com/80/v2-eb20e9feb1dfa715ceb0a90689586bd6_720w.webp(3)接着选择FPGA芯片的型号,我使用的是Cyclone II系列的EP2C8Q208C8。选择型号之后点击next进入下一步。https://pic1.zhimg.com/80/v2-9397772d5cf551365fc55dd7d0a4e4bc_720w.webp(4)选择编程语言,这里选择的是verilog语言,然后一直点击next直到弹出finish对话框,点击finish完成工程的建立。https://pic3.zhimg.com/80/v2-1f925a1a15c9247715ff38f1a09ba012_720w.webp(5)工程建立之后,就新建verilog文件。点击File—>New,弹出New对话框。该对话框用于选择新建的文件类型,这里我们选择Verilog HDL File,选择之后点击OK。https://pic1.zhimg.com/80/v2-df18ac2c88e17a88901b983a0dceb950_720w.webp(6)在新建立的文件中输入verilog代码,这里我们以31以内的奇数倍分频为例,功能是输出50%占空比的奇数倍分频信号。代码如下:module fenpin(clk_in, //输入信号
rst_n, //复位信号
N, //奇数分频倍数3~31
clk_out); //输出信号
input clk_in;
input rst_n;
input N;
output clk_out;
reg cnt, cnt1;
reg clk_p, clk_n;
always @(posedge clk_in or negedge rst_n)
begin
if(!rst_n)
cnt <= 5’d0;
else if(cnt == N-1)
cnt <= 5’d0;
else
cnt <= cnt + 5’d1;
end
always @(negedge clk_in or negedge rst_n)
begin
if(!rst_n)
cnt1 <= 5’d0;
else if(cnt1 == N-1)
cnt1 <= 5’d0;
else
cnt1 <= cnt1 + 5’d1;
end
always @(posedge clk_in or negedge rst_n)
begin
if(!rst_n)
clk_p <= 5’d1;
else if(cnt == ((N-1)>>1)-1)
clk_p <= ~clk_p;
else if(cnt == N-1)
clk_p <= ~clk_p;
else
clk_p <= clk_p;
end
always @(negedge clk_in or negedge rst_n)
begin
if(!rst_n)
clk_n <= 5’d1;
else if(cnt1 == ((N-1)>>1)-1)
clk_n <= ~clk_n;
else if(cnt1 == N-1)
clk_n <= ~clk_n;
else
clk_n <= clk_n;
end
assign clk_out = clk_p | clk_n;
endmodule
(7)输入代码之后,要保存文件,点击File—>Save,在弹出的对话框中输入文件名称并保存文件。
(8)建立顶层文件,这里我们使用的是图形与代码混合的设计方式,当代码和模块较少时,这种设计方式的优势不能体现出来,但是如果整个工程的模块多了,使用这种设计方式会使得整个设计清晰明了,极大减小出错的概率。选择File—>New,选择文件类型为Block Diagram/Schematic File,点击OK,就生成了一个Block1.bdf的图形文件。https://pic1.zhimg.com/80/v2-5ea60ada2e1da1c07cb838c44a6eec5c_720w.webp(9)往图形文件中添加模块。首先要生成verilog文件的模块。右键点击Quartus II左上角的verilog文件,选择Creat Symbol Files for Current File,就可以生成该文件的模块:https://pic4.zhimg.com/80/v2-cbe33f3ea3592b32b114909de86efdb3_720w.webp(10)生成verilog文件的模块成功之后,就可以在图形文件中添加该模块了。在Block.bdf界面中双击鼠标左键,弹出Symbol对话框,选择选项Project下的模块,点击OK,就会发现选中的模块会跟随鼠标在Block.bdf界面中移动,找一个适当的位置点击左键,把模块放置在该位置。https://pic1.zhimg.com/80/v2-ee637abc8fe503e5c8793230fde5da0c_720w.webp(11)接下来为模块配置输入和输出管脚(请注意此处未配置到芯片的具体管脚)。同样在Block.bdf界面中双击鼠标左键,弹出Symbol对话框,选择pin选项下的input和output管脚,并放置到Block.bdf界面的适当位置,然后开始连线。注意连线的时候,最好把输入输出端口的名称修改为与模块对应的管教一致,而且当模块的某一信号的位宽为多位时,其对应的端口也要修改为多位宽。比如我们分频模块的N输入信号位宽为5,则应把对应的输入端口位宽也修改为5:https://pic3.zhimg.com/80/v2-6202a10687b57cd61d66ce19282cd482_720w.webp配置并连接好输入输出管脚之后,整个Block1.bdf界面如下图所示:
https://pic4.zhimg.com/80/v2-78109058ea36e93f110690c0852723a7_720w.webp
(12)接下来保存Block1.bdf文件为sanfenpin.bdf文件,然后在左上角的Files下面右键点击sanfenpin.bdf文件,选择Set as Top-Level Entity,把该文件设置为顶层文件。https://pic4.zhimg.com/80/v2-4153ff2522dcf9a6ed34838e1040d46f_720w.webp(13)点击工具栏上方的编译按钮,编译整个工程。https://pic3.zhimg.com/80/v2-1d1281187d2fa70630762f9e99f4ac92_720w.webp2. 波形仿真。(1)建立波形文件。点击File—>New,选择Vector Waveform File,点击OK,则生成了一个波形文件Waveform1.vwf。(2)往波形文件添加信号。在波形文件的Name窗口单击鼠标右键,选择Insert—>Insert Node or Bus。https://pic2.zhimg.com/80/v2-6ce75c13bcd3c9c95ff1856cf76f0119_720w.webp然后在弹出的Insert Node or Bus对话框中点击Node Finder:https://pic3.zhimg.com/80/v2-045510be42885d08d5ab656730d3d552_720w.webp在弹出的Node Finder对话框中,在Filter选项中选择Pins:all,再点击List,然后在Nodes Found方框中将显示所有输入输出信号,选择仿真需要的信号,添加到右端的Selected Nodes方框中,最后点击OK完成信号的添加。https://pic3.zhimg.com/80/v2-1786caae3e4701de0bc76d791f5b8a46_720w.webp
(3)编辑信号。添加信号完成后,就可以看到波形文件的Name窗口下面列出了之前添加的信号。https://pic4.zhimg.com/80/v2-0286c4a72bd3798c014fd1eff627c177_720w.webp选中Name窗口下的信号后,工具栏将由灰色变为黑色:https://pic2.zhimg.com/80/v2-7c550856fb0fb65af44313e46aa93afd_720w.webp分别选中各个信号并对其进行编辑,编辑之后保存波形文件:https://pic2.zhimg.com/80/v2-04602c40167266af938c839788955e95_720w.webp(4)好了,经过以上步骤就可以对波形进行仿真的,通过设置N值为3~31的奇数,就可以N倍的奇数分频信号。点击工具上方的仿真按钮,开始进行仿真:https://pic1.zhimg.com/80/v2-58e7af5d6de39c2639d12fe151e17200_720w.webp3分频:https://pic1.zhimg.com/80/v2-044eda82d5e5e3113862b3d83fd2fdb8_720w.webp5分频:https://pic2.zhimg.com/80/v2-04975029569541fd35fe8454a4b5bd39_720w.webp7分频:https://pic1.zhimg.com/80/v2-bdb3f55d289b5c5baafa44d2ba5ca8e4_720w.webp
页:
[1]