(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)


Version 1.0
By yf.x
03/03/2010

Abstract

 

通过一个简单的实例介绍Quartus II 9.1和DE2基本使用方法。


Introduction


典型的计算机辅助设计流程
开始
新建一个项目(project)
Verilog设计输入
编译设计
管脚分配
仿真设计电路
规划、配置FPGA器件
测试设计的电路



一个典型的FPGA计算机辅助设计流程如图 1所示。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)
                    图 1 FPGA CAD设计流程

设计流程的步骤

•设计输入(Design Entry)-- 用原理图或者硬件描述语言说明设计的电路。

•综合(Synthesis)-- 将输入的设计综合成由FPGA芯片的逻辑元件(logic elements)组成的电路。
•功能仿真(Functional Simulation)-- 测试、验证综合的电路功能正确与否,不考虑延时。

•适配(Fitting)-- 将工程的逻辑和时序要求与器件的可用资源相匹配。它将每个逻辑功能分配给最佳逻辑单元位置,进行布线和时序分析,并选定相应的互连路径和引脚分配。

•时序分析(Timing Analysis)-- 通过对适配电路的传播延迟的分析,提供电路的性能指标。

•时序仿真(Timing Simulation)-- 验证电路的功能和时序的正确性。

•编程和下载配置(Programming and Configuration)-- 在FPGA上实现设计的电路。

 

本文主要介绍Quartus II 的基本特性。演示如何用Verilog HDL在Quartus II平台设计和实现电路。包括:

•创建一个项目(project)

•用Verilog代码设计输入

•综合

•适配

•分配管脚

•仿真

•编程与下载


1 创建一个项目
(1)启动Quartus II ,选择File > New Project Wizard,弹出窗口(图 2)

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

                          图 2 新建项目向导

(2)选择Next,如图 3输入项目路径和项目名。接着按Next,出现图 4,提示:输入的项目文件夹不存在,是否要创建。选择“是”。
(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)
                            图 3 项目路径和项目名

 

 (笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

                            图 4 确认项目路径

(3)新建项目向导里可以添加已存在的文件,假设我们这个项目没有要包含已存在的文件,在图 5选择Next。

 
(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)
                            图 5 添加已存在的项目文件

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)
                           图 6 选定目标芯片

(4)我们需要指定实现电路的目标器件,在图 6中Device family的Family中选择Cyclone II,在Available devices里选择EP2C35F672C6。(DE2上使用的型号),选择Next。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

                           图 7 指定第三方工具 

(5)在图 7里我们可以指定第三方的开发工具,本文只用到Quartus II,未用其他工具,所以选择Next。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

                          图 8 项目说明

(6)一份摘要出现在图 8,按Finish,返回Quartus II的主界面。

2 用Verilog代码设计输入


本文以实现一个2路输入控制灯开关的电路为例,如图 9,x1,x2为2个开关,f为电路输出。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

                            图 9 原理图和功能表

使用Quartus II的文本编辑器
File > New出现图 10,选择Verilog HDL File,ok确认。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

           图 10 文件类型

File > Save as,如图 11,文件名为light,文件类型为Verilog HDL File,保存。在文本编辑器里输入图 12所示的代码,保存。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

                     图 11 文件名和保存路径

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

                    图 12 2选一多选器代码

3 编译设计的电路


Processing > Start Compilation,或者单击 开始编译,编译完成,会有提示。编译成功,会看到图 13所示的编译报告,在Analysis & Synthesis > Equntions 里可以看到f=x1$x2,这里$表示异或。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

                         图 13 综合生成的功能表达式

当然,如果编译提示错误,可以在信息栏双击错误提示,光标会回到错误处,修正,重新编译即可。

4 管脚分配


我们用到2个拨动开关SW0和SW1提供外部输入,对应的FPGA管脚是N25和N26。输出f练到LEDG0,对应的FPGA管脚是AE22。

用Assignment Editor指定管脚
Assignments > Assignment Editor ,在Category选择Pin,双击To列的<<new>>选择管脚x1,双击Location,选择Pin_N25,同样操作分配x2和f。如图 14。然后保存:File > Save.

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

                          图 14 管脚分配

另一种指定管脚的方法:
Quartus II支持导入和导出管脚分配文件,可以记事本等文本编辑器编辑图 15所示的内容,保存为扩展名为.csv的文件。通过File > Assignments > Import Assignments添加编辑csv文件。如图 16。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 15 .csv文档


(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

                          图 16 导入.csv文档

5 仿真


在仿真之前,需要创建测试用的波形文件:
(1)File > New 在图 17窗口中选择Vector Waveform File,ok确认。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 17 文件类型

(2)波形文件编辑器如图 18所示

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 18 波形编辑器

保存文件为light.vwf,设置仿真时间:Edit > End time ,设置为200ns。选择View > Fit in Window 调节窗口显示的效果如图 19。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 19 全屏显示

(3)添加电路仿真需要的节点
Edit > Insert Nodes or Bus 打开图 20所示的窗口,单击Node Finder,

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 20 添加节点

在图 21所示的窗口里,filter选择Pins:all,单击List,列出输入、出节点,单击>>选择,ok确认。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 21 选择节点

(4)设定x1、x2的值,如图 22。保存。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 22 设置输入变量的值

功能仿真


选择Assignments > Settings 打开设置窗口,仿真模式选择Functional ,如图 23。Ok确认。
仿真之前,需要生产功能仿真连线表:Processing > Generate Functional Simulation Netlist。通过Processing > Start Simulation 或者 开始仿真,仿真结果如图 24。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 23 仿真类型


(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 24 功能仿真结果

时序仿真


当通过功能仿真确认设计的电路功能正确之后,开始时序仿真。在图 23的仿真模式选择Timing,然后开始仿真,结果如图 25。可以看到约有6ns的延迟。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 25 时序仿真的结果


6 编程和配置PFPGA


首先连接电源适配器和usb数据线,在DE2开发板上,靠近电源的usb接口连接到数据线。DE2支持2种程序烧录方式:JTAG和AS。JTAG模式把程序直接写在FPGA芯片里,断电后数据丢失。AS模式把数据写在配置的存储芯片里,每次通电后,数据会自动装载到FPGA芯片里。两种模式的选择由RUN/PROG开关的位置决定,JTAG模式对应RUN档,AS模式对应PROG档。

(1)JTAG模式编程


把RUN/PROG开关置于RUN档。选择 Tools > Programmer 打开窗口如图 26。这里要指定编程用到的硬件和模式。模式选择JTAG,硬件设置为USB_blaster,如果缺省没有选择,单击Hardware Setup…,在图 27中选择。

(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 26 JTAG模式编程


(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 27 选定硬件设置类型


(笔记)Quartus II 与 DE2 入门指导(Digital Logic)(DE2)

图 28 添加编程文件

注意编程的器件和文件是否已添加到图 28中,没有的话,手动添加。单击Start开始编程。


Active Serial模式


将RUN/PROG开关置于PROG档,选择assignments > device > device and pin options > configuration > 选择EPCS16。确认后在Quartus II的主界面选择tools > programmer > 确认hardware setup为usb_blaster ,mode为active serial programming,文件为.pof文件,勾选program/configure, > start

7 验证电路设计
把 RUN/PROG开关置于PROG档,切换SW0,SW1的4组不同组合,观察LEDG0,验证设计。

 

参考:

《Quartus II Introduction Using Verilog 》

你可能感兴趣的:(git)