quartus90软硬件平台的使用.docx
《quartus90软硬件平台的使用.docx》由会员分享,可在线阅读,更多相关《quartus90软硬件平台的使用.docx(44页珍藏版)》请在冰豆网上搜索。
quartus90软硬件平台的使用
2.1软硬件平台的使用
2.1.1基本知识点
1.FPGA开发工具软件QUARTUSII的使用方法;
2.自制FPGA开发平台的使用;
3.各种输入法完成设计的过程;
4.图形输入法的注意事项和画图技巧;
2.1.2实验设备
1.PC机一台;
2.自制实验箱DDA-I型一台(主芯片FLEx10k20TC144-3);
3.QUARTUSII配套软件;
2.1.3实验相关知识介绍
1.数码管显示介绍
实验箱上共有8个数码管,其中SEL7—SEL0作为数码管选择信号,ABCDEFGH依次对应7段译码器及小数点的选通信号。
图2.1.1数码管电路图
为了节省资源,8个数码管共用8个段选择信号,在设计的时候,可以选择让sel7—sel0依次有效(sel信号低电平有效),然后对应的每个sel,ABCDEFGH有其相应的值(段选择信号高电平有效),只要扫描频率足够大,由于人眼的视觉暂留,会感觉8个数码管同时亮着,且每个数码管显示的值互相不干扰。
段选信号ABCDEFGH排列如下:
图2.1.2数码管的段选排列图
如某时刻sel0的值为0,ABCDEFGH的值为00001100,则最右边数码管显示的值为“1”。
2.QuartusII的文件管理
QuartusII是一款功能强大的EDA软件。
在这个集成开发环境中,PLD使用者可以完成编辑、编译、仿真、综合、布局布线、时序分析、生成编程文件、编程等全套PLD开发流程。
QuartusII以工程(Project)为单位管理文件。
保证了设计文件的独立性和完整性。
由于QuartusII功能众多,每一项功能都对应一个甚至多个文件类型。
在使用中,如果需要转移或备份某一工程对应的文件,可使用QuartusII自带的工程文件压缩功能:
打开该工程的顶层实体文件,选择Project→ArchiveProject,在弹出的对话框中点击Archive按钮,完成工程文件压缩,产生压缩文件*.qar。
但.qar文件是把众多文件压缩成一个文件,只有解压缩才能获取具体文件的信息。
如果使用版本控制工具(如CVS),对.qar文件无法进行版本比较。
甚至当.qar文件受损时,部分甚至全部文件都无法恢复了。
而且,缺省配置的.qar文件也包含了一些非关键文件,存在一定的冗余。
如何取舍控制文件?
解决这一问题的关键在于弄清文件扩展名的意义,下面的文件是从QuartusII帮助文件中拷贝出来的文件扩展名解释,如表2.1.1。
表2.1.1文件扩展名解释
FileType
Extension
AHDLIncludeFile
.inc
ATOMNetlistFile
.atm
BlockDesignFile
.bdf
BlockSymbolFile
.bsf
BSDLfile
.bsd
ChainDescriptionFile
.cdf
Comma-SeparatedValueFile
.csv
ComponentDeclarationFile
.cmp
CompressedVectorWaveformFile
.cvwf
ConversionSetupFile
.cof
Cross-ReferenceFile
.xrf
databasefiles
.cdb,.hdb,.rdb,.tdb
DSPBlockRegionFile
.macr
EDIFInputFile
.edf,.edif,.edn
GlobalClockFile
.gclk
GraphicDesignFile
.gdf
HardCopyfiles
.datasheet,.sdo,.tcl,.vo
Hexadecimal(Intel-Format)File
.hex
Hexadecimal(Intel-Format)OutputFile
.hexout
HSPICESimulationDeckFile
.sp
HTML-FormatReportFile
.htm
I/OPinStateFile
.ips
IBISOutputFile
.ibs
InSystemConfigurationFile
.isc
JamByteCodeFile
.jbc
JamFile
.jam
JTAGIndirectConfigurationFile
.jic
LibraryMappingFile
.lmf
LicenseFile
license.dat
LogicAnalyzerInterfaceFile
.lai
MemoryInitializationFile
.mif
MemoryMapFile
.map
PartMineredaXML-FormatFile
.xml
Pin-OutFile
.pin
placementconstraintsfile
.apc
ProgrammerObjectFile
.pof
programmingfiles
.cdf,.cof
QMSGFile
.qmsg
Quartus IIArchiveFile
.qar
Quartus IIArchiveLogFile
.qarlog
QuartusUser-DefinedDeviceFile
.qud
Quartus IIDefaultSettingsFile
.qdf
QuartusIIExportedPartitionFile
.qxp
Quartus IIProjectFile
.qpf
Quartus IISettingsFile
.qsf
Quartus IIWorkspaceFile
.qws
RAMInitializationFile
.rif
RawBinaryFile
.rbf
RawProgrammingDataFile
.rpd
RoutingConstraintsFile
.rcf
SignalActivityFile
.saf
SignalTap IIFile
.stp
SimulatorChannelFile
.scf
SRAMObjectFile
.sof
StandardDelayFormatOutputFile
.sdo
SymbolFile
.sym
SynopsysDesignConstraintsFile
.sdc
Tab-SeparatedValueFile
.txt
TabularTextFile
.ttf
TclScriptFile
.tcl
TextDesignFile
.tdf
Text-FormatReportFile
.rpt
Text-FormatTimingSummaryFile
.tan.summary
TimingAnalysisOutputFile
.tao
TokenFile
ted.tok
VectorFile
.vec
VectorTableOutputFile
.tbl
vectorsourcefiles
.tbl,.vwf,.vec
VectorWaveformFile
.vwf
VerilogDesignFile
.v,.vh,.verilog,.vlg
VerilogOutputFile
.vo
VerilogQuartusMappingFile
.vqm
VerilogTestBenchFile
.vt
ValueChangeDumpFile
.vcd
version-compatibledatabasefiles
.atm,.hdbx,.rcf,.xml
VHDLDesignFile
.vhd,.vhdl
VHDLOutputFile
.vho
VHDLTestBenchFile
.vht
XMLfiles
.cof,.stp,.xml
waveformfiles
.scf,.stp,.tbl,.vec,.vwf
表2.1.1中的这些文件可以分为五类:
⑴编译必需的文件:
设计文件(.gdf、.bdf、EDIF输入文件、.tdf、verilog设计文件、.vqm、.vt、VHDL设计文件、.vht)、存储器初始化文件(.mif、.rif、.hex)、配置文件(.qsf、.tcl)、工程文件(.qpf)
⑵编译过程中生成的中间文件(.eqn文件和db目录下的所有文件)
⑶编译结束后生成的报告文件(.rpt、.qsmg等)
⑷根据个人使用习惯生成的界面配置文件(.qws等)
⑸编程文件(.sof、.pof、.ttf等)
上面分类中的第一类文件是一定要保留的;第二类文件在编译过程中会根据第一类文件生成,不需要保留;第三类文件会根据第一类文件的改变而变化,反映了编译后的结果,可以视需要保留;第四类文件保存了个人使用偏好,也可以视需要保留;第五类文件是编译的结果,一定要保留。
在使用版本控制工具时,建议保留第一类、第三类和第五类文件。
但是第三类文件通常很少被反复使用。
为了维护一个最小工程,第一类和第五类文件是一定要保留的。
2.2.4实验内容
利用软件MAX+PLUSII或QUARTUSII完成数码管显示电路的逻辑设计,学习用图形输入法完成电路的逻辑设计,学习画图技巧,并通过波形仿真及硬件实验箱验证设计的正确与否,并记录结果,完成报告。
2.2.4.1模4计数器
以模4计数器为例,详细介绍基于原理图输入的quartusII工程设计过程:
创建工程文件、编辑设计图形、编译综合、仿真验证、管脚配置、编程下载、硬件验证测试等。
1.建立工程文件
⑴指定工程文件名
在图2.1.3所示窗口中,选择File→NewProjectWizard,弹出如图2.1.4的对话框,在此对话框中分别输入新建工程所在的文件夹名称(counter4)、工程名称(counter4)和顶层实体名称(counter4)。
QuartusII要求工程文件名与顶层实体名一致。
图2.1.3QuartusII软件界面
图2.1.4新建工程对话框
⑵添加文件和库
工程文件夹名、工程名以及顶层实体名设置完后,点击Next按钮,弹出如图2.1.5所示的对话框,在此对话框中可以设置添加的文件或者库,按提示操作。
完成后,单击Next按钮,进入如图2.1.6所示的目标器件选择对话框。
图2.1.5添加文件或库对话框
⑶选择目标器件
在图2.1.6所示的目标器件选择对话框中,在Family下拉列表中选择器件的种类(FLEX10K系列),在targetdevice选项组中选择Specificdeviceselectedin“Avaiabledevices”list,为用户制定目标器件。
在Showin“Availabledevice”list选项组中,通过限制封装(Package)、引脚数(Pincount)、速度等级(Speedgrade)条件,快速查找所需器件,选择型号为EPF10K20TC144-3的主芯片。
图2.1.6目标器件选择对话框
单击Next按钮,进入如图2.1.7所示的第三方EDA工具选择对话框。
⑷选择第三方EDA工具
在图2.1.7所示对话框中,依据提示用户可以选择所用的第三方工具如Modelsim、Synplify等。
如不需要第三方工具,则单击Next按钮,进入如图2.1.8所示的工程创建结束对话框。
图2.1.7第三方EDA工具选择对话框
⑸工程创建结束
在图2.1.8所示的结束对话框中,查看设置信息是否正确,正确,则单击Next,弹出如图2.1.9所示窗口,在QuartusII资源管理器中可以看到新建的工程名称。
图2.1.8工程创建结束对话框
图2.1.9工程创建后的界面
2.设计输入(原理图法)
⑴选择输入文件类型
在2.1.9所示窗口中,选择Flie→New,或单击工具栏图标中的图标?
,弹出如图2.1.10所示的新建文件类型选择对话框。
在本对话框中有8中设计文件输入方式,分别对应相应的编译器。
本节要介绍的是原理图输入法,选择BlockDiagram/SchematicFile并单击OK按钮,弹出如图2.1.11所示的图形编辑器对话框。
图2.1.10新建文件类型选择对话框
图2.1.11空白的图形编辑器
⑵元件符号的放置
在空白的图形编辑器中双击鼠标左键,或者在编辑器的工具栏中单击图标?
,弹出如图2.1.12所示的选择电路元件符号的对话框,选择others→maxplus2→74161,或在Name中直接输入74161,单击OK按钮。
光标上粘连着被选中的元件符号,将其移动到合适的位置,单击鼠标左键,则元件放置完成,如图2.1.12所示。
同样,在安置一个2输入与门,一个D触发器DFF,输入端INPUT和输出端OUTPUT符号。
图2.1.12元件符号选择对话框
⑶命名及连接各元件
本实例中,需要将输入信号1个定义为时钟信号clk,输出信号2个定义为q1,q0。
选中原理图中编辑器中的INPUT符号,用鼠标双击pin_name,输入信号名“clk”,该输入信号则定义为时钟信号clk。
同理可定义其他输入、输出信号。
在本实例中,我们可以将同类型的输出信号q1、q0组合成一个信号组,并将其定义为输出信号q[1..0]。
连接元件有两种方法,一种是直接连接,一种是间接连接(逻辑连接法)。
直接连接:
在图中将光标移动到输入信号clk的右侧,当光标变成十字形光标时按住鼠标左键不放,奖其拖到74161的clk管脚的左侧,带连接点上出现蓝色的小方块时释放鼠标左键,这样在输入信号除了口语74161的clk管脚之间有一条导线连接。
这种连接属于直接连接。
重复上述操作连接其他导线,完成原理图。
间接连接(逻辑连接法):
在图中将光标移动到输出信号组q[1..0]的左侧,当光标出现十字形光标时按住鼠标左键不放,拖出一小段粗线后释放鼠标左键,在将这段小粗线命名为q[1..0],将鼠标移动到74161的输出信号QA端,当光标出现十字形光标时按住鼠标左键不放,拖出一小段细线,然后命名为qq[0],同理将74161的输出信号QB引出一小段连线并命名为q[],此时电路图中74161的QA,QB与输出信号qq[1..0]是连接的,这种通过对信号线命相同名的方法为间接逻辑连接法。
如图2.1.13。
图2.1.13模4计数器的电路图
⑷保存文件
单击按钮
,弹出Windows标准的“另存为”对话狂框,在默认情况下保存工程文件名counter4,保存类型为“.bdf”,并选中Addfiletocurrentproject。
单击“保存”按钮,完成文件的保存。
3.编译
选择菜单Processing→CompilerTool,或直接点击按钮
,弹出Qurtus2的编译器窗口,点击“start”按钮,开始编译,在下面的Message窗口会显示各种信息,包括警告和出错信息,如有错,则需要依据错误提示信息返回并修改电路,再次重新编译直至无错误提示信息和提示编译成功,如图2.1.14。
图2.1.14编译成功
4.仿真功能验证
⑴建立波形文件
单击工具栏中的
图标,弹出如图2.1.15所示的新建文件对话框。
在此对话框中,选择VectorWaveformFile并单击OK按钮,弹出如图2.1.16所示的波形编辑窗口。
图2.1.15新建文件类型选择对话框
图2.1.16波形编辑窗口
⑵添加引脚节点
①在图2.1.16中,在Name下方的空白处双击鼠标左键,弹出如图2.1.17的InsertNodeorBus对话框,点击该对话框中的NodeFinder按钮,弹出如图2.1.18的NodeFinder对话框。
图2.1.17添加节点或总线对话框
图2.1.18NodeFinder对话框
②在图2.1.18中,在Filter下拉列表中选择Pins,其他选项取默认值,单击List按钮,在NodeFound中列出设计中的所有引脚,然后点击该图中的
按钮,将所有的引脚复制到右侧的SelectedNodes中,如图2.1.19。
图2.1.19选择输入、输出引脚
③点击图2.1.19中的OK按钮,返回到添加节点的对话框。
该对话框中的Name、Type、Buswidth、Startindex中的内容变为MultipleItems,如图2.1.20。
单击OK按钮,繁华波形编辑窗口,此时选中的输入、输出引脚被调价到波形编辑窗口,如图2.1.21。
图2.1.20添加完节点后的节点添加对话框
图2.1.21添加节点后的波形编辑窗口
⑶参数设置
在波形编辑前,有两个重要参数需要设置:
仿真结束时间、仿真网格大小。
①仿真时间系统默认值为1us,但是在某些电路的仿真在1us内完成不了,因此需要在仿真前事先确定仿真时间,避免仿真时间不够的现象发生。
选择菜单栏Edit→EndTime,弹出EndTime对话框,在Time文本框中更改仿真的结束时间为2us,其他不变,即设置波形仿真时间长度为2us。
图2.1.22仿真结束时间对话框
②选择菜单栏中的Edit→GridSize,弹出网格大小设置对话框,系统默认的网格大小为10.0ns,需将其该为100ns,否则仿真后的仿真图中输出信号相对输入信号的延时比例偏大。
一半我们将网格大小设置为100ns。
图2.1.23网格大小的设置
⑷编辑波形
在图2.1.21中选中Name下方的clk,使其变为蓝色高亮状态,然后选择左侧波形编辑工具栏中的
按钮,弹出如图2.1.24的时钟设置对话框,设置时钟信号的周期、相位和占空比。
网格大小在设置参数时已设置为100ns,则时钟周期默认为100ns。
设置完后,单击OK按钮,返回波形编辑窗口。
如图2.1.25.
图2.1.24时钟设置对话框
图2.1.25编辑完输入信号之后的波形编辑窗口
⑸保存波形文件
在图2.1.25中单击
按钮,弹出Windows标准的“另存为”对话框,在默认情况下,文件名为工程文件名counter4,保存文件类型为.vwf,选中Addfiletocurrentproject。
单击“保存”按钮,完成文件的保存。
⑹仿真
Quartus2软件的仿真分为功能仿真和时序仿真。
功能仿真是忽略了延时,按逻辑关系仿真,而时序仿真因加入了延时而更贴近实际情况。
Quartus2仿真软件可以仿真整个设计,也可以指定工程中的任何设计实体为顶层设计实体,并仿真顶层实体及其所有其他附属实体。
开始仿真前,必须先生成合适的仿真网表,选择菜单栏中的Processing→GenerateFunctionalSimulationNetlist,此外,建立并指定一个向量源文件为仿真输入向量的源。
Simulator使用向量源文件所包含的输入向量,来仿真同意条件下编辑器件将要产生的输出信号。
①功能仿真
A:
:
选择菜单栏中的Assignments→Settings,弹出如图2.1.26的仿真设置窗口,单击SimulatorSettings选项后,在右侧的Simulationmode下拉列表中选择Functional,其他按默认设置,单击OK按钮完成设置。
图2.1.26Quartus2软件的仿真设置窗口
B:
选择Processing→GenerateFunctionalSimulationNetlist,自动创建功能仿真网表,完成后在相应弹出的提示框中,单击“确定”按钮即可。
C:
单击工具栏中的仿真按钮
,进行功能仿真,仿真结果如图2.1.27,从图中可以看出,仿真后的波形没有延时,逻辑关系正确。
图2.1.27无延时的功能仿真结果
②时序仿真
A:
选择菜单栏中的Assignments→Settings,弹出如图2.1.26的仿真设置窗口,单击SimulatorSettings选项后,在右侧的Simulationmode下拉列表中选择Timing,其他按默认设置,单击OK按钮完成设置。
B:
:
选择Processing→GenerateFunctionalSimulationNetlist,自动创建功能仿真网表,完成后在相应弹出的提示框中,单击“确定”按钮即可。
C:
:
单击工具栏中的仿真按钮
,进行功能仿真,仿真结果如图2.1.28,从图中可以看出,仿真后的波形有一定的延时,逻辑关系正确。
图2.1.28有延时的时序仿真结果
5.目标器件选择及管脚分配
目标器件选择在创建工程时已选择完毕,管脚分配是为了对设计进行硬件测试和实际应用,将输入输出信号的引脚锁定到目标器件的相应管脚上。
选择菜单栏中的Assignments→Pins或Assignments→PinPlanner,弹出如图2.1.29的窗口,它包含器件封装视图,以不同的颜色和符号表示不同类型的引脚,并以其他符号表示I/O块。
图2.1.29引脚和引脚组分配窗口
图2.1.29中显示了未分配引脚的列表,包括节点名称列、方向、类型;器件封装视图;在该窗口中,可调整视图大小,选择左侧工具栏中的
,再将鼠标拖至视图中点击视图,则视图放大,按住键盘的shift键,将其拖至视图,点击视图,则视图变小。
分配管脚的方法:
选中第一行(clk行)Location列,使其变为蓝色高亮状态并用鼠标双击,弹出主芯片EPF10K20TC144-3的管脚资源,再依据实验板上输入输出资源将该时钟信号clk锁定到目标管脚上P122上即可。
同理锁定其他输出信号q[1]、q[0]在P118、P117两个发光二极管灯上。
或者在器件封装图的需要分配的管脚上双击鼠标左键,弹出如图2.1.30的引脚属性框,在Nodename下拉列表框中选择需要的节点名,其他按默认设置,然后单击OK按钮,完成引脚分配,同理分配其他引脚,如图2.1.31。
分配完引脚后的电路图中显示出各输入输出引脚的分配状态,如图2.1.32。
图2.1.30引脚属性对话框
图2.1.31引脚分配完后的引脚分配窗口
图2.1.32引脚分配完后的电路图显示出输入输出管脚的状态
6.编程下载及硬件测试
顶层设计实体在通过编译后可生成文件*.Sof用于下载。
在ALTERA公司的器件中,FLEX系列类似于FPGA,其逻辑块LE及内部互连信息都是通过芯片内部的存储器单元阵列完成的。
这些存储器单元阵列可由配置程序装入。
存储器单元阵列采用SRAM方式,对这类器件的下载称为配