《基于FPGA的数字电路系统设计》课件第1章_第1页
《基于FPGA的数字电路系统设计》课件第1章_第2页
《基于FPGA的数字电路系统设计》课件第1章_第3页
《基于FPGA的数字电路系统设计》课件第1章_第4页
《基于FPGA的数字电路系统设计》课件第1章_第5页
已阅读5页,还剩281页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章QuartusⅡ应用入门1.1QuartusⅡ安装1.2QuartusⅡ的项目和文件管理1.3图形设计源文件编辑1.4设计文件综合和仿真1.5端口分配、项目编译适配和器件编程1.6SignalTapⅡ嵌入式逻辑分析仪应用QuartusⅡ开发基于可编程器件的数字电路或系统的过程如下:

(1)新项目工程创建(NewProjectWizard)建立新工程并指定目标器件或器件系列。

(2)使用原理图编辑器(BlockEditor)或文本编辑器(TextEditor)建立流程图、原理图设计文件或硬件描述语言设计文件。

(3)使用资源分配编辑器(AssignmentEditor)、参数设置选项(Settings)、底层编辑器(FloorplanEditor)、逻辑锁定器(LogicLock™)功能指定初始设计的约束条件。

(4)使用片上可编程系统构建平台(SOPCBuilder)或数字信号处理器构建平台(DSPBuilder)建立系统级设计。

(5)使用软件构建平台(SoftwareBuilder)为器件处理内核(Excalibur™)或嵌入式处理内核(Nios®)建立控制软件编程文件。

(6)使用分析综合工具(Analysis&Synthesis)对设计文件进行分析综合。

(7)使用仿真工具(SimulatorTool)对设计文件进行功能仿真或时序仿真。

(8)使用编译工具(CompilerTool)对设计文件进行分析综合(Analysis&Synthesis)、物理层适配(Fitter)、布局布线优化组合(Assembler),底层信号传输时间分析(TimingAnalyzer),产生下载编程文件。

(9)使用编程器Programmer下载设计文件对器件进行编程,或将编程文件转换为其他文件格式供嵌入式处理器等其他系统使用。

(10)若有需要,使用SignalTap®ⅡLogicAnalyzer、SignalProbe™功能对设计进行硬件实时调试。

(11)若有需要,使用ChipEditor、ResourcePropertyEditor和ChangeManager进行工程更改管理。

对于一般的数字电路或系统设计,QuartusⅡ应用基本流程可简化为如图1-0-1所示。如果FPGA或CPLD安装在用户系统或开发装置上,在项目编译前必须规划引脚分配,否则可由QuartusⅡ任意分配输入、输出端口引脚。图1-0-1QuartusⅡ应用基本流程

1.1QuartusⅡ安装

1.1.1安装QuartusⅡ5.1软件

QuartusⅡ5.1的安装步骤:

(1)将QuartusⅡ5.1安装光盘放入计算机光驱,安装程序将自动启动,出现如图1-1-1所示的4个选项。

(2)选择第一项“InstallQuartusⅡandRelatedSoftware”,进入QuartusⅡ软件的安装向导界面。选择“QuartusⅡ5.1”,然后按照安装向导的提示经过一系列的确认操作,即可完成QuartusⅡ5.1软件的安装。图1-1-1QuartusⅡ软件安装初始界面1.1.2指定授权文件

QuartusⅡ软件安装完成后,必须指定Altera公司的授权文件(License.dat)才能正常使用。在Windows2000或WindowsXP系统下指定授权文件的操作步骤如下:

(1)在开始菜单中选择“设置”⇒“控制面板”,用鼠标左键双击控制面板上的“系统”图标;或用鼠标右键单击“我的电脑”⇒“属性”。在弹出的“系统属性”对话框中选择“高级”页面,如图1-1-2所示。图1-1-2“系统属性”对话框

(2)点击“环境变量”按钮,在弹出的对话框中单击“×的用户变量”(×为用户PC名)栏下的“新建”按钮,弹出“新建用户变量”对话框,如图1-1-3所示。在变量名栏中输入“LM_LICENSE_FILE”;在变量值栏中输入“c:\flexlm\license.dat”,点击确定退出。

图1-1-3“环境变量”对话框

(3)将从Altera公司申请得到的授权文件license.dat粘贴在c:\flexlm目录下。

(4)启动QuartusⅡ软件,选择“Tools”⇒“LicenseSetup”命令,弹出如图1-1-4所示的“Options”对话框,在此页面的“LicenseSetup”下的“Licensefile”栏中选择“c:\flexlm\license.dat”,点击“OK”按钮,结束授权。图1-1-4“Options”对话框的“LicenseSetup”页面1.1.3安装编程硬件驱动程序

在QuartusⅡ环境中可以通过计算机数据通信接口把系统编程文件下载到目标器件中。如果使用计算机并行接口下载编程文件,则需要安装Altera公司的编程硬件驱动程序。以WindowsXP平台为例,安装步骤如下:

(1)打开控制面板。在控制面板中双击“添加硬件”图标,弹出“添加硬件向导”对话框,点击“下一步”,弹出如图1-1-5所示的对话框,选择第一项“是,我已经连接了此硬件”。图1-1-5“添加硬件向导”对话框2

(2)点击“下一步”,弹出如图1-1-6所示的对话框,在“已安装的硬件”栏目中选择“添加新的硬件设备”。图1-1-6“添加硬件向导”对话框3

(3)点击“下一步”,弹出如图1-1-7所示的对话框,选择第二项“安装我手动从列表选择的硬件(高级)”。图1-1-7“添加硬件向导”对话框4

(4)点击“下一步”,弹出如图1-1-8所示的对话框,在“常见硬件类型”栏目中选择“声音、视频和游戏控制器”。图1-1-8“添加硬件向导”对话框5

(5)点击“下一步”,弹出如图1-1-9所示的对话框;点击“从磁盘安装”按钮,弹出如图1-1-10所示的“从磁盘安装”对话框;点击“厂商文件复制来源”文件查找框旁的“浏览”按钮,在弹出的文件集中查找QuartusⅡ系统安装目录下的驱动文件“C:\altera\quartus51\drivers\win2000”(设QuartusⅡ系统安装在C盘根目录下),点击“确定”按钮。图1-1-9“添加硬件向导”对话框6图1-1-10“从磁盘安装”对话框

(6)如果出现相容性警告,则选择“仍然继续”,弹出如图1-1-11所示的对话框,在“型号”栏中选择“AlteraByteBlaster”;点击“下一步”,弹出“添加硬件向导”界面末页,等待硬件驱动安装完毕后点击“完成”按钮,计算机自动重启后硬件驱动程序生效。图1-1-11“添加硬件向导”对话框7

(7) QuartusⅡ的硬件驱动程序生效后,若在计算机控制面板中双击“系统”图标,选择“硬件”标签页,点击“设备管理器”按钮,在设备管理器界面中打开“声音、视频和游戏控制器”选项,会看到添加的设备名称“AlteraByteBlaster”,如图1-1-12所示。图1-1-12查看编程器硬件驱动安装结果

1.2QuartusⅡ的项目和文件管理

1.2.1QuartusⅡ的开发环境

QuartusⅡ的开发环境如图1-2-1所示,项目路径和项目名一般显示在窗口上方。QuartusⅡ的主菜单与一般视窗软件的主菜单相似,有文件管理(File)、编辑(Edit)、视图(View)、项目管理(Project)、资源分配(Assignements)、设计处理(Processing)、工具(Tools)、视窗(Window)、帮助(Help)等9个选项。图1-2-1QuartusⅡ设计环境

ProjectNavigator、Status和Message窗口可以进行显示和隐藏操作。具体方法是点击主菜单“View”项,在下拉选项框中选择第一项实用视窗“UtilityWindows”,右方弹出如图1-2-2的选项框,点击相应的窗口名可以切换显示/隐藏功能。图1-2-2QuartusⅡ常用窗显示选择

QuartusⅡ设计环境中各平台的界面参数可以根据用户爱好设置,比如文字信息的字体、颜色,处理平台的参数默认值,工具条是否显示等。具体方法是点击主菜单“Tools”项,在下拉选项框中选择倒数第二项“Options…”,弹出如图1-2-3的选项框。图1-2-3QuartusⅡ的环境参数设置1.2.2新项目的创建

新项目创建步骤:

(1)启动QuartusⅡ5.1后,打开“File”菜单,选择“NewProjectWizard…”(新建项目向导),如图1-2-4所示。弹出如图1-2-5所示的对话框。图1-2-4新建项目向导命令图1-2-5指定项目路径、创建项目目录

(2)在对话框第一栏内键入盘符、子目录和项目目录。一般子目录存放在除C盘外其他盘的根目录下,子目录命名具有个人的特征,每个项目分别建立一个具有实义的项目目录。比如,D:/学号/项目目录名。也可点击栏右边的浏览按钮选择已经存在的路径。建议为每个项目单独建立一个项目目录。

(3)在对话框第二栏内键入项目名称,第三栏内会自动出现与项目名同名的顶层设计文件名。项目名不能与QuartusⅡ自带的元件名同名,最好采用不多于8个字符的数字和英文字母,不要使用中文字符,也不要有空格。

(4)点击“Next>”,如果项目目录原来不存在,则弹出提示框,提醒是否要创建这个目录。点击“是”按钮,QuartusⅡ会自动创建新目录,并弹出图1-2-6所示的添加文件选项框。如果需要导入其他路径下已存在的源文件或用户库,可点击“Filename”栏旁的浏览按钮进行查找选择。图1-2-6添加设计文件、用户库

(5)点击“Next>”,弹出如图1-2-7所示的选项框,其右方适配参数“Filters”下3个约束选项框(封装形式Package、引脚数目Pincount和速度Speedgrade)均可选默认项“Any”。如果3个选项中有约束参数,则器件型号的供选项被限制。比如,选项“Pin”设置了“144”,则其左方供选器件(Availabledevices)滚动框中只包含144个引脚的器件型号供选择。图1-2-7选择目标器件系列和型号

(6)根据用户设计载体选择目标器件的系列和型号。比如,DE2开发板上的FPGA器件为CycloneⅡ系列的EP2C35F672C6,而LP—2900开发装置的FPGA器件有两种:FLEX10K系列的EPF10K10TC144—4和Cyclone系列的EP1C3T144C8。根据所用的目标器件,在系列(Family)下拉栏中选择器件系列,在“Availabledevices”滚动框中选择器件型号。需要注意的是,若项目设置的器件系列和型号与用户系统中的可编程器件系列、型号不同,则设计编程文件不能下载到器件中。

(7)点击“Next>”,出现添加第三方EDA工具的选项框。一般情况下不需选择直接进入下一步。项目参数设置完毕后显示所建项目的信息汇总,比如项目路径、项目目录、项目名、顶层设计文件名、加入的文件和用户库数量、目标器件的系列和型号、支持的EDA工具等。检查设置无误后点击“Finish”,项目创建完成,在QuartusⅡ窗口的左上方显示本项目的目录和项目名。

(8)新项目创建也可以在如图1-2-5所示的项目目录和顶层文件名后点击“Finish”完成。其他项目设置可随时在如图

1-2-8所示的Settings选项框进行。在QuartusⅡ环境中弹出“Settings”(项目设置)框的方法有以下几种:

①直接点击主工具条中的按钮。

②选择主菜单命令“Assignments”,点击其中的“Settings…”选项。

③选择“ProjectNavigator”(项目导航)栏中“Entity”框内的顶层文件图标或顶层文件名,点击鼠标右键,在弹出的选项框中点击“Settings…”项。图1-2-8QuartusⅡ设置选项框“Settings”选项框中包含了所有有关QuartusⅡ的设置,其中与项目设置相关的类型及功能如表1-2-1所示。

(9)如果在未建项目或未打开项目时建立新的设计文件,保存文件时会出现“是否需要创建新项目”的提示,点击“是”按钮,弹出如图1-2-4所示的项目创建向导,引导设计者在保存文件之前先创建新项目。1.2.3项目管理

1.打开一个已经创建的项目

启动QuartusⅡ后,点击“File”⇒“OpenProject…”,出现图1-2-9所示的选项框。文件类型一般默认为项目文件。下拉“查找范围”栏,查找项目所在路径和目录,选择项目目录下显示的项目文件(*.qpf),点击“打开”按钮或双击图标,打开项目。也可在项目目录中直接双击项目文件图标打开项目工程。特别需要注意的是,个别初学者会因习惯于计算机视窗平台的操作,在进入Quartus后直接采用命令“File”⇒“Open…”,打开设计文件。由于项目工程尚未打开,QuartusⅡ的所有处理功能,包括综合分析、仿真、编译、下载等操作全部被禁止,相应的命令和快捷键都呈灰色,不能激活。图1-2-9打开已经存在的项目文件

2.项目导航管理

1)项目导航器(ProjectNavigator)

图1-2-10是QuartusⅡ的项目导航器界面。导航窗口下方有3个可以互相切换的标签,分别表示层次(Hierarchy)、文件(Files)和设计单元(DesignUnits)。图1-2-10项目导航窗中的文件层次页面点击“Hierarchy”图标,出现实体窗口Entity,显示当前项目设计实体所选的目标器件型号和顶层文件名。点击顶层文件名,可以拉出其下的各层文件。项目中的文件排列呈树形结构,反映了项目中的文件层次关系。每个设计文件中使用的逻辑单元(LogicCells)和存储元数(LCRegisters)也在窗口中列出。

Files窗口中显示3个文件夹。当前项目下的所有设计源文件按类型归在器件设计文件夹(DeviceDesignFiles)、软件程序文件夹(SoftwareFiles)和其他文件夹(OtherFiles)中。当文件夹中有文件时,文件夹名前出现“+”号,点击“+”号可以展开文件夹,列表显示其中的所有文件名,如图1-2-11所示。DesignUnits窗口中显示当前项目下的所有设计单元。图1-2-11文件列表页面

2)修改文件层次

由于QuartusⅡ的逻辑分析综合、编译、仿真等处理功能都是面向顶层文件,当需要对某个底层文件进行处理时,需要将该文件暂时设置为顶层文件。设置顶层文件的方法是:

选择项目导航器下方栏中的文件(Files)标签,列出所有文件的层次关系。选中需要处理的文件名,点击鼠标右键,在弹出框中选“SetasTop-LevelEntity”。 1.2.4快捷键工具栏

QuartusⅡ的各处理平台或编辑器都有相应的快捷按钮,可以根据需要切换显示或隐藏快捷工具栏。点击QuartusⅡ主菜单中的“Tools”项,在下拉框中选择倒数第三项“Customize…”,弹出如图1-2-12所示的对话框。选择标签“Toolbars”,出现工具条选项框。框中每一选项对应QuartusⅡ一类处理功能的快捷工具栏。在打开相应的编辑器时,若选项前打钩,工具栏显示,否则工具栏隐藏。当编辑器或处理平台关闭时,工具栏自动隐藏,选项前的钩消失。图1-2-12快捷工具条选择

工具条选项框的第一项为QuartusⅡ的通用工具栏。通用工具栏中间的下拉框中显示的是项目名,框左各快捷键主要针对文件编辑,其图标和功能都与视窗中的文件编辑快捷键相同。项目名框右方各快捷键的图标和功能如图

1-2-13所示。图1-2-13常用工具条部分图标说明1.2.5QuartusⅡ的文件管理

1.新建文件

点击新建文件快捷图标或主菜单“File”

“New…”命令,出现如图1-2-14所示的新文件类型选项框,点击选项框上方的类型标签可切换新建文件的类型,选择不同的文件格式。双击文件格式或选择文件名后按确认按钮可在文件编辑区打开新文件。图1-2-14文件类型选项框

2.文件格式说明

器件设计文件(DeviceDesignFiles)是针对可编程器件的逻辑设计源,包含了6种文件格式,如图1-2-14所示。其中面向图形设计和文本设计两种输入方式的4种源文件格式和扩展名如表1-2-2所示。其他文件(OtherFiles)主要为项目设计提供辅助性的或处理过程需要的文件格式,共有10个选项,如图1-2-15中所示。其中比较常用的有仿真处理需要的矢量波形图文件(VectorWaveformFile),用于建立片上逻辑分析仪的(SignalTapⅡFile)以及数个针对不同应用的文件格式。存储器数据初始化文件(MemoryInitializationFile)和Intel格式的十六进制数据文件(Hexadecimsal[Intel-Format]File)都可以建立数据表文件。图1-2-15其他文件类型选项

3.文件打开与关闭

点击快捷图标或项目导航器Files窗口中的文件名或执行主菜单“File”

“Open…”命令,可以打开文件。被打开的文件同时在QuartusⅡ的主窗口显示。需要注意的是,器件设计源文件必须在项目工程下打开。如果在项目未建或未打开时直接打开设计文件,则除了编辑功能外,QuartusⅡ的其他处理功能都无效。

点击文件右上方“×”符或主菜单“File”

“Close”命令,可以关闭文件。

4.在项目中添加其他路径下的文件或移出本项目的文件

若当前项目的设计文件需要使用其他项目自建的元件符号,则必须将创建该元件的设计文件(图形文件*.bdf或文本文件*.tdf、*.v、*.vhd)添加到当前项目中;如果当前项目不需要某个设计文件,则必须把它移出项目。添加文件和移出文件的操作方法是:执行“Project”

“Add/RemoveFilesinProject…”命令,弹出“Settings”页面,页面右方是类似图1-2-6的项目文件添加或移出对话框(Files)。若需添加文件,则点击“Filename:”栏旁的浏览按钮进行搜索,找到文件后双击文件名,点击“Add”按钮,文件被加入项目。若需移出文件,则在对话框下方的Filename区域中选择文件名,点击“Remove”,文件被移出项目。例1

在D盘“2007”目录下创建“test”项目,并在项目中建立一个数据文件,以BCD码表示一个等差级数,数据范围为0~500,级数为64。

解(1)按1.2.2节的步骤创建新项目,设下载设计文件的可编程器件系列选择FLEX10K,器件型号选择EPF10K10TC144-4。

(2)点击快捷图标或执行主菜单“File”

“New…”命令,打开如图1-2-14的新建文件窗口,点击“OtherFiles”标签,在如图1-2-15的选项框中选择“MemoryInitializationFile”或“Hexadecimal(Intel-Format)File”。

(3)点击“OK”确认,弹出如图1-2-16所示的字数(Numberofwords)、字长(Wordsize)对话框。

其中字数表示存储信息个数或数据个数,字长表示二进制存储信息或数据的位数。根据本例的等差级数确定字数为64。因为数据需要3组BCD码表示,所以字长为12。图1-2-16存储数据文件的参数设定

(4)填入字数和字长后按“OK”确认,弹出数据文件编辑页面,如图1-2-17所示,默认数据内容为全0。页面的左上角显示文件名,新建文件默认名为扩展名后加数序。MemoryInitializationFile格式的文件扩展名为 .mif,Hexadecimal(Intel-Format)File格式的文件扩展名为 .hex。图1-2-17数据文件页面

(5)数据文件的显示格式可以通过菜单“View”选择,各有关选项说明如图1-2-18所示。图1-2-17的文件显示形式为每行8个单元,地址为十六进制码,数据格式为二进制。图1-2-18数据文件的显示方式选择

(6)如果数据文件中的数据关系没有规律,则每个单元的内容一般通过按键设置。如果数据具有函数关系,则可以通过Excel、Matlab等辅助计算工具产生函数数据文件。数据按地址顺序排列,两个数据间至少间隔一个空格。比如,本例等差级数的64个数据计算式为采用Matlab计算64个y值的方法是:启动Matlab,在命令窗中输入与运算关系相应的函数命令行:

y=round(linspace(0,63,64)*500/63);

reshape(y,8,8)’

值域设置函数linspace确定了x的取值范围(0~63)和取值个数(64),round函数对运算结果取整数。reshape(y,a,b)’命令行是指定函数值y的显示方式:每行a个数据,共b行,a×b必须等于y数据的个数。若命令行有后缀符号“’”,则表示y数据按行依序排列;否则,按列依序排列。命令执行后Matlab命令窗中显示函数y的64个整数值,8行8列,每个数据之间以空格间隔,如表1-2-3所示。拷贝所有数据,切回QuartusⅡ的数据文件编辑窗。将鼠标定位在第一个单元,点击“粘贴”命令,所有数据就被依序粘贴到数据文件的各单元中。由于计算结果是3位十进制数,而设计要求的数据是用3组BCD码表示。每组BCD码是4位二进制数,可用一位十六进制数代替。所以在粘贴数据之前,必须将文件的数据格式设定为十六进制(Hexadecimal),粘贴后的数据文件如图1-2-19所示,若转换成二进制后则呈现的是BCD码格式。图1-2-19举例数据文件

(7)数据信息输入完成后保存文件。与视窗文件操作相同,可选择主菜单“File”⇒“Save”或“SaveAs…”命令,或者直接点击快捷工具,弹出保存文件对话框,如图1-2-20所示。一般默认文件保存在当前项目目录下,默认文件名与项目名相同,并默认文件添加到当前项目中(Addfiletocurrentprojec)。若文件保存路径不同或文件名与项目名不同或不需要添加在项目中,则可修改选项,然后单击保存按钮即可。当“Addfiletocurrentproject”项被选择时,文件保存后项目导航器中出现所建文件名。图1-2-20保存新文件或另存文件对话框

1.3图形设计源文件编辑

1.3.1图形设计输入窗口

根据1.2.5节的文件新建方法,可以选择“File”⇒“New…”命令或者点击工具栏中新建文件图标,在弹出的新文件类型选择窗口“New”中选择“DeviceDesignFiles”页下的结构图/原理图文件(BlockDiagram/SchematicFile),确认后出现可以带有栅格的图形设计输入编辑区和图形编辑快捷工具栏,如图1-3-1所示。默认文件名为“Blockx.bdf”(x为数序),在编辑区上方显示。如果图形编辑工具栏被隐藏,按1.2.4节的方法在如图1-2-12所示窗口的“Block&SymbolEditors”选项前打钩。图1-3-1图形设计文件编辑窗口

1.图形编辑器的环境参数设置

图形设计窗口可以按1.2.1节的方法通过如图1-2-3所示的Options窗口中Block/SymbolEditor选项进行背景和符号颜色(Colors)、文字字体和大小(Fonts)修改,也可切换编辑区栅格显示/隐藏(Showguidelines)、设置栅格间距(GuidelineSpacing)、引脚分配显示/隐藏(Showpinandlocationassignments)等。

2.快捷工具说明

使用图形编辑快捷工具可以方便地输入设计内容,常用快捷键功能如图1-3-1所示。

(1)选择文字输入功能后可直接在编辑区输入文字注释。

(2)选择符号输入功能可打开元件库选择需要的逻辑符号放入编辑区。

(3)选择模块输入功能可在编辑区置放一个逻辑模块,模块内容另行定义。

(4)选择连接导线、总线或导管功能可在不同的逻辑符号或模块间连接信号传输路径。

(5)若橡筋功能被激活,文件中被选择的对象移动,则对象与电路其他部分的连线同时移动,类似橡筋拉伸的效果。

(6)选择断线功能(橡筋功能被禁止),被选择对象与电路其他部分断开独立移动。

(7)选择放大缩小功能后,在编辑区中单击鼠标左键,可以使显示内容放大;单击鼠标右键,可缩小显示内容。单击选择箭头,才能退出放大、缩小操作。

(8)选择编辑对象后点击翻转或旋转功能,可使对象翻转或逆时针旋转90°。

(9)工具条的最后4项是绘图功能,可以画矩形框、椭圆圈、直线和弧线,线段不参与设计处理,只起辅助说明的作用。1.3.2元件输入和电路连线

元件输入和电路连接是图形设计编辑的主要工作。元件符号导入的方法有3种:①在图形输入编辑区的空白位置中双击鼠标左键;②点击工具栏中的图标;③顺序点击主菜单“Edit⇒InsertSymbol…”命令。执行上述任何一种操作,都弹出如图1-3-2所示的“Symbol”对话框。“Symbol”框的左上方“Libraries”是“Altera”的元件库列表,库目录中包含了宏功能模块库(megafunctions)、其他元件库(others)和基本元件库(primitives)。图1-3-2“Symbol”对话框

1.元件符号导入

需要导入的元件名称可以在Symbol框左方的Name栏输入,被搜索元件名称直接出现在元件列表中。如果不了解元件名称,则可以根据元件属性选择相应的子库,用鼠标左键点击库前的加号(+),使库中的元件以列表的方式显示,搜索所需要的元件。若需要使用其他项目中的自建元件符号,可以点击Name栏右侧的浏览按钮,在相应的项目目录下搜索元件符号文件 *.bsf。当键入符号名称或在列表中或在其他项目中选择了导入对象时,被选符号的图标就显示在Symbol框的右方,点击“OK”按钮或在符号列表中双击符号名称,所选元件的符号出现在图形编辑区并粘在光标上,可根据放置方向按快捷键翻转或旋转,拖放到合适的位置后点击鼠标左键,元件即被放置在编辑区中。每个放置在编辑区中的元件都有一个实例名称(如inst1),可以理解为元件在设计文件中的编号。当Symbol框左下方的Insertsymbolasblock选项有效时,others库或megafunctions库中的元件符号在图中以模块形式显示;否则,与primitives库中的元件符号一样,以图形方式显示;两者的区别如图1-3-3所示。图1-3-3选择以块形式插入复选框

2.重复放置或复制相同的元件符号。

当Symbol框左下方重复输入(Repeat-insertmode)项有效时,元件符号放置后,鼠标上会自动出现新的符号,可以反复放置直到按下“Esc”键或点击快捷图标或点击鼠标右键,执行“Cancel”命令,取消重复放置符号操作。

在图形编辑区复制元件符号的另一种方法是:将鼠标放在所选元件符号上,同时按住“Ctrl”键和鼠标左键,使光标右下角出现一个“+”号。拖曳鼠标到合适位置,松开鼠标左键,元件符号就被复制在鼠标所在位置。

3.电路连线

元件符号之间的信号通过单导线或数据总线传递,图形设计文件中的连线有多种方式。

(1)点击图标或或,将鼠标放在需要连线的逻辑符号端口处,当光标呈“十”字形时,按住鼠标左键拖动到连线终点释放鼠标左键即可。

(2)当橡筋功能有效时,把两个需要相连的元件符号端口碰在一起后再拉开,两个端口之间就自动连上了导线。

(3)同大多数EDA工具相同,QuartusⅡ也支持引线或端口命名设置网标的功能,即命名相同的引线和端口在电路中相连。

引线命名的方法是:在需要命名的引线上点击一下鼠标左键,引线两端出现小方块,此时引线处于被选中状态,然后输入网标名称。名称可以是字母、字母组合或字母与数字组合的形式,如A、EN、B1等。若两个需要相连端口为位宽不同的总线,则可采用方括号以升序或降序的形式说明各端口或总线的位宽。比如位宽为n,网标名为A,则命名可以是A[n-1..0]或A[0..n-1]。端口是每个设计文件的对外信号,端口符号是基本元件库(primitives)的pin子库中的bidir、input和output。端口命名的方法是:选中端口符号,双击其默认名称“pin_name”,键入该端口名称。也可双击输入、输出端口符号,弹出端口属性(PinProperties)对话框,在Pinname[s]处输入端口名称。端口也分为单信号或多位宽总线端口,命名规则与引线相同。图1-3-4是一个信号控制电路的图形设计文件。图中有3个元件符号:异或门XOR、输入端口INPUT、输出端口OUTPUT。输入端口以降序命名x[3..0],输出端口以升序命名y[0..2]。异或门的一个输入引线为单线,命名“x3”,另一个输入引线为总线,命名为“x[2..0]”。所以,电路中实际有4个输入端口、3个输出端口、3个异或门。输入信号x3同时控制三个异或门的一个输入,x0、x1、x2分别控制3个异或门的另一个输入。电路功能是:当x3为低电平时,yi=xi,(i=0,1,2);当x3为高电平时,yi=。图1-3-4引线、端口命名举例1.3.3图形编辑器的元件库介绍

元件命名具有以下特点:

(1)当逻辑门或功能元件名称前加“n”时,表示逻辑门反相输出或功能元件低电平输出有效。

(2)当逻辑门或触发器名称前加“b”时,表示逻辑门或触发器的输入反相。

(3)当逻辑门或触发器名称前加“d”时,表示逻辑门或触发器有两个互补的输出。

(4)当逻辑门或触发器名称前加“t”时,表示逻辑门或触发器为三态输出。

(5)当功能模块名称后加“b”时,表示输入、输出信号以总线形式表示。

(6)当74系列信号后加“m”或“o”时,表示符号为芯片上的一个元件。比如,74153m是双四选一数据选择器74153中的一个选择器,74112o是双JK触发器74112中的一个JK触发器。

1.基本元件库(primitives)

基本元件库划分为缓冲器(buffer)、逻辑门(logic)、其他符号(other)、端口(pin)、触发器(storage)5个子库。其中端口(pin)子库中有3种类型的端口:数据可以输入/输出的双向端口(bidir)、数据只能输入的端口(input)和数据只能输出的端口(output)。另外4个库的常用元件及名称见表1-3-2。

2.其他元件库(others)

others库中主要包含了与Altera的可编程器件初级开发平台maxplus2兼容的所有逻辑器件,包括逻辑门、触发器和一些中规模功能元件,还包括了几乎所有74系列的数字逻辑器件,设计者可以根据需要输入型号调出元件。比如,输入“74138”调出3—8线译码器,如图1-3-3所示。表1-3-3列出了部分元件的名称。

3.宏功能函数库megafunctions

宏功能函数库中包含了很多可修改参数的宏功能模块。模块由Altera的技术人员开发,用户可以使用MegaWizardPlug-InManager功能自定义变量将它们实例化,创建符合设计需要的自定义模块符号。

宏功能函数库分为算术组件子库(arithmetic)、逻辑门子库(Gates)、端口子库(IO)和存储器子库(Storage)4个子库。库中的元件属性名前一般冠有库参数模块(LibraryofParameterizedModules)特征字“lpm-”。算术组件子库arithmetic中主要有数据位宽可以设定的加法器(add)、加—减运算器(add-sub)、乘法器(mult)、除法器(divide)、取绝对值(abs)、数据比较器(compare)、累加器(accum)、乘—加运算(mult-add)及其他一些综合算术功能。另外还有计数位数、模值、计数方向(加、减、可逆)、使能控制(无、时钟使能、计数使能)、预置清零方式(无、同步、异步)都可根据需要选择设置的计数器(counter)。逻辑门子库(gates)中主要有信号位宽可以设定的总线选择器(busmux)、三态总线(bustri)、译码器(decode)、逻辑常量(constant)、数据选择器(mux)和逻辑门(除反相器为inv外,其他逻辑门的属性名与表1-3-1相同)。还有位宽(wide)、移位方向(左移、右移、双向移位)、移位范围(distance)可以根据需要选择的移位寄存器。其中移位方式可选择循环移位、逻辑移位(logic)或算术移位(arithmetic)。逻辑移位时串行输入都为“0”,算术移位左移时串行输入为“0”、右移时串行输入与符号位相同,端口子库(IO)中主要有位宽可以设定的输入、输出端口和双向端口。

存储器子库(Storage)中主要有各类字数、位数、控制方式可设定的存储器,如随机存储器(ram),闪存(flash),只读存储器(rom),先入、先出存储器(fifo)。还有位数和控制方式可选择的移位寄存器(shift)、锁存器(latch)、触发器(ff)等。1.3.4元件图形符号的创建

1.利用宏功能模块自定参数创建逻辑符号

例2在例1的项目中利用宏功能模块创建一个只读存储器元件,存储内容为例1所建的数据文件。

解QuartusⅡ的宏功能插入管理器MegaWizardPlug-InManager可以运行一个向导,帮助设计者轻松地为自定义模块设置各项参数,然后生成一个用AHDL、VerilogHDL或VHDL描述的文本输出文件,并在元件库的project子库中产生一个名称与文件名相同的模块。

(1)在例1项目下建立新的图形设计文件。在图形编辑器中按1.3.2节导入元件符号的方法弹出Symbol对话框。在宏功能函数库(megafunctions)中选择合适的函数模块属性名称,在“Symbol”对话框右方区域会出现所选函数模块的通用图标。在“Name”一栏将显示所选函数的名称。本例在storage目录中选择的lp_rom模块,如图1-3-5所示。还有一项是选择是否启动宏功能插入管理器。若“LaunchMegaWizardPlug-In”未选择,点击“OK”后模块粘在鼠标上准备放入图形编辑区;否则弹出如图1-3-6所示的宏功能插入管理器窗口(MegaWizardPlug-InManager),注意到窗口上方的页序指示为2([page2c])。图1-3-5选择宏功能函数符号图1-3-6选择宏功能函数符号在该页中主要有3个选项:选择输出文件(描述模块的文本文件)的硬件描述语言(Whichtypeofoutputfiledoyouwanttocreate?)以及该文件的保存路径和文件名(即自定义模块名)(Whatnamedoyouwantfortheoutputfile?)。描述语言类型可以任选AHDL、VHDL或VerilogHDL,系统默认的文件存放路径是当前项目所在的路径,文件名为宏功能元件名称后加数字序号。点击选项栏右上方的浏览图标“Browes…”可更改输出文件的存放路径和文件名。

点击“Next>”,弹出如图1-3-7所示的模块定义向导第3页进行参数设置。图1-3-7向导页面3:设置ROM的字长、字数还有两种直接启动宏功能插入管理器的方法:

①在弹出如图1-3-5所示的Symbol对话框中点击左下方的“MegaWizardPlug-InManager…”命令。

②直接在图形编辑器中下拉“Tools”菜单,选择“MegaWizardPlug-InManager…”。执行这两种操作之一,弹出图1-3-8所示的管理器首页窗口[page1]。在窗口中选择第一项“Createanewcustommegafuctionvariation”(创建新的用户宏功能模块变量)。图1-3-8MegaWizardPlug-InManager向导首页点击“Next>”按钮,弹出如图1-3-9所示的管理器次页窗口[page2a]。注意到该窗口综合了图1-3-5和图1-3-6的选项:在宏功能模块列表(与图1-3-5中的宏功能库列表相似)中选择模块名,本例在storage目录中选择“LPM_ROM”;任选一种输出文件的硬件描述语言,本例选择“VerilogHDL”;在文件路径和文件名设置框中键入输出文件的存放路径和名称(注意与图1-3-6不同,只有默认路径没有默认名存在),点击名称输入栏右上方的浏览图标“Browes…”,可更改输出文件的存放路径。窗口右上方的使用器件系列选项(Whichdevicefamilywillyoubeusing)默认与项目设置的器件系列相同,一般不需修改。点击“Next>”,也弹出如图1-3-7所示的模块定义向导第3页进行参数设置。图1-3-9MegaWizardPlug-InManager向导页面2

(2)参数设置的页面数与函数模块需要设置的参数个数有关,所以不同属性的模块向导页面数不同。除前两页选择基本模块属性和输出文件的描述语言、存放路径及文件名外,从第3页起都是参数设置向导。1.3.3节的宏功能函数库介绍中已列举了部分模块的参数选项。

LPM_ROM模块的向导共有6页,图1-3-7所示的第3页窗口[page3of6]主要设置存储器的字长和字数。本例ROM存放的是例1的数据文件,有64个12位的数据。所以下拉“Howwideshouldthe‘q’outputbusbe?”滚动栏,选择输出端口位宽为12;下拉“Howmany12-bitwordsofmemory?”滚动栏,选择存储字单元数为64。窗口右上方显示的元件系列应该与项目设置一致。

对于比较简单的设计,其他选项可接受默认值。改变参数后,窗口左方显示的ROM地址位宽和数据端口位宽随之改变。若有问题,点击图中的窗口下方的“Documentation..”项,可显示宏模块设计参考文件。

(3)点击“Next>”,弹出如图1-3-10所示的向导页面4[page4of6],选择ROM的地址输入、数据输出端口的寄存器特性。本例的ROM实现数据表功能,所以地址和数据端口都不需要寄存特性,可取消选项框内的钩,使建立的ROM符号没有时钟控制。但器件系列为cyclone时,必须有一个时钟控制信号。图1-3-10向导页面4:设置ROM端口寄存器特性

(4)点击“Next>”,弹出如图1-3-11所示的向导页面5[page5of6],提示是否要为存储器设置初始数据内容。由于要求设计的是只读存储器ROM,所以选择“Yes,usethisfileforthememorycontentdata”。在文件名(Filename)栏中键入数据文件的存放路径和文件名,文件的类型可以是intel的十六进制格式(扩展名 .hex)或存储器初始数据文件(扩展名 .mif)。本例ROM存储的是例1建立的数据文件,所以可点击“Filename”栏右上方的浏览按钮“Browse…”,查找例1建立的数据文件data.mif。图1-3-11向导页面5:设置ROM存储内容

(5)检查确认ROM的存储数据文件路径后点击“Next>”,弹出如图1-3-12所示的向导末页[page6of6]。图1-3-12MegaWizardPlug-InManager向导对话框末页该页作为模块创建总结Summary,列出了由模块参数设置生成的所有文件。其中打灰色钩的为必要文件,而打红色钩的文件是否产生则视参数设置情况。表1-3-4列出了宏模块设计过程中所有可能产生的文件及其说明。

(6)点击“Finish”按钮完成宏模块设计。若是执行“Tools”

“MegaWizardPlug-InManager…”命令启动宏功能插入管理器的,则退出向导后回到图形编辑状态;否则回到Symbol对话框,框右方出现自建的模块符号。点击“OK”按钮,模块粘在光标上,点击鼠标左键可放置在图形编辑区域。

此时,当前项目的元件库library中出现了一个项目子库Project,创建的模块rom1存放在该子库中。模块rom1可作为库元件被反复置入图形编辑区。若在设计过程中发现宏模块参数需要修改,可在图形编辑区的宏模块上双击鼠标左键,将直接弹出宏功能插入管理器的参数设置首页。

2.根据设计源文件创建元件符号

在QuartusⅡ中,可以将当前打开的图形设计文件或文本设计文件创建为元件符号。具体方法是新建一个设计文件,用图形方式或文本方式描述自建元件的内部逻辑,输入、输出端设置相应属性的端口“pin”,并赋予端口名。保存文件并分析综合通过后,下拉主菜单“File”,点击“Create/Updata”命令,在弹出的选项框中选择“CreateSymbolFilesforCurrentFile”,在弹出的符号创建完成提示框,点击“确定”,即可创建一个代表当前文件逻辑功能的符号文件(扩展名为 .bsf),并在当前项目元件库的子库project中出现以文件名命名的自建元件。图1-3-13展示了将图1-3-4的信号控制电路创建为元件符号的操作。自建元件可以像库元件一样调用,元件符号的输入、输出端口数和名称由设计文件中的pin决定。图1-3-4电路创建的符号如图1-3-14所示,元件名为文件名test,元件符号输入总线位宽为4,以降序排列x[3..0],输出总线位宽为3,以升序排列y[0..2]。图1-3-13根据当前文件创建符号文件图1-3-14当前项目子库中出现自建元件

QuartusⅡ的AHDL设计输入方法支持以真值表的方式描述组合逻辑关系,所以采用AHDL设计输入方法可以比较容易地自建一个组合逻辑元件符号。

例3以一个七段显示译码元件的创建过程说明ADHL设计文件建立和真值表描述形式以及将当前设计文件创建成元件符号的方法。例3

在例1的项目中采用AHDL硬件描述语言设计七段显示译码逻辑并创建元件符号。元件的输入为4位二进制码,输出可控制共阴七段显示器显示十进制数符0~9及“A”、“C”、“P”、“L”、“y”5个字母,当输入码为全“1”时,输出显示码全部无效,被控显示器灭显。

解(1)新建一个AHDL文本文件。

选择“File”⇒“New…”菜单,或者点击工具栏中图标,在弹出的新建文件类型选择窗口New中,选择DeviceDesignFiles页下的“AHDLFile”,出现AHDL文件编辑区以及文本编辑TextEditor的工具条,各工具图标功能说明如图1-3-15所示。

(2) AHDL文件编辑。

AHDL文件必须以英文输入方式编辑,基本描述分为3个部分:实体名、实体对外端口、实体内部的逻辑描述。语句注释可以以两段以上的中划线导出,如图1-3-15所示。

① AHDL文件以关键字“SUBDESIGN”导出设计实体名,本例以“7seg”命名要设计的七段显示译码器。② AHDL文件以“(”、“)”限定设计实体的输入、输出端口。端口名后用“:”导出端口属性关键字:“INPUT”定义输入属性、“OUTPUT”定义输出属性。相同属性的不同端口用分号分隔。多个端口可以以总线形式用同一名称命名,并在端口名称后的方括号内以升序或降序说明端口位宽。如图1-3-15中4位输入信号data以总线形式命名,7个输出信号a、b、c、d、e、f、g以单变量命名。每条端口定义语句用分号“;”结束。图1-3-15七段显示译码逻辑的AHDL真值表描述③实体内部逻辑描述必须以关键字“BEGIN”、“END”限定。描述语句有多种形式,利用快捷方式可以导出不同的模板。本例的七段显示译码逻辑可以很方便地利用真值表模板形式设计。在文件编辑区输入逻辑段限定语句“BEGIN”和“END”。将鼠标定位在两语句之间,点击快捷工具,弹出插入模板对话框(InsertTemplate)。在语言选项框(Showsyntaxof)中选择“AHDL”,在模板形式选项框(Templatesection)中选择真值表描述(TruthTableStatement),下方预览框preview中出现真值表的模板形式,如图1-3-16所示。点击“OK”确认,模板被插入逻辑段限定语句中。逻辑段限定语句也可采用模板“LogicSection”输入。④真值表以关键字“TABLE”、和“ENDTABLE”限定,输入、输出信号用“

”区别,左侧为输入,右侧为输出。在“_node_name”位置键入信号名,增加的输入或输出信号仍然以逗号分隔。若信号以总线方式命名,逻辑值以二进制数组格式b××××表示,“×”为逻辑0或1。每行逻辑语句也以“;”结束。图1-3-16真值表模板插入⑤在“_input_value”位置键入输入变量的逻辑组合,一般用自然二进制数序的规律排列。在“_output_value”位置键入对应不同输入组合的输出逻辑值“0”或“1”。

⑥在当前项目目录下保存文件,并把文件加入当前项目工程中。文件名任意,扩展名为 .tdf。如果对设计较有把握,可以直接创建元件符号,否则可以先对设计文件进行分析综合,然后仿真查看逻辑功能是否正确。⑦在设计文件打开的情况下(编辑窗口上方的文件名呈粗黑体,如图1-3-15所示),按图1-3-13执行“File”

“Create/Updata”

“CreateSymbolFilesforCurrentFile”命令,将当前文件创建成元件图形符号。

⑧在当前项目下打开图形设计文件,执行调入元件符号命令,“Symbol”框的Project目录中出现与AHDL设计实体名相同的元件“7seg”,选择该元件,在“Symbol”框右方出现元件图形符号,主要特征为元件名和输入、输出端口,如图1-3-17所示。图1-3-17七段显示译码元件符号

1.4设计文件综合和仿真

1.4.1分析与综合

分析与综合(Analysis&Synthesis)处理是QuartusⅡ编译平台(Compiler)的第一项操作。首先是检查设计文件编辑是否规范,比如图形设计文件中信号线有无漏接、信号有无双重来源,元件端口属性是否匹配;文本设计文件中有无逻辑语法或结构错误等。然后对当前项目中的顶层设计文件进行逻辑分析,并综合成逻辑方程表达式。

1.启动分析与综合处理

启动QuartusⅡ进行分析与综合处理的方法有以下几种:

(1)直接点击主工具条上的快捷按钮。

(2)执行主菜单命令“Processing”

“Start”

“StartAnalysis&Synthesis”。

(3)执行“Tools”

“CompilerTool”命令,弹出如图1-4-1所示的编译窗口。窗口中列出了编译器的5个处理模块:分析与综合(Analysis&Synthesis)、适配(Fitter)、布局布线(Assembles)、时延分析(TimmingAnalyzer)、网表编写(EDANetlistWriter)。由于只需进行分析综合,可点击图中第一个处理模块Analysis&Synthesis中的第一个按钮启动分析与综合(若点击窗口右下方的“Start”按钮,则顺序进行所有处理,完成全编译流程,耗时较长)。

2.处理过程显示

在分析与综合过程中QuartusⅡ有几个窗口显示处理的时间和进程:

(1)主窗口的右下角有一个旋转的小风车图标,同时显示耗时、进程;

(2)如果状态窗口(Status)打开,显示处理流程进度(Progress%)和耗时(Time);

(3)如果如图1-4-1所示的编译工具窗口打开,在窗口中间的“Idle”位置显示当前处理功能名称“Analysis&Synthesis”,窗口下方显示进度和时间。图1-4-1编译器窗口在处理过程中若发现文件有编辑错误,则弹出如图1-4-2所示的窗口,提示“Analysis&Synthesiswasnotsuccessful(αerrors,βwarnings)”,α和β分别为错误和警告的个数。若信息窗口(Messages)开启,则在下方显示处理信息,其中绿色文字为处理功能、顶层文件等说明,蓝色文字为警告提示,红色文字为错误报告。若信息窗口没有开启,可执行“View”

“UtilityWindows”

“Messages”命令打开。图1-4-2分析与综合中的错误信息

3.编辑错误查找

当分析综合未通过时,可以在信息窗口(Massages)用左键双击红色的错误信息;或选中错误信息,单击右键,从弹出的右键菜单中执行“Locate”⇒“LocateinDesignFile”操作,鼠标将定位于设计文件中的错误所在处。若对错误原因不了解,可将鼠标定位于错误信息点击右键,在弹出的选项框中选择“Help”查看错误信息说明,以便修改错误。

处理结果若没有错误(α=0),分析综合通过,弹出如图1-4-3的窗口,提示“Analysis&Synthesiswassuccessful(0errors,βwarnings)”,并产生报告文件Report。仅有警告提示(Warning)不会影响分析综合通过。图1-4-3分析与综合报告

4.处理报告

分析综合处理完毕后自动弹出编译总结数据,显示处理时间、QuartusⅡ版本、项目名、顶层文件名、目标器件系列和型号、电路或系统消耗的逻辑单元数、端口数和存储单元数。图1-4-3是示例项目test的分析综合处理报告,占用的逻辑元(Totallogicelements)是3个、总的端口数(Totalpins)是7个,电路中没有触发器或存储器,“Totalmemorybits”为0。

要特别注意的是,计算机只能发现编辑错误,不能发现逻辑错误。所以,即使分析综合通过,设计文件仍然可能存在逻辑问题。逻辑问题必须通过功能仿真发现。1.4.2建立仿真波形文件

1.创建新的矢量波形文件*.vwf

按1.2.5节新建文件的方法,在新建文件对话框的“OtherFiles”类型中,选择矢量波形文件(VectorWaveformFile),打开一个空的波形仿真文件窗口,左方为节点列表区,右方为波形显示区,如图1-4-4所示。图1-4-4QuartusⅡ波形文件编辑

2.时轴栅格坐标参数(GridSize)设置

执行主菜单命令“Edit”⇒“GridSize…”,弹出如图1-4-5所示的栅格尺度设置框,在“Period”右侧框内设置栅格周期时间值和单位。一般,根据仿真周期和仿真时间选择栅格时间,QuartusⅡ仿真器默认的栅格时间为10ns。图1-4-5栅格尺度设置

3.仿真结束时间(EndTime)设置

仿真结束时间限定了计算机仿真的运算范围。QuartusⅡ默认的仿真结束时间为1μs。根据仿真需要,可以修改仿真运算的结束时间。执行主菜单命令“Edit”⇒“EndTime…”,弹出结束时间设置框“EndTime”,在“Time”框右侧输入仿真结束时间,时间单位可选为秒s、毫秒(ms,10-3s)、微秒(μs,10-6s)、纳秒(ns,10-9s)和皮秒(ps,10-12s)。点击“OK”按钮完成设置。时轴即以栅格尺度为坐标显示整个仿真范围的时间值。

4.时轴标尺组(TimeBarOrganize)设置

在波形显示区里可以添加能够移动的标尺,以便于察看波形。下拉仿真平台的主菜单“Eidt”,选择“TimeBarOrganizer…”,弹出如图1-4-6所示的时轴标尺组设置对话框。对话框的上部“Timebar”用以参数设置或选择,可设置标尺定位时间(Time),选择标尺注释是以绝对时间来表示还是以与主标尺的相对时间来表示,设置主标尺,添加或删除标尺等。参数设置或选择后,点击“OK”退出对话框。

下部“Existingtimebars”为已有标尺列表,列表中注明了波形显示区域中主标尺的定位时间参考点、其他标尺的绝对时标及其与主标尺的相对时差。图1-4-6时间标尺设置

1)添加新标尺

在“Timebar”下键入时间数值,选择时间单位,并注明是绝对时间(Absolutetime)还是与主标尺的相对时间(Relativetomastertimebar),点击“Add”按钮,在波形显示区出现一条新标尺,并在“Existingtimebars”下的列表区域出现标尺在时间轴的绝对时间以及与主标尺时间参考点的相对时差。

若原来波形显示区域没有标尺存在,第一条标尺设置的时间都是绝对值(即使选择了相对时差),并自动置为主标尺:在标尺列表区域中的相对时间为0,前面冠以红色大写“M”字符。

2)设置主标尺

当多条标尺存在时,可以任意选择一条为主标尺,以其时间值为参考点。在标尺列表区域单击鼠标左键选中某标尺的时间数值,点击“SetatMaster”按钮,该标尺即被设置为主标尺,其绝对时间为时标参考点,相对时间为0,前面冠以红色大写“M”以示区别。其他标尺的相对时间都改变为与新参考点的时间差。

3)删除标尺

在标尺列表区域单击鼠标左键选中某标尺的时间数值,点击“Delete”按钮,该标尺即被删除。若主标尺被删除,绝对时间最小的标尺被自动设置为主标尺。

5.保存新的矢量波形文件

执行“File”⇒“SaveAs…”命令,或直接点击主图标,在文件名框中输入文件名(默认为工程文件名),文件类型为*.vwf,然后点击“保存”按钮将文件存盘。本例的矢量波形文件test.vwf保存在当前项目中(D盘2007目录test子目录下)。1.4.3输入、输出观察点设置

1.节点查找

通过节点查找对话框可以搜索设计文件中所有的输入、输出端口,寄存器和设计实体信号。弹出节点查找窗口(NodeFinder)的方法有几种:在波形编辑窗口左栏“Name”下的空白区域双击鼠标左键或点击右键选择“InsertNodeorBus…”命令;也可下拉主菜单编辑选项“Edit”,选择“InsertNodeorBus…”项,弹出如图1-4-7所示的插入节点或总线对话框(InsertNodeorBus)。在此对话框中点击右方的“NodeFinder…”按钮,出现如图1-4-8所示的节点查找窗口(NodeFinder)。图1-4-7InsertNodeorBus对话框图1-4-8节点列表

2.节点列表

选择搜索条件后点击过滤栏右方的列表按钮“List”,若设计文件已通过分析综合,在节点查找窗左下方的“NodesFound”栏内将出现顶层设计文件中满足搜索条件的所有节点名。示例项目的节点列表如图1-4-8所示。

3.节点选择

点击节点查找窗中部的按钮,所有节点均显示在右边所选节点(SelectedNodes)栏内,节点名前冠顶层文件名。

在左栏中选中某个节点,或同时按下“Shift”键选择多个连续的节点名,或同时按下“Ctrl”键选择多个不连续的节点名,点击按钮,被选节点显示在右边栏内。比如,图1-4-8是在所搜索到的节点中选择了4个独立输入端口x[0]~x[3]。如果需要删除原来选择的节点,可以在右边(SelectedNodes)栏内选中节点名,再点击删除,或者点击,删除右栏所有节点。由于仿真输入信号需要编辑,所以影响仿真结果的输入节点一般必须选择,而输出端口可由仿真工具自动添加。选择节点后点击“OK”,退回图1-4-7所示的对话框,再按“OK”确认,被选节点显示在波形编辑器窗口,输入信号一般默认为低电平,如图1-4-9所示。图1-4-9节点排序

4.节点排序

如果希望重新排列波形显示窗口中信号的上下顺序,可以用鼠标左键点击窗口中节点列表“Name”下要移动的信号名,被选择信号呈淡蓝色,然后按住鼠标左键拖动该信号名,使信号以蓝线形式在节点列表区移动,移到目标位置后释放鼠标左键,信号位置即被改变。图1-4-9是要将x[0]移到x[2]下方的情况。

5.节点编组

当观察多个关联信号时,可以将信号编组,以便使多个二值信号的状态综合成比较直观的码值关系。信号编组的方法是:

(1)当需编组的信号在窗口中连续排列时,可按住鼠标左键拖动选择信号;当需编组的信号在窗口中分散排列时,可按住“Ctrl”键并点击鼠标左键逐个选择各信号,被选择信号呈淡蓝色。

(2)执行主菜单“Edit”

“Group”命令;或在信号列表中点击鼠标右键,在弹出的菜单中选择编组命令“Group”,弹出如图1-4-10所示的信号组属性选项框。在“Groupname”栏填入任取的组名(比如xx),在“Radix”栏选择码值显示类型,可选择Binary(二进制)、Octal(八进制)、Hexadecimal(十六进制)、SignedDesimal(有符号十进制)或UnsignedDesimal(无符号十进制)。图1-4-10信号编组设置

(3)点击“OK”按钮确认,波形窗口的被选信号归成一个组信号,如图1-4-11所示。用鼠标左键点击组信号名前的“+”框,框中的符号变为“-”号,组中的各位信号波形同时分别显示。图1-4-11信号组波形

(4)信号编组时,若被选信号有位序关系,比如x[0],x[1],…等,码组中各信号按原来的位序排列;若被选信号原来是分别独立的信号,信号编码位序按波形窗口从上到下的顺序排列。比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论