收藏 分享(赏)

Quartus II 软件操作87455.ppt

上传人:dreamzhangning 文档编号:3315092 上传时间:2018-10-12 格式:PPT 页数:66 大小:545.50KB
下载 相关 举报
Quartus II 软件操作87455.ppt_第1页
第1页 / 共66页
Quartus II 软件操作87455.ppt_第2页
第2页 / 共66页
Quartus II 软件操作87455.ppt_第3页
第3页 / 共66页
Quartus II 软件操作87455.ppt_第4页
第4页 / 共66页
Quartus II 软件操作87455.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、Quartus II 软件操作,一. 简介Altera公司的Quartus II软件提供了可编程片上系统(SOPC)设计的一个综合开发环境,是进行SOPC设计的基础,Quartus II集成环境包括 1系统级设计 2嵌入式软件开发 3可编程逻辑器件(PLD)设计 4综合 5布局和布线 6验证和仿真,图1 Quartus II开发流程,Quartus II设计软件根据设计者需要提供了一个完整的、多平台开发环境。它包含整个FPGA和CPLD设计阶段的解决方案。此外,Quartus II软件允许用户在设计流程的每个阶段使用Quartus II图形用户界面、EDA工具界面或命令行界面。在整个设计流程中

2、可以使用这些界面中的一个,也可以在不同的设计阶段使用不同的选项。,Quartus II 软件操作,二. Quartus II 软件操作步骤1.新建项目启动Quartus II 软件之后,选择File/New Project Wizard命令,可以进入指出该向导功能的一个窗口。这里,将工作目录设置为Fmy project,项目可以选择与工作目录相同的名称,也可以不相同。这里,选择使用example_schematic作为项目名称。 Quartus II 会自动建议example_schematic也是顶级设计实体的名称。单击next,由于还没有创建目录,Quartus II 软件操作,Fmy p

3、roject,因此Quartus II 会弹出对话框,询问用户是否创建所需的目录。单击yes,在弹出的窗口中,如果已经存在某些项目所需的文件,那么设计人员可以指定这些文件应包含在项目中。在本例中,直接单击next按钮。在弹出的窗口中可以指定所用FPGA芯片的器件类型。实验箱上是cyclone II EP2C8T144C8,因此,可以指定器件是cyclone II EP2C8T144C8,然后单击next按钮。在弹出的窗口中,使得设计人员可以指定需要使用的第三方EDA工具。不需要时单击next按钮,进入到最后的汇总窗口,单击finish返回主界面。,Quartus II 软件操作,Quartus

4、 II 软件操作,2. 使用电路图绘制工具产生设计输入常用的设计输入方法包括使用电路图绘制工具和使用VHDL代码。这里先说明使用电路图绘制工具的输入方法。该工具称为模块编辑器(Block Editor)。示例:对于逻辑函数画出相应的电路图。,第一步 画电路图在Quartus II 界面中,选择File/new命令,在弹出的窗口中,选择Design Files中的Block Diagram/Schematic File选项并单击ok按钮。此操作打开了模块编辑器窗口。在该窗口中画出电路图,可以产生设计中需要的模块图文件。1)导入逻辑门符号。双击模块编辑器的空白区域,或者选择Edit/insert

5、symbol,或者在工具栏中单击与门符号,在左面的libraries方框内,列出了Quartus II 提供的若干库。单击c:quartuslibraries旁边的“+”号,然后单击primitives 旁边的“+”号,最后单击logic旁边的“+”号,选中and2,放置到模块编辑器窗口。用同样的方法再放置一个两输入与门,一个非门,一个两输入或门。,Quartus II 软件操作,2)导入输入符号和输出符号。再次打开primitives库,拖动滚动条越过门电路,直到到达引脚(pin)。向电路图中导入input符号。使用相同的方法,再导入两个输入符号的例元。为了表示电路的输出,需要打开primi

6、tives库,导入output引脚符号。3)输入引脚和输出引脚的命名。将鼠标指向输入引脚符号中显示的pin_name字样,然后双击鼠标,可以输入新的引脚名。将三个输入分别命名为x1,x2,x3。最后,将输出引脚命名为f。,Quartus II 软件操作,4)使用导线连接结点。在竖直工具栏中,单击大箭头图标。首先,将鼠标指向x1的引线参考点上,单击并按下鼠标左键。然后向右托拽鼠标直到画出导线连接到与门顶部输入对应的引线参考点上。用同样的方法画出其他的引线。连线错误时,可以选中导线并使用delete命令或者使用Edit/delete命令。完成后保存文件,后缀是bdf文件。,Quartus II 软

7、件操作,第二步 根据电路图综合电路电路图输入到CAD系统之后,许多CAD工具会对其进行处理。流程的第一步是使用综合工具,将电路图编译成逻辑表达式,然后,电路综合的下一步是工艺映射,通过使用可用的逻辑元件,确定每个逻辑表达式如何在目标芯片中实现。使用编译器。选择Processing/Compile tool 命令,打开对应窗口,共包括四个模块。分析与综合模块执行Quartus II 中的综合步骤,它产生逻辑元件组成的一个电路。装配模块(Fitter)决定芯片上各电路元件的精确布局。其中综合模块产生的每个元件都将在芯片上实现。每个模块也可以单独运行。也可以使用其他命令启动编译。编译完成时,可以查看

8、编译报告。出现错误时,点击错误信息,可以突出显示错误出现的位置。,Quartus II 软件操作,第三步 对设计的电路进行仿真Quartus II包含仿真工具,它们用于仿真已设计电路的行为功能。在电路仿真之前,必须先创建输入波形文件。1) 使用波形编辑器。选择File/New命令,在弹出的对话框中选择Vector Waveform File 选项,单击OK按钮。将文件命名为example_schematic.vwf并保存。,Quartus II 软件操作,选择Edit/End time命令,并在弹出的对话框中设置160ns,从而设置仿真运行时段为0160ns。在波形编辑器中,选择View/Fi

9、t in Window,可以显示窗口覆盖在0160ns的整个仿真范围。单击Edit/Insert Node or Bus 命令,可以在Name 栏输入信号名(或引脚名)。更方便的方法是单击Node Finder(节点查找器),将过滤器设置为Pins:all,单击List按钮,可以找出输入节点和输出节点。,Quartus II 软件操作,在窗口的左面,结点查找器实用工具显示了电路的节点f,x1,x2,x3,通过单击x3,然后单击符号“”,可以将其加入到窗口右边的selected node(节点选择)栏中。用同样的方法,可以将f,x1,x2也加入到该栏中。单击OK按钮,可得到完整的波形编辑器窗口。

10、可以通过选择View/Snap to Grid 调出网格线,以便画波形时作为参考。,Quartus II 软件操作,下一步,给输入信号赋值。在0160ns范围内,使用x1,x2,x3的8种赋值组合以便完整地进行功能仿真。单击突出显示该信号,并激活竖直工具栏。为了选择特定的时间段,可以在起始时刻按下鼠标左键,然后拖动鼠标到结束时刻,从而选定所需的时刻。首先,对于时间段20ns40ns,60ns80ns, 100ns120ns,140ns160ns,将x3的取值设定为1,然后,对于时间段40ns80ns,120ns160ns,将x2的取值设定为1,最后,对于时间段80ns160ns,将x1的取值设

11、定为1。然后保存该文件。,Quartus II 软件操作,使用Waveform Editing(波形编辑)工具,该工具位于竖直工具栏内,其形状类似于分别指向左侧和右侧的箭头,也可以改变输入波形。选择该工具的时候,如果原始波形对应的值等于0,那么拖过后波形对应的值变为1,如果原始波形对应的值等于1,那么拖过后波形对应的值变为0。2)执行电路仿真在Quartus II中,可以使用两种方式进行仿真。最简单的方法是假定逻辑元件和互联导线是理想的,也就是说,信号的传输过程不存在时延,称之为功能仿真(fuctional simulation)。另外一种更为复杂的方式是考虑电路传输过程中的所有时延,从而得到

12、时序仿真(timing simulation)。,Quartus II 软件操作, 功能仿真选择Assignments/settings命令,打开settings窗口。在该窗口的左面,单击Simulator项,在弹出的窗口中,选择fuctional选项作为仿真模式。为了完成仿真器的设置,需要选择Processing/Generate functional simulation Netlist命令。 Quartus II根据测试输入,产生example_schematic.vwf文件中定义的输出。选择Processing/start simulation(或使用快捷图标),开始运行电路的功能仿真

13、。仿真结束之后, Quartus II指出仿真完成,并给出仿真报告。,Quartus II 软件操作,时序仿真选择Assignments/settings命令,打开settings窗口。在该窗口的左面,单击Simulator项,在弹出的窗口中,选择Smulation mode的下拉列表为Timing选项作为仿真模式。使用Edit/End time命令,设置仿真时间持续640ns。然后,选择Edit/Grid size命令,并将Time period设置为40ns,从而设置网格线的间隔为40ns。,Quartus II 软件操作,选择Processing/start simulation(或使用

14、快捷图标),运行电路的时序仿真。仿真结束之后, Quartus II指出仿真完成,并给出仿真报告。从仿真报告中可以看出,f的波形有两处有毛刺,这是由于Cyclone II FPGA中基于查找表的逻辑元件具有时延特性,反映了Cyclone II FPGA的时序特性。,Quartus II 软件操作,3. 使用VHDL产生设计输入创建另一个项目首先在my project1目录中,为VHDL设计创建一个新的项目。可以使用New project wizard 创建项目,项目名设置为example_vhdl。创建方法同前。最好使用新目录。(原来是my project)。使用文本编辑器选择File/New

15、命令,选择Design files 中的VHDL file选项,打开文本编辑窗口。第一步是要指明需要创建的文件的名称。选择File/save as 命令,在弹出的对话框,Quartus II 软件操作,Quartus II 软件操作,Save as type 栏中选择VHDL file,并在File name 栏中输入example_vhdl,需要注意的是,必须勾选该对话框最底部的Add file to current project复选框,告诉Quartus II 软件,新文件是当前打开项目的一部分。然后保存该文件。还是以前面的示例为例,对于 ,在文本编辑窗口输入其VHDL代码。在输入中还可

16、以使用VHDL模板。,ENTITY example_vhdl ISPORT(x1,x2,x3:IN BIT;f :OUT BIT); END example_vhdl;ARCHITECTURE behavior OF example_vhdl IS BEGINf=(x1 AND x2) OR (NOT x2 AND x3); END behavior;,Quartus II 软件操作,根据VHDL代码综合电路选择Processing/Compile tool 命令,打开对应窗口,点击Start,同时启动编译四个模块。如果有错误,每个错误对应的一条消息将会显示在Messages窗口中。双击一条错

17、误消息,可以在文本编辑器窗口中突出显示有问题的语句。反复调试程序,直到编译正确为止。,Quartus II 软件操作, 执行功能和时序仿真前面已经介绍了采用原理图输入方法创建并实行该设计项目的过程,采用与前面完全相同的方法,可以对VHDL的代码进行功能和时序仿真。可以将刚才的example_schematic.vwf中的x1,x2,x3波形完全复制,也可以直接将波形文件存为example_vhdl.vwf波形文件。,Quartus II 软件操作,实验内容,1.用原理图输入的方法设计一位全加器电路,并进行全程编译,执行功能和时序仿真。 2.用VHDL代码输入的方法设计一位全加器电路,并进行全程

18、编译,执行功能和时序仿真。 3.图中是一个含有上升沿触发的D触发器的时序电路,写出此电路的VHDL设计文件。,1)用原理图输入的方法实现电路,并进行全程编译,执行功能和时序仿真。 2)用VHDL代码输入的方法实现电路,并进行全程编译,执行功能和时序仿真。,Quartus II 软件操作,4.混合设计输入方式前面介绍的两种方法还可以结合起来使用。实现的函数仍然是 ,其中x1,x3的表达式如下所示:因此,该电路共有5个输入 ,前面已经用电路图输入的方法实现了函数f,将此作为子电路,下面将对 x1,x3的表达式创建VHDL代码,然后将相应的VHDL子电路连接到前面的f的电路图中,产生顶级电路图。,

19、在顶级使用电路图输入按照前面的方法,在新目录my project2中创建新的项目,将项目和顶级实体均命名为example_mixed1。打开example_mixed1项目,选择File/New命令,选择需要创建的文件类型为VHDL。输入下面的代码,然后将文件保存为vhdlfunctions.vhd。,Quartus II 软件操作,ENTITY vhdlfunctions ISPORT(w1,w2,w3,w4: IN BIT;g, h : OUT BIT);END vhdlfunctions;ARCHITECTURE LogicFunc OF vhdlfunctions ISBEGINg=(

20、w1 AND w2) OR (w3 AND w4);h=(w1 AND w3) OR (w2 AND w4); END LogicFunc;,Quartus II 软件操作,在电路图中,为了包含vhdlfunctions.vhd对应的子电路,需要为该文件创建符号,以便把该文件导入到模块编辑器中。方法是选择File/Creat/Update /Creat Symbol Files for Current File命令,此时, Quartus II 产生模块符号文件,文件名为vhdlfunctions.bsf,保存在my project2目录中。,Quartus II 软件操作,前面创建的exam

21、ple_schematic电路可以作为example_mixed1的子电路。为此,在my project 中打开example_schematic.bdf文件,并选择命令File/Save as,在my project2目录下另存为example_schematic.bdf文件,并将此文件添加在工程example_mixed1中。然后选择File/Creat/Update /Creat Symbol Files for Current File命令,此时, Quartus II 产生模块符号文件,文件名为example_schematic.bsf,保存在my project2目录中。,Quar

22、tus II 软件操作,然后对于这里的混合设计项目,创建顶级电路图。选择File/New命令,选择需要创建的文件类型为Design Files中的Block Diagram/Schematic File 。再选择File/Save as命令,对文件进行保存,文件名使用为example_mixed1.bdf。,Quartus II 软件操作,为了导入vhdlfunctions和example_schematic符号,双击模块编辑器的空白区域,或者选择Edit/insert symbol,在打开的窗口中单击左上角的project旁边的“+”号,然后单击vhdlfunctions项,可以选择相应的符

23、号,单击Ok,可以将该符号导入电路中。然后,还需要导入example_schematic子电路。最后,从primitives库中导入输入和输出符号,并连接导线。,Quartus II 软件操作,Quartus II 软件操作,图1 顶级电路图文件,下一步,对得到的电路图进行编译。然后,执行功能仿真。由于有5个输入变量,测试共有32种可能的赋值组合。作为实用的方法,随机选取6组赋值,执行电路仿真。运行仿真器,得到f的仿真波形。,Quartus II 软件操作,Quartus II 软件操作,F的仿真结果, 在顶级实体中使用VHDL代码对于这种简单的分级电路,前面的例子说明了电路图如何用作电路的顶

24、级设计文件。另一种方法则是在顶级实体中使用VHDL语言。然后在顶级实体代码中,对图1中的子电路进行例化。在前面已经编写了example_schematic子电路对应的VHDL代码,这段代码可用于例化顶级VHDL实体。该实体命名为example_mixed2,输入以下VHDL顶级实体代码,然后进行编译,也能够实现f。,Quartus II 软件操作,Quartus II 软件操作,ENTITY example_mixed2 ISPORT(w1,w2,w3,w4,x2: IN BIT;f : OUT BIT);END example_mixed2;ARCHITECTURE structure OF

25、 example_mixed2 ISCOMPONENT example_vhdl PORT(x1,x2,x3: IN BIT;f : OUT BIT); END COMPONENT ;,COMPONENT vhdlfunctions PORT(w1,w2,w3,w4: IN BIT;g, h : OUT BIT); END COMPONENT ; SIGNAL g,h: BIT; BEGINgandh: vhdlfunctions PORT MAP(w1,w2,w3,w4,g,h);insert1: example_vhdl PORT MAP(g,x2,h,f);END structure ;

26、,example_mixed2的顶级VHDL实体,数字电路的FPGA设计方法,传统的数字系统设计多采用自底向上的方法,通常设计者选用标准的通用集成电路芯片和其他元器件,由底层逐级向上构成子系统和系统。 数字系统的FPGA设计采用自顶向下设计方法。设计者先将一个硬件系统划分成几个大的模块,设计出各大模块的行为功能或结构,并进行仿真以检验设计是否正确,然后将大的模块分给下一级设计者。,数字系统设计主要分系统设计和逻辑设计两个阶段。其一般设计过程如下:(1)确定顶层系统的方案这是设计过程的第一阶段,要求对任务进行透彻了解,并在此基础上决定设计任务和系统整体的功能、输入信号及输出信号。(2)描述系统功

27、能,设计算法描述系统功能是用符号、图形、文字、表达式等来正确描述系统应具有的逻辑功能。设计算法就是把系统要实现的复杂运算分解成一组有序进行的子运算。,数字电路的FPGA设计方法,描述算法的工具有算法流程图、算法状态机、方框图等。 (3)根据算法选择电路结构算法明确后,根据算法选择电路结构,并将系统划分为若干个子系统。若某部分规模仍然较大,则可进一步划分。划分后的多个部分应该逻辑功能清楚,便于进行电路设计。 (4)设计输入输入方法有多种,常用的有原理图输入法、硬件描述语言输入法、混合输入法等。 (5)设计验证(仿真、测试)和设计实现。当采用EDA技术和自顶向下的分层设计方法设计系统时,每一层都应

28、该有描述、划分、综合、仿真等几个工作过程。,数字电路的FPGA设计方法,实验内容,1. 设计1位全减器电路。要求:(1)顶层文件采用原理图输入的方法,底层的1位半减器电路采用VHDL描述的方法。图中h_suber是半减器,diff是输出差,s_out是借位输出,sub_in是借位输入。(2)首先设计1位半减器,然后用元件例化语句将它们连接起来。也就是说顶层和底层均采用VHDL代码实现。,2. 以1位全减器为基本硬件,构成串行借位的8位减法器,要求用例化语句来完成此项设计(减法运算是 x y - sun_in = diffr)。,实验内容,使用Altera器件实现电路设计,1.使用cyclone

29、 II实现电路设计选择File/Open Project命令,找到my project1目录,选择example_vhdl.qpf项目,然后单击Open按钮。 选择芯片选择Assignments/Device命令,在打开的窗口中,单击标记为Family的下拉菜单,选择cyclone II选项。在Target device 方框内,单击Specific device selected in Available devices list 按钮。,在标记为Available devices的方框内,显示了cyclone II系列的各种芯片。按照数字电路实验箱上的型号选择为EP2C8T144C8(EP

30、2C8表示芯片属于cyclone II系列,T144表示共有144个管脚,C8表示速度级别)。然后单击OK,关闭该窗口。 编译项目在编译以前,先打开Tools/Options菜单,然后在Category 栏中单击General/Processing 类别,勾选Automatically generate equation Files during compilation复选框,使用此设置, Quartus II 会在编译报表中记录编译过程中产生的逻辑表达式。,使用Altera器件实现电路设计,选择Processing/Compile tool 命令,或者使用快捷图标,对工程文件进行编译,综合工

31、具会自动运行四个模块。模块的编译进度显示在Status窗口中。分析与综合模块将VHDL代码转换成逻辑电路后,Fitter模块为FPGA芯片上的这些元件进行定位。单击编译报告中Fitter旁边的“+”号,选择equation项,可以看到f的逻辑表达式。使用Tools/Netlist viewers 中的RTL viewer命令,可以查看电路综合结果。,使用Altera器件实现电路设计, 使用Chip Planner除了查看编译报告外,观察电路实现结果的另一种方法是使用Chip Planner。选择Tool/ Chip Planner命令,在打开的窗口中,显示了EP2C8T144C8器件的若干逻辑

32、元件,而每个逻辑元件包含一个4输入查找表。Chip Planner使用了不同颜色,指明了电路中使用的逻辑元件和引脚。调整界面,可以看到产生f的逻辑单元。通过View/Equation 命令,还可以看到在选定结点上实现的逻辑函数。,使用Altera器件实现电路设计,2. 引脚分配在下载测试电路以前,应该进行引脚分配。可以自动分配引脚,也可以手动分配引脚。对于特定器件和特定电路来说,一般采用手动分配引脚。在手动分配引脚以前,应该首先需要指定所使用芯片的类型,这在前面已经设置过了,使用的是EP2C8T144C8器件。选择Assignments/Pin Planner 命令,打开如图所示界面。,使用A

33、ltera器件实现电路设计,位于图中上方的图像描述了EP2C8T144C8芯片封装顶视图。在该窗口中,尽管有大量信息是可用的,但是对于引脚分配,没有必要查看这些细节信息。在上图中底部的表,列出了设计项目的输入端口和输出端口,可以将这些端口分配给指定的引脚。为了指定x1的连接,双击Location列,然后从显示的列表中选择例如N58(具体的以实验箱上标出的管脚为准)。重复上述过程,完成所有的引脚分配。,使用Altera器件实现电路设计,需要说明的是,在实验室实验箱上列出的引脚都可以作为输入、输出引脚。建议将器件下面的引脚作为输入引脚,以便与逻辑开关、时钟信号等作为输入信号的端口相连接。将器件上面

34、的引脚分配给输出引脚,以便与指示灯、数码显示电路、点阵二极管和液晶显示器等作为输出测试信号的引脚相连接。时钟信号可以采用内部时钟,为17脚的50MHz的信号,或者是外部时钟信号。,使用Altera器件实现电路设计,分配管脚之后,对项目进行重新编译。由于还没有对项目进行重新编译,因此前面说明的引脚分配并没有影响编译结果,因此,管脚分配完成之后,需要对项目进行重新编译。 Quartus II 的Fitter模块在编译过程中,对于用户手动指定的端口使用引脚分配,而对于其他端口则执行自动引脚分配。,使用Altera器件实现电路设计,3. FPGA器件编程与配置一旦电路编译通过,就可以将程序下载到实验箱

35、的FPGA芯片上。实验箱上支持的编程模式称为JTAG编程。在电脑主机上,使用USB连接端口,用专用的USB下载器连接到实验箱上的JTAG端口。在JTAG模式中,配置数据会直接加载到FPGA芯片中。 JTAG是联合测试行动小组的缩写。使用JTAG模式加载,只要电源处于通电状态,电路就会保持相应的配置。电源关闭之后,配置信息将会丢失。,使用Altera器件实现电路设计,Altera USB-Blaster下载驱动程序的安装Altera USB-Blaster的下载器驱动程序,可以使用Quartus II软件自带的驱动程序即可,驱动程序位于Quartus II 安装目录下面,安装步骤如下:第一步,将

36、连接有USB下载器的电缆插入计算机的USB插口。第二步,在系统提示找到新硬件时,出现如图图1的找到新的硬件向导的窗口。在此窗,口中的提示:Windows 可以连接到Windows Update以搜索软件吗?点“否,暂时不”选项,单击下一步,弹出如图2所示的窗口。第三步,在弹出的窗口中,选择“从列表或指定位置安装(高级)”选项,单击下一步,弹出如图3所示的窗口。,图1,图2,图3,第四步,在弹出的窗口中,选择“在这些位置上搜索最佳驱动程序”选项中的“在搜索中包括这个位置”中的浏览,从硬盘中找到Quartus II软件自带的驱动程序的位置。例如,Quartus II软件安装在C盘,则路径为C:al

37、tera90quartusdriversusb-blaster。选定后,单击下一步。此时,计算机开始安装,如果出现相容性警告,选择“仍然继续”。安装完毕,后,弹出如图4所示的窗口。在弹出的窗口中单击完成,此时,计算机则有新硬件可以正常使用了的提示。第五步,在控制面板中打开系统属性对话框,选择“硬件”标签页,点击设备管理器按钮,在设备管理器界面中,打开“通用串行总线控制”,将会看到“Altera USB-Blaster”,如图5所示。,图4,图5,JTAG编程选择Tools/Programmer命令,在弹出的窗口中,对于Mode方框,选择JTAG选项,对于Hardware setup选项,选择USB-Blaster软件。在窗口中,确保选中Program/configure复选框,然后单击Start按钮。如图6、7所示。下载成功后,可以对实现的电路进行测试。将x1,x2,x3所分配的引脚连接到逻辑开关,f连接到指示灯,测试电路的逻辑功能。,使用Altera器件实现电路设计,图6,图7,报告格式要求,选题目的设计目标实现方案(包括原理框图和HDL设计流程图)设计过程(包括关键模块的仿真结果)遇到问题及解决方法实现结果编程调试对该课程的实施意见及建议,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报