1、Quartus 常用辅助工具I/O分配验证功能:使用 Start Start I/O Assignment Analysis 命令(Processing 菜单),验证引脚分配 位置、I/O 库和 I/O 标准约束。可以在设计过程的任何阶段使用此命令来验证约束的准确性,实现更快地建立最终引出脚。无需设计文件便可使用此命令,并且可以在设计编译完成之前验证引出脚。分类1 没有设计文件 不完备的检查,主要检查管脚的合法性,例如:电平类型及管脚驱动电流2 有设计文件 对设计的I/O管脚和相关逻辑执行更加侧地的合法性检查。I/O分配检查的规则管脚分配的方法-Import Assignments步骤1:使用
2、记事本或类似软件新建一个txt文件(或csv文件),按如下格式编写管脚分配内容,注意:To和Location两个关键字中间有一个半角逗号。to,location/fpga clockclk,pin_153led15,pin_206led14,pin_202led13,pin_200led12,pin_196led11,pin_194reset_n,pin_44步骤2:在QII软件中,选择“Assignments Import Assignments”。如图所示,导入xxx.txt文件即可。步骤3:在QII软件中,选择“Assignments Pin”标签(或者点击按钮),打开Pin Plann
3、er,验证管脚是否分配正确。管脚分配的方法-source xxx.tcl步骤1:在QII软件中,使用“Assignments Remove Assignments”标签,移除管脚分配内容,以确保此次操作,分配的管脚没有因为覆盖而出现错误的情况。注:在未执行任何管脚分配操作新工程中,可跳过步骤1。步骤2:使用记事本或类似软件新建一个tcl文件,按如下格式编写管脚分配内容注意关键字set_location_assignment和-to的用法。步骤3:执行pin.tcl方法1:在QII软件中,使用“View Utility Windows Tcl Console”标签,打开Quartus II Tc
4、l Console。执行语句:source xxx.tcl方法2:在QII软件中,使用“Tools Tcl Scripts”标签,打开Tcl Scripts。选择pin.tcl,选择“Run”标签,执行Tcl文件。步骤4:同方法1的步骤3。1 无设计文件的I/O分配验证流程1 创建一个工程2 使用assignment editor 分配管脚,设定与I/O相关的特性,如I/O标准,当前的电流强度、摆率,将端口声明为reserved属性3 选择processing/start/start i/o assignmentAnalysis 命令,执行I/O分配验证4 查看编译报告:产生一个I/O管脚列表
5、,列出用户和布局布线器分配的I/O管脚,同时在floorplan view中显示部分布局结果。有设计文件的I/O分配验证流程1 创建一个工程,包含设计文件2使用assignment editor给端口信号分配管脚3 运行分析综合命令产生一个内部的映射网表4 运行processing/start/start I/O assignmentAnalysis 命令,执行I/O分配验证5 查看报告,报告内容分布在编译报告的fitter阶段内容:分析I/O分配总体信息(analyze I/O assignment summery)平面布局视图(floorplan view)管脚输出文件(pin-out f
6、ile)资源使用部分(resource section)布局布线信息(fitter message)快速定位错误:选中出错信息,单击右键,选择locate,若选择message location 则弹出错误出错文件。若选择assignment editor 则弹出分配编译器窗口PowerPlay功率分析工具 PowerPlay功率分析工具使你能够在早期设计概念产生到设计实施阶段过程中对功耗进行估算。设计PCB时,就可以选择合适的供电电源、散热片和通风系统。Powerplay early power estimator可以使用altera公司提供的excel表单工具来计算早期功耗,该表单工具可以
7、从altera公司的网站上下载。器件中各种资源的使用情况需要用户去估计;另外如果设计已完成,则由quartus软件产生的功率估算文件就能作为基于excel功率计算器的参数输入。步骤如下:1 对设计全编译2 执行projectgenerate early power estimator产生功耗估算文件,名称为projectname_early_pwr.txt3 将文件导入excel功率计算器中 Excel based功率计算器提供在典型条件下(如室内温度、额定电压等)电流和功率值。它分为几个部分,每个部分代表器件的一个结构特性,如时钟网络、RAM块或DSP块。为了得到准确的功耗值,必须输入一些参
8、数,如寄存器数目、转换速率、时钟和频率、I/O和存储器、温度、气流和散热等。Powerplay power analyzer1 对设计进行全编译2 仿真设置选项assignmentsettingssimulatorSettingssimulator power3 设置功耗分析选项 assignmentsettingspower analyzer settings设置功耗分析参数4 建立波形矢量文件5 时序仿真结束后,运行processingpowerPlay power analyzerTool命令6 查看报告结果RTL ViewerRTL阅读器观察到的电路结构是综合和布局布线之前的结果。由于
9、还没有进行设计转换,所以,它不是 设计的最终实现,不过他是源代码设计的最原始的展现。在执行analysis and elabration之后就可以观察RTL结构打开方法:Tools-Netlist-RTL Viewer 列表项含义:Instances,即实例,是指设计中能扩展为低层次的模块或实例。Primitives,即原语,是指不能被扩展为低层次的底层节点。用Quartus II自带综合器综合时,它包含的是寄存器和逻辑门;而用第三方综合工具综合时,它包含的是逻辑单元。Pin,即引脚,是当前层次的I/O端口。Nets,即网线,是连接节点(包括实例、源语和引脚)的网线。过滤原理图:选中任意一节点
10、,右键-Filter,选项如下:Sources,即源,指过滤出所选节点或端口的源端逻辑;Destinations,即目标,目标端口;Sources&Destinations,即源和目标,源和目标的集合。Selected Nodes&Nets,所选结点和网线,过滤出已经选择的节点和网线。Between Selected Nodes所选节点之间,两个节点之间的逻辑。注意:在过滤后可以单击工程区左侧工具栏 按钮,回到过滤前的原理图,或者单击左侧列表项,查看其他层次的原理图。打开不同层次的模板:双击所选模块可以进入下一层次(或空白处右键-Hierarchy Down),单击工程区左侧工具栏 按钮回到上
11、一层次(或空白处右键-Hierarchy Up)。定位到其他工具:右键-Locate,在子菜单中的分别有定位与各种工具的选项,选中后当前所选项就会定位到所选工具中。查找节点或网线:空白处右键-Find(快捷键:ctrl+F),查找对话框中的具体选项不做详述SignalTap和 SignalProbeQuartus II SignalTapAnalyzer和 SignalProbe的功能在于当系统以系统速度进行操作时,能够在系统地分析内部器件节点和 I/O 引脚。SignalTap II 逻辑分析仪使用嵌入式逻辑分析器将信号数据通过 JTAG 端口送往 SignalTap II 逻辑分析仪或者外
12、部逻辑分析仪或示波器。SignalProbe 功能使用未用器件布线资源上的增量布线,将选定信号送往外部逻辑分析仪或示波器SignalProbe SignalProbe 功能允许在不影响设计中现有布局布线配合的情况下将用户特定的信号连接到输出引脚,从而无需另做一次全编译,就可以调试信号。从一个已经完全布线过的设计开始,可以选择和布线要调试的信号,通过以前保留或当前未使用的 I/O 引脚进行调试。SignalProbe 功能允许指定设计中要调试的信号,然后执行一次 SignalProbe编译,使那些信号与未使用或保留的输出引脚相连,再发送信号至外部逻辑分析仪。在分配引脚、查找可用 SignalPr
13、obe 源时,可以使用 Node Finder。SignalProbe 编译通常大约花费正常编译所需时间的 20 到 30%。使用步骤1.进行设计的全编译。2.选择要调试的信号以及信号要通过的 I/O 引脚,然后打开 tools/signal pobe pins对话框3.执行 SignalProbe 编译。SignalProbe 编译是在不影响设计的布局布线的情况下编译设计,并且对 SignalProbe 信号的布局布线比正常的编译速度快。4.给器件配置新编程数据,测试信号。Assign pins 对话框SignalTap II 逻辑分析仪 SignalTap II 逻辑分析仪是第二代系统级调
14、试工具,可以捕获和显示实时信号行为,允许观察系统设计中硬件和软件之间的交互作用。Quartus II 软件允许选择要捕获的信号、开始捕获信号的时间以及要捕获多少数据样。还可以选择是将数据从器件的存储器块通过 JTAG 端口传送至 SignalTap II 逻辑分析器,或是至 I/O 引脚以供外部逻辑分析仪或示波器使用。可以使用 MasterBlaster、ByteBlasterMV、ByteBlaster II 或USB-Blaster 通信电缆下载配置数据到器件上。这些电缆还用于将捕获的信号数据从器件的 RAM 资源上载至 Quartus II 软件。然后,Quartus II 软件将 Si
15、gnalTap II 逻辑分析仪采集的数据以波形显示。SignalTap 允许对设计中所有层次的模块节点进行测试,可以使用多时钟驱动。嵌入SignalTap逻辑分析仪两种方法:1 SignalTap 文件(.stp),然后定义STP文件的详细内容;2 MegaWizard Plug-In Manager建立并配置STP文件,然后用MegaWizard实例化一个HDL输出模块使用STP 文件第1 步:建立.STP 文件 Assign sample clock Specify sample depth Assign signals to STP file Specify triggering co
16、nditions and flow Setup JTAG第2 步:保存.STP 文件并编译设计第3 步:器件编程第4 步:运行逻辑分析并采集数据第1步:建立一个新的.STP 文件 STP 文件主窗口单元Instance 管理器选择当前ELA 或Power-Up trigger 进行设置和查看显示每个instance 当前状态 显示ELA 资源占用情况 运行并控制当前instances信号配置Manages data capture&signal configuration Sample clock Sample depth Buffer type Trigger flow Trigger po
17、sition Trigger-in&trigger-out Some settings similar to settings on external logic analyzers or oscilloscopes设置采样时钟设置采样时钟:它决定了现实信号波形的分辨率。它的频率一般要大于被测信号的最高频率,否则无法正确反映被测信号波形的变化,在时钟的上升沿被测信号存储到缓存。一般选择系统时钟。设置被测信号设置被测信号:运行node finder中的signal tap 过滤器查找所有预综合和布局布线后的signal tap节点。添加要观察的信号。不可测试的信号包括:逻辑单元的进位信号、pll
18、的时钟输出,jtag引脚的lvds信号。配置采样深度配置采样深度:确定RAM的大小:每个输入信号存储的样点数量。signalTap II所能显示的被测信号波形的时间长度为死,计算公式为Tx=NTs(为缓存中存储的采样点数,乃为采样时钟的周期)buffer acquisition mode:包括循环采样存储、连续存储两种模式。循环采样存储也就是分段存储,将整个缓存分成多个片段(segment),每当触发条件满足时就捕获一段数据。该功能可以去掉无关的数据,使采样缓存的使用更加灵活。触发级别:触发级别:SignalTap 11支持多触发级的触发方式,最多可支持10级触发。触发条件触发条件:可以设定复
19、杂的触发条件用来捕获相应的数据,以协助调试设计。当触发条件满足时,在SignalTap时钟的上升沿采样被测信号。指定采样时钟 Use global,fastest clock available for best results Data written to memory on every sample clock rising edge Clock signal cannot be monitored as data External clock pin created automatically if clock unassigned auto_stp_external_clock EL
20、A expects external signal to be connected to clock pin(use Pin Planner)设置Sample Depth&RAM Type Sample depth Set number of samples stored for each data signal 0 to 128K sample depth Select RAM type for supported FPGAs Useful when preserving specific memory type is necessary Defaults to Autoon unsuppo
21、rted device familie指定Buffer Type 环形缓存(Circular)默认类型 分段式(Segmented)关闭 分段式缓存(Segmented)Specify number of segments and segment sample depth环形缓存(Circular Buffer)Data is circled(more like FIFO)through acquisition buffer until trigger event occurs After trigger event occurs,post-trigger data is collected
22、until buffer fills up环形缓存实例分段式缓存(Segmented Buffer)采样数据缓存均分为大小相同的缓存数据段 Example:4K buffer is segmented into 4-1K segments 每个小缓存数据段类似一个独立的环形缓存 触发位置设置应用于每个单独缓存数据段 When trigger event occurs,post-trigger data is collected until single segmentfills up Process repeats with final trigger condition only until
23、 all segments are filled Use for repeating trigger events分段式缓存实例设置触发位置(Trigger Position)在数据缓存中定位触发位置 3种触发位置选择 Pre(12%before trigger,88%after)Center(50%before,50%after)Post(88%before,12%after设定触发(Triggering)触发条件(Trigger conditions)每个SignalTap instance 可设定多达10 级触发条件 在节点列表中作为单独的列显示 可以手动禁止不需要的触发级触发输入(Tr
24、igger in)任何信号都可以作为触发信号,例如另外一个SignalTap实例的 Trigger out 与触发“0”级类似,在输入触发后,其它触发级必须发生,以完成触发输出触发(Trigger out)触发事件发生时,设置信号或者I/O 引脚为高电平或者低电平 可用于触发另一个SignalTap实例,或者同步外部设备 Creates auto_stp_trigger_out_npin default for assignment in Pin Planner Latency delay usually indicates number of clock cycles after ac tu
25、al trigger event触发流程控制(Trigger Flow Control)两种方法可选 Sequential触发(默认)通过增加触发级别实现的简单时序触发功能 Trigger in(condition“0”)followed by conditions 1,2,3,etc.在Sequential 触发方式下,只能触发依次发生的事件,如果需要触发循环事件或者部分循环事件就需要设置多级重复的触发级别 在检测简单时序关系的情况下,Sequential 触发方式更简单灵活一些State-based 触发 可以实现复杂而且精确的时序触发功能 可以通过添加可动态配置的计数器实现“触发后延时采
26、样”的功能 在State-based触发方式下,由于有了可命名的State,就可以通过goto 语句实现触发事件的循环,可以省去重复的触发级别,减少逻辑资源的占用 在检测复杂时序关系时,还是State-based触发方式更高效基本触发(Basic Triggering)高级触发条件编辑器(Advanced Trigger)采用图形工具编辑高级触发(Boolean条件)第2步:保存.STP 文件并编译设计在Settings中使能SignalTap II Logic Analyzer Assignments菜单 Settings 指定SignalTap II 文件第3步:编程器件使用Quartus
27、 II Programmer 或SignalTap II 文件 在SignalTap II 文件界面中配置指定器件 使用Quartus II Programmer 配置器件第4步:运行逻辑分析并采集数据上电触发运行正常工作触发运行查看采集到的数据在Signal tap文件窗口中,切换到data窗口显示采集数据格式以标准总线格式显示采集数据,或以bar 或line chart形式显示 Export to other tools for viewing or analysis(File menu)Creates.VWF,.TBL,.CSV,.VCD,.JPG or.BMP file运行步骤1.运行
28、运行analysis&elaboration2 建立新的 SignalTap II 文件。执行菜单命令tool SignalTap II logic Analyzer3.向 SignalTap II 文件添加实例,并向每个实例添加节点。可以使用Node Finder 中的 SignalTap II 滤波器查找所有预综合和布局布线后的SignalTap II 节点。4.给每个实例分配一个时钟。5.设置其它选项,例如采样深度和触发级别,并将信号分配给数据/触发输入和调试端口。6.如果必要,可指定 Advanced Trigger 条件7.编译设计8.对器件进行编程。9.在 Quartus II 软
29、件中或使用外部逻辑分析仪或示波器采集和分析信号数据。时序收敛平面布局规划器一 界面项目布局布线完成后,执行assignment/timing closure floorplan命令,打开底层布局布线图 二 观察资源分配可以使用时序收敛平面布局规划器查看 Fitter 生成的逻辑布局,查看用户分配和LogicLock 区域分配以及设计的布线信息。可以使用此信息在设计中标识关键路径,并执行时序分配、位置分配和 LogicLock 区域分配,实现时序逼近。查看用户的分配视图,选择view/assignment/show user assignments命令或按相应的工具按钮查看布局布线分配结果,选择
30、view/assignment/show fitter placements三logiclock 区域连接选择view/routing/show logiclock regions connectivity命令或按相应的工具按钮观察具体的数目,选择view/routing/show connections count命令观察 logiclock区域的扇入和扇出,只需按下对应的按钮。四 观察关健路径执行菜单命令view/routing/crital path settings关键路径:显示设计中的关键路径,包括路径边缘和布线延时。默认关键路径视图显示寄存器至寄存器路径。还可以查看源节点和目标节点
31、之间最坏情况路径的所有组合节点。可以使用延时或停滞指标来指定是否要查看关键路径,并可以指时序钟域、源节点名称和目标节点名称以及要显示的关键路径数。选择一个区域,右键show details命令,选择一个单元,之后执行菜单命令routing/show routing details五 物理延迟估计选择一个lab,选择view/routing/show physical timeing estimation.显示了到达器件上任何其它物理资源的近似延时。如果选择了一个节点或实体,则用潜在目标资源的阴影表示延时(资源的阴影越深,延时越长),可以将鼠标放置在可能目标节点之上来显示到达目标节点的延时。六
32、布线拥塞选择 view/routing/show routings congestion命令,观察布线资源的使用情况。显示用图形表示的设计中的布线拥塞。阴影越深,布线资源利用率越大。可以选择布线资源,然后指定该资源的拥塞阈值(在器件中以红色区域显示)。工程更改管理Quartus II Software 允许在全编译后对设计做小的更改,可参考工程更改纪录(ECO)。可直接对设计数据库进行这些 ECO 更改,而非更改源代码或Quartus II 设置和配置文件(Quartus II Settings and Configuration File)(.qsf)。对设计数据库做 ECO 更改可避免为了
33、实施一个更改而运行全编译工程更改管理的设计流程Quartus II 软件中工程更改管理的设计步骤1.全编译之后,使用芯片编辑器查看设计布局布线详细信息,并确定要更改的资源。如果需要的话,可以使用 Netlist Explorer 过滤和高亮显示资源。2.2.使用资源属性编辑器(Resource Property Editor)来编辑资源的内部属性、编辑或删除连接。3.3.使用 Check Resource Properties Check Resource Properties 命令(Edit 菜单)检查资源更改的合法性。4.4.在更改管理器中查看更改的摘要和状态,并控制要实现和/或保存对资源
34、属性的哪些更改。还可以添加备注,帮助您引用每个更改。5.5.使用检查和保存所有网表更改(Check and Save All(Check and Save All NetlistChanges)NetlistChanges)命令(Edit 菜单)检查网表中所有其它资源更改的合法性。6.6.运行 Assembler,生成新的编程文件,或再次运行 EDA Netlist Write,生成新网表。如果要验证时序更改,可以运行 Timing Analyzer。使用芯片编辑器识别延时与关键路径可以使用芯片编辑器查看布局布线的详细信息。芯片编辑器可以显示Quartus II 布局图编辑器中不显示的设计布局
35、布线的其它详细信息。它显示完整的布线信息,显示每个器件资源之间的所有可能和使用的布线路径。芯片编辑器显示器件的所有资源,例如,互连和布线线路、逻辑阵列块(LAB)、RAM 块、DSP块、I/O、行、列以及块与互连线以及其它布线线路之间的接口。使用Resource Property Editor 修改资源属性 资源属性编辑器用于对逻辑单元、I/O 单元或 PLL 资源的属性和参数执行编译后编辑,以及编辑或删除个别节点的连接。可以使用工具栏按钮在资源中前后移动。还可以同时选择和更改多个资源。可以跟踪资源的扇入和扇出,并可以在资源属性编辑器中查看资源。资源属性编辑器包括显示正在修改的资源示意图的阅读
36、器,列出了所有输入和输出端口及其连接信号的端口连接列表,显示资源可用的属性和参数的属性列表。如果看不见端口连接或属性列表,可使用 View Port Connections命令和 View Properties 命令(View菜单)将其显示出来LE结构图使用Change Manager 查看和管理更改更改管理器窗口列出所做的所有 ECO 更改。它允许在列表中选择每个 ECO更改,并指定是否要应用或删除更改。它还允许添加注,以便参考。可通过选取 Utility Windows Change Manager(View 菜单)打开 ChangeManager。更改管理器的日志视图显示每个 ECO 更
37、改的以下信息:更改编号 节点名称 更改类型 旧值 目标值 当前值 磁盘值 备注,注明您已经添加的有关 ECO 更改。状态,可以为以下指示符之一:待定:您已经在资源属性编辑器中做了更改,但是该更改未保存 提交:您已经在资源属性编辑器中做了更改,并保存了该更改,使用Check and Save All Netlist Changes 命令(Edit 菜单)可选中该更改。该更改在 Assembler、Timing Analyzer、EDA NetlistWriter 和 Simulator 中使用。Current Value与Target Value和Disk Value相等。已应用:您已经在资源属
38、性编辑器中做了更改,并保存了该更改,但是不可使用 Check and Save All Netlist Changes 命令(Edit 菜单)选中该更改。该更改在 Assembler、Timing Analyzer、EDANetlist Writer 和 Simulator 中不可用。Current Value等于TargetValue,但是不等于Disk Value,并且Disk Value没有必要等于Old Value。未应用:The Current Value等于 Old Value,并且Disk Value没有必要等于Old Value。无效:目标节点可能不存在于网表中。Current
39、 Value 不等于 OldValue 或 Target Value,并且 Disk Value 没有必要等于OldValue。提交所需更改之后,应选择 Check and Save All Netlist Changes(Edit 菜单)以检查网表中所有其它资源更改的合法性。验证 ECO 更改的效果做过 ECO 更改后,应当运行 Compiler 的 Assembler 模块以建立新的 POF。也可再次运行 EDA Netlist Writer 来生成新的网表,或再次运行 TimingAnalyzer 或 Simulator 来验证适当的时序改进中的更改结果。可以使用Compiler Tool 窗口,或在命令行或脚本中使用 quartus_asm 或quartus_eda 以及 quartus_tan 可执行文件,单独运行每个模块。但是,执行全编译将更改 ECO 更改的值。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100