版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2 2章章 QuartusQuartus II II设计向导设计向导 第第2章章 Quartus II设计向导设计向导 2.1 频率计的频率计的VHDL设计设计 2.2 使用宏功能块设计频率计使用宏功能块设计频率计 2.3 嵌入式系统块嵌入式系统块ESB的应用的应用 2.4 嵌入式系统块嵌入式系统块ESB的应用的应用 2.5 时序驱动式优化编译方法时序驱动式优化编译方法 2.6 频率计结构原理频率计结构原理 2.7 Quartus II优化特性优化特性 第第2 2章章 QuartusQuartus II II设计向导设计向导 2.1 频率计的频率计的VHDL设计设计 2.1.1 创建工程和
2、编辑设计文件 首先应该建立好工作库目录,以便设计工程项目的存储。作为示例,在此设立目录为D:ftest,作为工作库,以便将设计过程中的相关文件存储于此。任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹,此文件夹将被EDA软件默认为工作库(Work Library)。一般地,不同的设计项目最好放在不同的文件夹中。注意,一个设计项目可以包含多个设计文件,如频率计。第第2 2章章 QuartusQuartus II II设计向导设计向导 在建立了文件夹后就可以将设计文件通过Quartus II的文本编辑器编辑并存盘,详细步骤如下: 1. 新建一
3、个文件夹 首先利用Windows资源管理器新建一个文件夹。假设本项设计的文件夹取名为ftest,在D盘中,路径为D:ftest。注意,文件夹名不能用中文。第第2 2章章 QuartusQuartus II II设计向导设计向导 2. 输入源程序 打开Quartus II,选择菜单“File”“New”,在New窗中的“Device Design Files”中选择编译文件的语言类型,这里选“VHDL Files”(如图2-1所示)。然后在VHDL文本编译窗中键入例2-1的程序,这是频率计项目中的一个模块:测频计数器CNT1,文本编辑窗口如图2-2所示。第第2 2章章 QuartusQuartu
4、s II II设计向导设计向导 图2-1 选择编辑文件的语言类型 第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-2 编辑输入设计文件 第第2 2章章 QuartusQuartus II II设计向导设计向导 【例2-1】计数器设计。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT1 IS PORT (CLOCK : IN STD_LOGIC; ACLR : IN STD_LOGIC; CLK_EN : IN STD_LOGIC; Q : OUT
5、 STD_LOGIC_VECTOR(31 DOWNTO 0); 第第2 2章章 QuartusQuartus II II设计向导设计向导 END CNT1;ARCHITECTURE behav OF CNT1 IS SIGNAL CQI : STD_LOGIC_VECTOR(31 DOWNTO 0);BEGIN PROCESS(CLOCK, ACLR, CLK_EN) BEGIN IF ACLR = 1 THEN CQI 0); ELSIF CLOCKEVENT AND CLOCK = 1 THEN IF CLK_EN = 1 THEN CQI = CQI + 1; 第第2 2章章 Quart
6、usQuartus II II设计向导设计向导 END IF; END IF; END PROCESS; Q = CQI;END behav;第第2 2章章 QuartusQuartus II II设计向导设计向导 【例2-2】测频时序控制器设计。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TESTCTL IS PORT (CLK : IN STD_LOGIC; TSTEN : OUT STD_LOGIC; CLR_CNT : OUT STD_LOGIC; Load : OUT
7、STD_LOGIC ); 第第2 2章章 QuartusQuartus II II设计向导设计向导 END TESTCTL;ARCHITECTURE behav OF TESTCTL IS SIGNAL Div2CLK : STD_LOGIC;BEGIN PROCESS( CLK ) BEGIN IF CLKEVENT AND CLK = 1 THEN Div2CLK = NOT Div2CLK; END IF; END PROCESS;第第2 2章章 QuartusQuartus II II设计向导设计向导 PROCESS (CLK, Div2CLK) BEGIN IF CLK = 0 AN
8、D Div2CLK = 0 THEN CLR_CNT = 1; ELSE CLR_CNT = 0; END IF; END PROCESS; Load = NOT Div2CLK; TSTEN = Div2CLK;END behav;第第2 2章章 QuartusQuartus II II设计向导设计向导 【例2-3】锁存器设计。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG1 IS PORT(CLOCK : IN STD_LOGIC; DATA : IN STD_LOGIC_VECTOR(31 DOWNTO 0); Q : OUT ST
9、D_LOGIC_VECTOR(31 DOWNTO 0) );END REG1;第第2 2章章 QuartusQuartus II II设计向导设计向导 ARCHITECTURE behav OF REG1 ISBEGIN PROCESS(CLOCK, DATA) BEGIN IF CLOCKEVENT AND CLOCK = 1 THEN Q CLK, TSTEN = TSTEN1,CLR_CNT = CLR_CNT1, Load = Load1 ); U2 : REG1 PORT MAP( CLOCK = Load1, DATA = DTO1, Q = DOUT); U3 : CNT1 PO
10、RT MAP( CLOCK = FSIN, ACLR = CLR_CNT1, CLK_EN = TSTEN1, Q = DTO1 );END struc;第第2 2章章 QuartusQuartus II II设计向导设计向导 3. 文件存盘 完成上述设计之后将文件存盘,选择“File”?“Save As”,找到已设立的文件夹D: Ftest,存盘文件名应该与实体名一致,即CNT1.vhd。当出现问句“Do you want to create.”时,可选“否”,然后重复以上过程,分别将例2-2、例2-3和例2-4编辑存盘至文件夹ftest中。至此,ftest共有4个VHDL文件:cnt1.v
11、hd、testctl.vhd、reg1.vhd和freqtest.vhd,最下面的文件是顶层设计。 此频率计的工作原理和层次结构说明请参考2.6节。第第2 2章章 QuartusQuartus II II设计向导设计向导 2.1.2 创建工程 在此要利用“New Preject Wizard”创建此频率计的设计工程,即令freqtest.vhd为工程,并设定此工程的一些相关信息,如工程名、目标器件、综合器、仿真器等。步骤如下: 1. 打开建立新工程管理窗 选择菜单“File”?“New Preject Wizard”,即弹出工程设置对话框(图2-3)。点击此框最上一栏右侧的按钮“.”,找到文件
12、夹D:Ftest,选中已存盘的顶层文件freqtest.vhd(一般应该设定顶层设计文件为工程),再点击“打开”,即出现如图2-3所示的设置情况。 第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-3 利用“New Preject Wizard”创建工程 第第2 2章章 QuartusQuartus II II设计向导设计向导 其中第一行的D: Ftest表示工程所在的工作库文件夹;第二行的Freqtest表示此项工程的工程名,此工程名可以取任何其它的名字,也可直接用顶层文件的实体名作为工程名,在此就是按这种方式取名的;第三行是顶层文件的实体名,这里即为“freq
13、test”。第第2 2章章 QuartusQuartus II II设计向导设计向导 2. 将设计文件加入工程中 然后点击下方的“Next”按钮,在弹出的对话框中点击“File”栏的按钮,将频率计所有相关的文件都加入此工程,即得到如图2-4所示的情况。所有此工程的文件加入的方法有两种:第一种是点击右边的“Add All”按钮,将设定的工程目录中的所有VHD文件加入到工程文件栏中;第二种方法是点击“.”按钮,从工程目录中选出相关的VHDL文件。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-4 将频率计所有相关的文件都加入此工程 第第2 2章章 QuartusQu
14、artus II II设计向导设计向导 3. 选择仿真器和综合器类型 点击图2-4的“Next”按钮,这时弹出选择仿真器和综合器类型的窗口。如果都是选择默认的“NONE”,表示都选Quartus II中自带的仿真器和综合器。因此,在此都选默认项“NONE”。 4. 选择目标芯片 再次点击“Next”,选择目标芯片。首先在“Family”栏选芯片系列,在此选“ACEXIK”系列,并在此栏下选“Yes”,即选择一个确定目标器件。再按“Next”键,选择此系列的具体芯片:EPIK30TC144-3,按“Next”键后,弹出工程设置统计窗口,即图2-5所示的内容。 第第2 2章章 QuartusQua
15、rtus II II设计向导设计向导 5. 结束设置 最后按“Finish”键,即已设定好此频率计的工程(图2-6)。文件名处打红勾,表示该实体为当前工程。图2-6所示的是工程freqtest的工程管理窗口,或称Compilation Hierarchies窗口,主要显示本工程项目的层次结构和各层次的实体名。 第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-5 工程设置统计窗口 第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-6 freqtest的工程管理窗口 第第2 2章章 QuartusQuartus II II设计向导设计向
16、导 2.1.3 编译前设置 在对工程进行编译处理前,必须作好必要的设置。具体步骤如下: 1. 选择目标芯片 选择“Assignmemts”菜单中的“Settings”项,在弹出的对话框中选“Compiler Settings” 项下的“Device”。首先选目标芯片EPIK30TC144-3(此芯片已在建立工程时选定了),也可以在(图2-7)“Available devices”栏分别用“Package”:TQFP;“Pin count”:144;“Speed”:3,来选定芯片。第第2 2章章 QuartusQuartus II II设计向导设计向导 2. 选择目标器件编程配置方式 由图2-7
17、中的按钮“Device & Pin Options”进入选择窗,首先选择“Configuration”项,在此框的下方有相应的说明。在此可选Configuration方式为Passive Serial,这种方式可以直接由PC机配置,也可由专用配置器件进行配置。配置器件选EPC2(如图2-8所示)。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-7 选定目标器件 第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-8 选择配置器件和配置方式 第第2 2章章 QuartusQuartus II II设计向导设计向导 3. 选择输出
18、配置 在图2-8的“Programming Files”窗口,可以选Hexadecimal,即产生下载文件的同时,产生十六进制配置文件fraqtest.hexout,并设地址起始为0,为递增方式(如图2-9所示)。此文件可用于单片机与EPROM构成的FPGA配置电路系统。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-9 输出文件.hexout设置 第第2 2章章 QuartusQuartus II II设计向导设计向导 4. 选择目标器件闲置引脚的状态 在“Unused Pins”处,可根据实际需要选择目标器件闲置引脚的状态,如可选择为输入状态(呈高阻态),或
19、输出状态(呈低电平),或输出不定状态,或不作任何选择。在General项也可作一些选择,各选择的功能可参考下方的“Description”说明。 5. 编译模式的选择 在图2-7所示的窗口中选择Compiler Settings项下的Mode。为了使得每一次重复编译进行得更快,选择“Smart compilation.”和“Preserve.”(如图2-10所示)。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-10 选择编译模式 第第2 2章章 QuartusQuartus II II设计向导设计向导 2.1.4 编译及了解编译结果 Quartus II编译器
20、是由一系列处理模块构成的,这些模块负责对设计项目的检错、逻辑综合和结构综合。即将设计项目适配进FPGA/CPLD目标器中,同时产生多种用途的输出文件,如功能和时序仿真文件,器件编程的目标文件等。 编译器首先从工程设计文件间的层次结构描述中提取信息,包括每个低层次文件中的错误信息,供设计者排除,然后将这些层次构建产生一个结构化的以网表文件表达的电路原理图文件,并把各层次中所有的文件结合成一个数据包,以便更有效地处理。第第2 2章章 QuartusQuartus II II设计向导设计向导 在编译前,设计者可以通过各种不同的设置方法,指导编译器使用各种不同的综合和适配技术(如时序驱动技术等),以便
21、提高设计项目的工作速度,优化器件的资源利用率。而且在编译过程中及编译完成后,可以从编译报告窗获得所有相关的详细编译结果,以利于设计者及时调整设计方案。 下面首先选择Processing菜单的“Start Compilation”项,启动全程编译。注意这里所谓的编译(Compilation)包括Quartus II对设计输入的多项处理操作,其中包括排错、数据网表文件提取、逻辑综合、适配、装配文件(仿真文件与编程配置文件)生成,以及基于目标器件的工程时序分析等。第第2 2章章 QuartusQuartus II II设计向导设计向导 如果工程中的文件有错误,在下方的Processing信息栏中会显
22、示出来。如图2-11中所示,在reg1.vhd文件第12行的“BEGEN”处或附近有语句格式错误,可双击此条文,即弹出regl.vhd文件,在闪动的光标处(或附近)可发现,文件中错将“BEGIN”写成“BEGEN”,改正后存盘,再次进行编译,仍选Processing菜单中的“Start Compilation”。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-11 检查出文本格式错第第2 2章章 QuartusQuartus II II设计向导设计向导 编译结果包括以下一些内容: 1. 阅读编译报告 编译成功后可以看到如图2-12所示的界面。此界面的左上角是工程
23、管理窗,若用鼠标点击顶层实体“freqtest”左边的“+”号,可以看到整个设计层次;在此栏下是编译处理流程,包括数据网表建立、逻辑综合、适配、配置文件装配和时序分析。最下栏是编译处理信息,右栏是编译报告,这可以在Processing菜单项的“Compilation Report”处见到。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-12 编译完成后的Quartus II管理窗口界面第第2 2章章 QuartusQuartus II II设计向导设计向导 2. 了解工程的时序报告 点击此栏的“Timing Analyses”项左侧的“+”号,并点击“fmax”
24、项,可以看到(如图2-12右上角的报告栏所示)此频率计最高测试频率为104.17 MHz。第第2 2章章 QuartusQuartus II II设计向导设计向导 3. 了解硬件资源应用情况 选择“Compilation Report”栏的Floorplan View ,观察此项工程在FPGA器件中逻辑单元的分布情况和使用情况。为了更详细地了解相关情况,可以在打开Floorplan界面后,首先点击View菜单中的“Full Screen”项,打开全部界面,然后点击此菜单的相关项,如“Routing”“Show Node Fan-In”等等。第第2 2章章 QuartusQuartus II I
25、I设计向导设计向导 2.1.5 仿真 仿真就是对设计项目进行一项全面彻底的测试,以确保设计项目的功能和时序特性,以及保证最后的硬件器件的功能与原设计相吻合。 仿真可分为功能仿真和时序仿真。功能仿真只测试设计项目的纯逻辑行为,而时序仿真则测试逻辑行为,也测试实际器件在最差条件下设计项目的真实运行情况。第第2 2章章 QuartusQuartus II II设计向导设计向导 仿真操作前必须利用Quartus II的波形编辑器建立一个矢量波形文件(.vwf)以作仿真激励。VWF文件将仿真输入矢量和仿真输出描述成一波形的图形来实现仿真,但也可以将仿真激励矢量用文本表达,即为文本方式的矢量文件(.vec
26、)。 Quartus II允许对整个设计项目进行仿真测试,也可以对该设计中的任何子模块进行仿真测试。方法是设定仿真测试为“Simulation focus”。仿真设定单元(Simulation Settings)允许设计者指定仿真focus、对该模块的仿真类型、仿真覆盖的时序和矢量激励源等。 第第2 2章章 QuartusQuartus II II设计向导设计向导 Time/Vectors仿真参数设定窗口允许设定仿真时间区域,以及矢量激励源。可以以VWF文件、VEC文件、矢量表输出文件(.tbl)或功率输入文件(.pwf)的形式作为矢量激励源,也可以通过Tcl脚本窗口来输入矢量激励源。 对工程
27、的编译通过后,必须对其功能和时序性质进行仿真测试,以了解设计结果是否满足原设计要求。VWF文件方式的仿真流程的详细步骤如下: 1. 打开波形编辑器 选择菜单File中的New项,在New窗口中选“Other Files”中的“Vector Waveform File”(图2-13),点击“OK”,即出现空白的波形编辑器(图2-14)。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-13 准备编辑矢量波形文件 第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-14 波形编辑器 第第2 2章章 QuartusQuartus II II设
28、计向导设计向导 2. 设置仿真时间区域 为了使仿真时间轴设置在一个合理的时间区域上,在Edit菜单中选择“End Time”项,在弹出的窗口中的“Time”窗中键入50,单位选“us”,即整个仿真域的时间设定为50微秒,点击“OK”,结束设置。 3. 存盘波形文件 选择菜单File中的“Save as”,将波形文件以文件名Freqtest.vwf(默认名)存入文件夹D:FTEST中。 第第2 2章章 QuartusQuartus II II设计向导设计向导 4. 输入信号节点 将频率计的端口信号节点选入此波形编辑器中。方法是首先选“View”菜单中的“Utility Windows”项的“No
29、de Finder”选项。其对话框如图2-15所示。在“Filter”框中选“Pins : all”,然后点击“Start”钮。于是在下方的“Nodes Found”窗口中出现了设计中的freqtest工程的所有端口引脚名(如果此对话框中的“start”不显示,需要重新编译一次,即选Processing? Start Compilation,然后再重复以上操作过程)。用鼠标将重要的端口节点CLK, 第第2 2章章 QuartusQuartus II II设计向导设计向导 FSIN和输出总线信号DOUT逐个拖到波形编辑窗口,点击波形窗左侧的全屏显示钮,使全屏显示。点击放大/缩小钮后,用鼠标右键在
30、波形编辑区域点击,使仿真坐标处于适当位置(图2-16(a),最后关闭Node Finder窗口。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-15 向波形编辑器输入信号节点 第第2 2章章 QuartusQuartus II II设计向导设计向导 图 2-16(a) 调入了信号节点的波形编辑器第第2 2章章 QuartusQuartus II II设计向导设计向导 图 2-16(b) 设置仿真信号数据格式 第第2 2章章 QuartusQuartus II II设计向导设计向导 5. 编辑输入波形 点击待测频率信号名“FSIN”,再点击左侧的时钟设置键,在Cl
31、ock窗口中设置FSIN的时钟周期为200 ns,并以同样方法设置CLK的周期为10 us。这里,CLK是测频的门控信号,它将产生10 us的计数门控宽度(在点击“FSIN”后,也可选菜单Edit中的“Value”项,再选“Clock”项),如图2-17所示的Clock窗中的“Duty cycle”是占空比,可选50,即选50%占空比,最后对波形文件再次存盘。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-17 选择时钟周期和占空比 第第2 2章章 QuartusQuartus II II设计向导设计向导 6. 总线数据格式设置 如果点击如图2-16(a)所示的
32、输出信号“DOUT”左旁的“+”,则将展开此总线中的所有信号;如果双击此“+”号左旁的信号标记,将弹出该信号数据格式设置对话框(如图2-16(b)所示)。在该对话框的“Radix”栏有5种选择:Binary:二进制;Hexadecimal:十六进制;Octal:八进制;Signed Decimal:有符号十进制;Unsigned Decimal:无符号十进制。 通常选择十六进制表达方式比较方便。第第2 2章章 QuartusQuartus II II设计向导设计向导 7. 仿真器参数设置 选择菜单Assignment中的 “Settings”, 在Settings窗的Category下选“Si
33、mulator Settings”,在此项下分别选“General”,观察仿真总体设置情况。选“Mode”,以确认仿真模式为时序仿真“Timing”(图2-18);选择Options,确认选定“Simulation coverage reporting”;毛刺检测“Glitch detection”为1 ns宽度。 8. 启动仿真器 现在所有设置进行完毕,在菜单Processing项下选“Run Simulation”,直到出现“Simulation was successful”,仿真结束。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-18 选择时序仿真模式
34、 第第2 2章章 QuartusQuartus II II设计向导设计向导 9. 观察仿真结果 点击菜单Processing中的“Simulation Report”项,以便打开波形输出结果(图2-19)。注意,Quartus II的仿真波形文件中,波形编辑文件(* .vwf)与波形仿真报告文件(Simulation Report)是分开的,而MaxplusII的编辑与仿真报告波形是合二为一的。 由图2-19可见,由于设定“FSIN”的时钟周期为200 ns,门控信号周期为10 us,则应测得频率为50 Hz,图中显示为“32”(十六进制),即为十进制的50,表明此频率计功能正确。第第2 2章
35、章 QuartusQuartus II II设计向导设计向导 如果在启动仿真运行(Processing?Run Simulation)后,并没有出现仿真完成后的波形图,而是出现文字“Cant open Simulation Report Window”,但报告仿真成功,则可自己打开仿真波形报告,选择:Processing?Simulation Report。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-19 仿真波形输出 第第2 2章章 QuartusQuartus II II设计向导设计向导 2.1.6 引脚锁定和下载 为了能对频率计进行硬件测试,应将频率计
36、的输入/输出信号锁定在芯片确定的引脚上。在此根据GW48系统电路模式No.0 (见附录),以及EP1K30TC144适配板的引脚情况,通过查表确定频率计的引脚分别为: FSIN:Clock0(P126); Clk:Clock5(P54);第第2 2章章 QuartusQuartus II II设计向导设计向导 32位输出数据总线DOUT31.0:对应的引脚编号为:96,95,92,91,90,89,88,87,86,83,82,81,80,79,78,73,72,70,69,68,67,65,42,41,39,38,37,36,33,32,31,30。 将引脚锁定后再编译一次,把引脚信息一同编
37、译进配置文件中,最后就可以把配置文件下载进目标器件中。具体步骤如下:第第2 2章章 QuartusQuartus II II设计向导设计向导 1. 引脚锁定 假设现在已打开了freqtest工程(如果刚打开Quartus II,应在菜单File中选“Open Preject”项,并点击工程文件“freqtest”,打开此前已开始设计的工程),在菜单Assignments中,选“Assign Pins”项,弹出的对话框如图2-20所示。为了将DOUT0锁定在第30脚上,有两种方法:一种是先点击“Available Pins.”窗中的“30”,再于“Pin name”框中键入“DOUT0”,然后点
38、击“Add”即可(如图2-20所示); 第第2 2章章 QuartusQuartus II II设计向导设计向导 另一种方法是点击“30”(引脚序号)后,再点击“Pin name”栏右侧的“.”,将出现图2-21的对话框,点击“Filter”钮,选“Pins all”,再点击“Start”,于是在“Nodes Found”中出现所有的引脚信号名,在其中选“DOUT0”,再点击“OK”,于是回到图2-20所示对话框,点击“Add”后,即可将“DOUT0”锁定在“30”脚上。以同样方法可以将所有引脚信号锁定在对应的引脚上(见图2-22),最后点击“OK”,关闭对话框。第第2 2章章 Quartus
39、Quartus II II设计向导设计向导 图2-20 打开引脚锁定窗口第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-21 选择待锁定的引脚名 第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-22 将频率计的输入/输出信号锁定在希望的引脚上 第第2 2章章 QuartusQuartus II II设计向导设计向导 2. 打开编程窗 引脚锁定后,必须再编译一次(Processing?Start Compilation),将引脚锁定信息编译进下载文件中。首先将系统连接好,上电,然后在菜单Tool中,选择“Programmer”,于是
40、弹出如图2-23所示的编程窗。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-23 编程窗口 第第2 2章章 QuartusQuartus II II设计向导设计向导 3. 选择编程模式 为了直接对FPGA EP1K30进行配置,在编程窗的编程模式Mode 中选“Passive Serial”,然后点击左侧的“Add File”按钮,选择配置文件“Freqtest.sof”,最后点击“Start”。 当“Progress”显示出100%以及在底部的处理栏中出现“Configuration Succeeded”时,表示编程成功(注意,如果必要可再次点击“Start
41、”,直至编程成功)。第第2 2章章 QuartusQuartus II II设计向导设计向导 注意:CPLD和EPC系列配置器件只有一种编程模式,即利用FTAG口的isp方式。但用于FPGA的SOF文件有两种编程配置模式,即Passive Serial和JTAG模式,他们的编程电路连接方式也不一样。因此,如果FPGA的下载模式是以JTAG模式连接的,则应选择编程模式为“JTAG”,如图2-24所示。 第第2 2章章 QuartusQuartus II II设计向导设计向导 4. 选择编程器 在图2-23所示的编程窗中,选“Setup”按钮可设置下载接口的方式。 这里选择“ByteBlaster
42、 MVLPT1”,方法是点击图2-23所示的编程窗上的“Setup”钮,即弹出“Hardware Setup”对话框;选择此框的“Hardware settings”页,再双击此页中的选项“ByteBlaster.”,之后点击“Close”按钮,关闭对话框即可。这时,在如图2-23所示的编程窗右上方的编程方式指示“Type”的右侧,显示出编程方式:ByteBlasterLPT1。 第第2 2章章 QuartusQuartus II II设计向导设计向导 5. 对配置器件编程 如果要对工程目标器件EP1K30的配置器件EPC2进行编程,可选择EP1K30适配板,并作好跳线设置,然后作如图2-24
43、(a)的设置,即选择编程为“Freqtest.pof”,下载模式选“JTAG”,并分别对文件名右侧的“Progam/Configure”、“Verify”和“Blank-Check”条目下的小方块打勾,点击“Start”后,即可对EPC2进行编程。编程成功后的界面如图2-24(b)所示。第第2 2章章 QuartusQuartus II II设计向导设计向导 图 2-24(a) 对EPC2编程设置第第2 2章章 QuartusQuartus II II设计向导设计向导 图 2-24(b) 编程成功第第2 2章章 QuartusQuartus II II设计向导设计向导 图 2-24(c) 将编
44、程设置以.cdf文件方式存盘第第2 2章章 QuartusQuartus II II设计向导设计向导 6. 保存编程信息 编程完毕后,如果希望将此次设置的所有结果保存起来,以便能够很快调出进行编程,可以点击“Save as”,将弹出如图2-24(c)所示的文件存储窗,在这里可以将所有编程和配置条件与文件的信息都存在Chain Description File (: cdf) 文件中(ftest.cdf),以后编程只要打开此文件就可以了。第第2 2章章 QuartusQuartus II II设计向导设计向导 2.1.7 Quartus II在Windows 2000上的安装设置 在Window
45、s 98中,Quartus II一旦安装完毕,仅通过Quartus II上的直接设置,即可使用硬件下载功能。但在Windows 2000上安装时,除了安装Quartus II软件外,为使用ByteBlasterMV下载功能,还必须安装硬件驱动(drivers),以支持Quartus II对PC机并行口的操作。 具体安装步骤如下: (1) 假设已在Windows 2000上安装好Quartus II; (2) 选择左下方“开始”“设置”“控制面板”;第第2 2章章 QuartusQuartus II II设计向导设计向导 (3) 双击“游戏选项”图标,然后选择“添加”“添加其它”“从磁盘安装”命
46、令,再单击“浏览”,浏览驱动器所在目录:Quartus II的安装目录driverswin2000; (4) 选择 win2000.inf,单击“确定”; (5) 在“数字签名未找到”对话框中选择“是”; (6) 在“选择一个设备驱动程序”窗口中,选择“Altera ByteBlaster”,并单击“下一步”; (7) 在接下去的“数字签名未找到”对话框中,仍选择“是”; (8) 安装完成,依提示重新启动计算机。第第2 2章章 QuartusQuartus II II设计向导设计向导 2.2 使用宏功能块设计频率计使用宏功能块设计频率计 为了说明在一项顶层设计中如何定制和调用宏功能块,这里以上
47、述频率计的设计为例,分别用宏功能块取代此频率计中的32位锁存器和32位计数器,再进行编译、仿真和硬件测试。首先定制32位计数器,步骤如下:第第2 2章章 QuartusQuartus II II设计向导设计向导 1. 打开MegaCore管理器 选择“Tools”菜单中的“MegaWizard Plug-In Manager”,在弹出的窗口中(图2-25)确认选择“Create a new custom megafunction variation”,点击“Next”。 2. 选择目标器件和宏功能块类型 出现如图2-26所示的对话框。在此框中选择目标器件为“ACEX1K”,模块表达语言为“VH
48、DL”,模块内容为arithmetic项下的“LPM_COUNTER”,生成功能块的路径与取名为“D:FTESTcnt32-core.vhd”。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-25 建立一个宏功能块 第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-26 选择计数器模块及设定文件存储路径 第第2 2章章 QuartusQuartus II II设计向导设计向导 3. 确定宏功能块工作方式 点击“Next”后即进入图2-27,在此对话框中选择计数器为单一加法计数器“Up only”。 再点击“Next”后进入图2-28
49、所示的对话框,在这里选择普通二进制计数方式(如果要选某数进制的计数方式,如十进制计数器,应该选“Modulus”,“with .a count.”),并在“How wide should theqoutput bus”旁键入“32”,即设定为32位二进制计数器。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-27 选择32位单一加法计数器第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-28 选择普通二进制计数方式 第第2 2章章 QuartusQuartus II II设计向导设计向导 4. 选择清0输入 点击“Next”按钮后,
50、出现图2-29所示的对话框,在这里的“Asynchronous inputs”下选择“Clear”,表示此计数器的清零方式选择为异步清零方式,输入端为“aclr”(如图2-30)。 5. 结束编辑 为了将此模块利用顶层文件进行例化,应该特别注意此二进制计数器的端口信号名。点击 “Next”后,即进入结束编辑窗口(如图2-31所示)。最后得到的文件名是“reg32_core.vhd”,在D:FTEST文件夹中。第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-29 清零方式选择 第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-30 选
51、择异步清零方式 第第2 2章章 QuartusQuartus II II设计向导设计向导 图2-31 宏功能模块的VHDL文件形成 第第2 2章章 QuartusQuartus II II设计向导设计向导 6. 编辑32位锁存器宏功能块 此后可以以完全相似的方法定制32位锁存器,其宏功能模块名是“LPM_FF”。在“storage”类别中,存盘可取名为“reg32_core.vhd”,存在同一目录中。最后完成类似于图2-30和图2-31所示的设置。 7. 修改顶层文件例化元件 最后修改例2-4,分别以cnt32_core.vhd和reg32_core . vhd取代原来的cnt1.vhd和re
52、g1.vhd,并注意它们的端口信号。改变后的文件如例2-5所示。此后就可以根据上节介绍的方法对频率计文件进行完整的设计和测试了,也可以比较两种结构的硬件特性、时序情况和逻辑资源耗用率。第第2 2章章 QuartusQuartus II II设计向导设计向导 【例2-5】修改后的文件。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FREQTEST IS PORT ( CLK : IN STD_LOGIC; FSIN : IN STD_LOGIC; DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );END FRE
53、QTEST;ARCHITECTURE struc OF FREQTEST ISCOMPONENT TESTCTL第第2 2章章 QuartusQuartus II II设计向导设计向导 PORT ( CLK : IN STD_LOGIC; TSTEN : OUT STD_LOGIC; CLR_CNT : OUT STD_LOGIC; Load : OUT STD_LOGIC );END COMPONENT;COMPONENT cnt32_core PORT (CLOCK : IN STD_LOGIC; ACLR : IN STD_LOGIC; CLK_EN : IN STD_LOGIC; Q
54、: OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END COMPONENT ;COMPONENT reg32_core第第2 2章章 QuartusQuartus II II设计向导设计向导 PORT (CLOCK : IN STD_LOGIC;DATA : IN STD_LOGIC_VECTOR(31 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );END COMPONENT; SIGNAL TSTEN1 : STD_LOGIC; SIGNAL CLR_CNT1 : STD_LOGIC; SIGNAL Load1
55、: STD_LOGIC; SIGNAL DTO1 : STD_LOGIC_VECTOR(31 DOWNTO 0);第第2 2章章 QuartusQuartus II II设计向导设计向导 BEGINU1 : TESTCTL PORT MAP( CLK =CLK, TSTEN = TSTEN1, CLR_CNT = CLR_CNT1, Load = Load1 );U2 : reg32_core PORT MAP( CLOCK = Load1, DATA = DTO1, Q = DOUT);U3 : cnt32_core PORT MAP( CLOCK = FSIN, ACLR = CLR_CN
56、T1, CLK_EN = TSTEN1, Q = DTO1 );END struc;第第2 2章章 QuartusQuartus II II设计向导设计向导 2.3 嵌入式系统块嵌入式系统块ESB的应用的应用I 嵌入式系统块即Embedded System Block(ESB)。1个ESB有2048个可编程RAM位,能配置成16个逻辑宏单元,并含有OR和XOR逻辑、32个乘积项及16个D触发器。可以利用Quartus II将某些特定的设计放在ESB中实现,而非利用常规的逻辑宏单元LCs(或称LEs)来实现,从而达到优化、提高速度与降低逻辑资源耗用的目的。 第第2 2章章 QuartusQuar
57、tus II II设计向导设计向导 ESB具有特殊的功能结构,它内部含有多种可以利用的逻辑资源,如可配置的RAM结构和乘积项逻辑结构。其RAM结构可根据设计者的要求进行组合、配置,形成不同大小和类型的单口RAM、双口RAM、ROM、FIFO or CAM(内容寻址存储器:Content-addressable memory)。ESB是FLEX系列中的EAB功能结构的扩充。ESB中的乘积项结构适合用于组合逻辑的实现,这种逻辑结构形式过去只存在CPLD中(如Lattice的ispLSI系列或Altera的MAX系列)。含有ESB结构的器件系列有APEX,Excalibur, Mercury等。第第
58、2 2章章 QuartusQuartus II II设计向导设计向导 2.3.1 应用普通方法设计正弦信号发生器 简单正弦信号发生器的VHDL描述如例2-6所示。当此电路结构的8位输出端与8位D/A连接后,可扫描出每周期64点的正弦波形,其中CLK输入频率为f0,控制输出正弦波型的频率为f,它与输入频率的关系是:f = f0 /64。 第第2 2章章 QuartusQuartus II II设计向导设计向导 【例2-6】正弦信号发生器的VHDL描述。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;
59、ENTITY DAC IS PORT ( CLK : IN STD_LOGIC; DD : OUT INTEGER RANGE 255 DOWNTO 0 );END;ARCHITECTURE DACC OF DAC IS第第2 2章章 QuartusQuartus II II设计向导设计向导 SIGNAL Q : INTEGER RANGE 63 DOWNTO 0 ; SIGNAL D : INTEGER RANGE 255 DOWNTO 0 ; BEGIN PROCESS(CLK) BEGIN IF (CLKEVENT AND CLK = 1) THEN Q D D D D D D D D
60、D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D NULL ;END CASE;END PROCESS; DD = D ;END;第第2 2章章 QuartusQuartus II II设计向导设计向导 实现步骤如下: 1. 编译源文件 首先,在D:SIN-WV1路径下,将例2-6的DAC.vhd设置成工程,并选目标器件为“EP20K200EQC240-3”,启动“Processing”?“Start Compilation”,开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中山职业技术学院《电能计量技术》2023-2024学年第一学期期末试卷
- 昭通学院《智能终端与移动应用开发》2023-2024学年第一学期期末试卷
- 云南现代职业技术学院《传递过程导论》2023-2024学年第一学期期末试卷
- 企业市值管理中财务透明度的提升策略研究
- DB2201T 64-2024 梅花鹿布鲁氏菌病胶体金免疫层析检测方法
- 职业导论-房地产经纪人《职业导论》真题汇编1
- 房地产经纪操作实务-《房地产经纪操作实务》押题密卷2
- 年度培训工作总结
- 119消防安全月活动方案
- 二零二五年度废塑料编织袋回收与再生PE膜合同3篇
- 工程监理大纲监理方案服务方案
- (3.10)-心悸急诊医学急诊医学
- 不动产登记操作规范解读
- 盖洛普Q12解读和实施完整版
- 2023年Web前端技术试题
- GB/T 20840.8-2007互感器第8部分:电子式电流互感器
- GB/T 14864-2013实心聚乙烯绝缘柔软射频电缆
- 信息学奥赛-计算机基础知识(完整版)资料
- 发烟硫酸(CAS:8014-95-7)理化性质及危险特性表
- 数字信号处理(课件)
- 公路自然灾害防治对策课件
评论
0/150
提交评论