好文档 - 专业文书写作范文服务资料分享网站

FPGA入门教程 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

比如对这个project,我们希望系统的最高工作频率为120MHz,那么我们点击Assignments→在窗口中可以设置:

又比如,我们希望节省FPGA芯片资源,那么就可以在综合时对面积进行优化,还是在刚才的窗口中设置:

此外,如果需要对某个信号进行单独的约束时,就要进入Assignments Editor对话框来添加约束,点击Assignments→

信号、约束种类和约束值,即设置完毕。

至于具体施加何种设计约束,就只有等待大家在实践中慢慢掌握了,可以查阅其他书籍或QuartusⅡ使用手册,更多的还是依靠经验。

,按下图的显示来选择约束

选择约束信号 约束种类约束值

5.4全编译

在以上步骤都完成后,我们将对整个project进行全编译(Compilation)。点击Processing→

全编译主要包括四步操作:分析综合(Analysis & Synthesis)、布局布线(Fitter)、编程配置(Assembler)、时序时延分析(Timing Analyzer),这些操作都是一次性完成的,无需干预。

全编译的同时还生成了一份编译报告,这个报告中包含了许多重要信息。尤其是时序分

析报告,如果设计中有时序违规的情况发生,报告中的那一项将被显示为红色。一般来说,我们必须保证项目中没有任何时序违规的情况。

5.5时序仿真

为了验证设计的正确性,必须进行时序仿真。 首先建立仿真文件,点击file→NEW→右键→Insert Node or Bus→

然后就是绘制仿真波形。大家要明白这一点,我们对设计进行仿真,无非是施加激励,

,即得到仿真波形文件。然后

导入需要仿真的信号。

然后观察输出(即响应)是否符合我们的设计要求。绘制波形就是施加激励的一种方式。下图是仿真之前的波形图,暂时将频率控制字设置为1。

运行仿真。点击Processing→,得到下图的仿真结果:

修改频率控制字为3,得到下图的仿真结果:

可以看出,仿真波形都是正确的,满足我们的设计要求,这样,就可以下载至FPGA中进行调试了。

补充一点:大家可以清晰地看到波形仿真中的毛刺,这是因为QuartusⅡ的仿真是综合后仿真,就是说是带有延时信息的。毛刺产生的原因是因为组合逻辑在系统工作频率很高时产生了竞争。

5.6下载编程

最后一步就是将全编译产生的编程文件(.pof或.sof文件)下载至FPGA中。

首先,我们需要设置配置方式和配置芯片,点击Assignments→Device→

在设置完成后,需要重新运行全编译。

然后,点击Tools→

下载电缆

配置方式

,进入下载编程配置窗口。

.pof编程文件

配置芯片

我们使用的下载电缆是ByteBlasterⅡ,如右图。

安装下载电缆的驱动请见补充教程7:安装QuartusII下载电缆。

最后,在硬件连接正常的情况下,点击

即完成

配置。需要注意的是,在任何情况下插拔下载电缆,都必须关电。

6.ModelSim和Testbench

我们在进行功能仿真时,经常需要用到ModelSim和Testbench。由于篇幅的限制,这里只做简要的介绍。

ModelSim的使用请见补充教程8:modelsim使用教程。

Testbench,其实就是测试平台的意思,一般Testbench的结构如下:

Testbench的编写一般使用行为级语法,因为它不需要被综合。而且一般使用元件例化的方法将被验证设计例化至Testbench文件中。下面结合DDS正弦波发生器的设计列举一个testbench的实例。

首先,我们要得到“被验证设计”文件。我们设计的DDS正弦波发生器的顶层文件是一个用原理图方式描述的文件(格式为.bdf),我们可以点击file→Create/Update→

, 得到verilog描述方式的顶层文件,如下:

module DDS_ generater (inclk, reset, enable, control_word, DDS_DATA); input inclk; input reset; input enable; input [5:0] control_word; output [11:0] DDS_DATA;

wire sys_clk;

wire [11:0] SYNTHESIZED_WIRE_0; wire SYNTHESIZED_WIRE_1;

altpll0 Ualtpll0 (.inclk0(inclk),

.areset(reset), .c0(sys_clk));

lpm_rom0 Ulpm_rom0 (.clock(sys_clk),

激励 被验证设计响应检查测试平台Testbench

FPGA入门教程 - 图文

比如对这个project,我们希望系统的最高工作频率为120MHz,那么我们点击Assignments→在窗口中可以设置:又比如,我们希望节省FPGA芯片资源,那么就可以在综合时对面积进行优化,还是在刚才的窗口中设置:此外,如果需要对某个信号进行单独的约束时,就要进入AssignmentsEditor对话框来添加约束,点击Assignme
推荐度:
点击下载文档文档为doc格式
7z8sj0f2p46m3qp9y5qe
领取福利

微信扫码领取福利

微信扫码分享