《2022年正弦发生器模块方案.docx》由会员分享,可在线阅读,更多相关《2022年正弦发生器模块方案.docx(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用SinCtrlAlteraDSPBuilderProductSignalTapII通过本例的学习可以把握DSP Builder 的使用方法;这个简洁的正弦波发生器,主要由4部分构成: IncCount 是阶梯信号发生模块,产生一个按时钟线性递增的地址信号,送往SinLUT;SinLUT 是一个正弦函数值的查找表模块,由递增的地址获得正弦波的离散值输出;由 SinLUT 输出的 8 位正弦波数据经过一个延时模块Delay 后,送往 Product 乘法模块,与SinCtrl 相乘, SinCtrl 是一位输入, SinC
2、trl 通过 Product 完成对正弦波输出有无的掌握;SinOut 是整个正弦波发生器模块的输出,送往D/A 即可获得正弦波模拟输出信号;5.2.1 建立设计模型1 )运行 Matlab ,Matlab 的主窗口被分成 3 部分: Command Window、Workspace/Current Directory、Command History;2 )建立工作目录;在建立一个新的设计模型前,先要建立一个文件夹,作为工作目录,来储存相应的设计文件,在进行设计之前要先切换到该文件夹下;新建和切换到工作目录可以在命令窗口中使用 Matlab 命令,也可以在 Current Directory窗
3、口中实现; 3 )启动 Simulink ,建立模型;在命令窗口中,键入 Simulink ,按回车键,启动 Matlab 图形化仿真工具 Simulink ,显现了 Simulink Library Browser 窗口,在窗口的左侧为 Simulink Library 列表,右侧窗口显示的就是,被选中的库中的组件、子模块列表;安装完DSP Builder 之后,在 Simulink 库列表中可以看到 Altera DSP Builder 的库显现在列表中;在下面设计中,主要使用该库中的组件、模块来完成各项设计,再使用 Simulink 库来完成模型的仿真和验证;挑选 File 菜单,然后单
4、击new ,在弹出的子菜单中挑选 Model ,显现了一个未命名的模型窗口;4 )放置SignalCompiler ;单击 Simulink 库列表中的Altera DSP ,单击 Altlab 项,使之绽开;选中名师归纳总结 右侧窗口中的SignalCompiler组件,按住鼠标左键拖放到新模型窗口中;也可以单击右键,第 1 页,共 24 页挑选 Add to untitled,这里 untitled 是指我们新建的未命名的模型文件;在选中SignalCompiler模块后,在Simulink 窗口中的提示栏里会显示对应模块的说明,简洁的功能介绍;可以看到SignalCompiler的介绍为
5、 “ Converts Model Files to VHDL files.即为进行模型文件mdl 到 VHDL 文件的转换,所以SignalCompiler是进行任何DSP 系统设计必需要添加的模块;选中SignalCompiler选中 Help for the SignalCompiler block;可以明白怎样使用 SignalCompiler的具体信息;也可以依据此方法获得其它的模块相应的帮忙信息;- - - - - - -精选学习资料 - - - - - - - - - 5 )添加 Increment Decrement个人资料整理仅限学习使用模块; Increment Decre
6、ment模块是 DSP Builder 库中Arithmetic 子库中的模块;选中 Altera DSP Builder 中的 Arithmetic 子库,然后在其中挑选Increment Decrement 模块;然后依据添加 SignalCompiler 的方法将 Increment Decrement 添加到模型文件中;7 )添加正弦查找表;在Altera DSP Builder库的 Gate &Control子库中找到查找表模块LUT,把 LUT 拖放到新建模型窗口,将 LUT 模块的名字修改为“SinLUT ”;双击 SInLUT 模块,打开模块参数设置对话框“ Block Par
7、ameters: SinLUT” ;把输出位宽设为 8;查找表地址设为 6;总线数据类型 Bus Type 挑选为有符号整数 Signed Integer;在 Matlab Array编辑框中输入运算查找表内容的运算式;在这里使用 sin 其中 pi 就是常数,这是 Matlab 中的语法;上式的数值变化范畴是 -127 +127 ,恰好是 8 位二进制数可以表示的最大值,所以 8 位的输出值位宽可以表示上式所描述的正弦波形;假如将 Unsigned Integer ,且输出位宽改为SinLUT 模块的总线数据类型设置为无符号整数 10,如想得到完成满度的波形输出,应将表达式改为:511*si
8、n0:2*pi/26:2*pi+512 选中 ”Use LPM ”LPM: Library of Parameterized Modules 参数化模块),假如选中”Use LPM ”的话, Quartus II 将利用目标器件中的嵌入式RAM 来构成 SinLUT,即将生成的正弦波数据放在嵌入式RAM 构成的 ROM 中,这样可以节约大量的规律资源,否就 SinLUT 只能用芯片中的 LCs 来构成;选中 ” Register Address” ,选中此选项会生成输入地址总线,假如目标器件是 Straitix 或者 Cyclone ,并且选中了 LPM选项,用户必需选中” Register
9、Address 选项; 8 )添加 Delay 模块;在 Altera DSP Builder 库中,选中 Storage 子库下的 Delay 模块,拖放到新建模型窗口;Delay 模块可以实现延时的功能,在这里可以使用其默认参数设置;名师归纳总结 - - - - - - -第 3 页,共 24 页精选学习资料 - - - - - - - - - 在 Delay 模块的参数设置的对话框中,参数个人资料整理仅限学习使用DepthDepth 是描述信号延时深度的参数;当为 1,模块传输函数为 1/Z ,通过 Delay 模块的信号被延时一个时钟周期;当 Depth 为整数 n 时,其传输函数为
10、1Zn,通过 Delay 模块的信号将被延时 n 个时钟周期; Delay 模块在硬件上采纳寄存器来实现,所以 Delay 模块被放在 Storage 子库中; Clock Phase Selection 参数主要是掌握采样的;当设置为1 表示 Delay 模块总处于使能状态,所用的数据都通过 Delay 模块;假如设置为 10 就每隔一个脉冲处于使能状态,那么每隔一个的数据才能通过 Delay 模块;如设置为0100 ,表示 Delay 模块在每 4 个时钟中其次个时钟是处于名师归纳总结 使能,那么每4 个数据只有其次个数据可以通过;9 )添加断口SinCtrl ;在 Altera DSP
11、第 4 页,共 24 页Builder 库中挑选 IO & BUS 子库,找到AltBus 模块,拖放到新建模型窗口中;修改AltBus模块的名字为SinCtrl ;SinCtrl 是一个 1 位输入端口;双击SinCtrl 模块,打开模块参数设置对话窗口;设置SInCtrl 的 Bus Type 为” Single Bit,Node Type 参数为 ” Input Port;- - - - - - -精选学习资料 - - - - - - - - - 10 )添加 Product 乘法)模块;在个人资料整理仅限学习使用子库,找到Altera DSP Builder库中挑选 Arithmeti
12、cProduct 模块;将之拖放到新建模型窗口中去,这里Product 有两个输入一个是经过Delay 的 SinLUT 输出,另一个是一位端口 SinCtrl ,Product 实现了 SinCtrl 对 SinLUT 查找表输出的掌握;双击Product 模块,打开 Product 模块参数设置对话框;其中 Pipeline 添加输出端口Out;在 Altera DSP Builder库中,挑选IO & BUS 子库,找到AltBus 模块,拖放到信件模型窗口中,修改AltBus 模块的名字为Out ;- - - - - - -精选学习资料 - - - - - - - - - Out 是一
13、个 8 位输出端口,接到个人资料整理仅限学习使用FPGA的输出引脚,与片外的8 位 D/A 转换器相接, D/A转换模块将数字信号转化成模拟信号;双击 Out 模块,打开参数设置对话框,设置 Out 的Bus Type 为”Signed Integer”, Node Type 参数为 ”Output Port,然后单击 Apply ,然后修改” Number of bits”为 8; Saturate 选项假如被选中,就当输出大于要表达的值的最大正值或负值,就输出被强制为最大的正值或负值;如此选项未被选中,就最高位 MSB 被截断;此选项对输入端口和常数节点类型是无效的;12 )储存设计文件;
14、放置完 Out 模块,把新建模型中的 DSP Builder 模块连接起来,这样就完成了一个正弦波发生器的 DSP Builder模型设计;在进行仿真验证和 SignalCompiler 编译之前,先把设计储存起来;单击 File 菜单,挑选 Save 操作,取名并储存;本例中,新建模型取名Sinout ,生成模型文件Sinout.mdl ;模型储存之后,先要对模型进行仿真验证,如通过验证,就使用SignalCompiler进行编译将mdl 文件转换为VHDL 文件; 5.2.2 Simulink模型仿真Matlab 的 Simulink 环境具有强大的图形化仿真验证的功能;用DSP Buil
15、der 模块设计好的模型,可以在 simulink 中进行算法级、系统级仿真验证;对一个模型进行仿真需要施加合适的鼓励,在特定的观看点添加必需的观看模块;1. 加入 Step 模块本例中,先加入一个step 阶跃模块),来实现模拟 SinCtrl 的按键使能操作;在 simulink 的 simulink 基本库中,挑选 Source 子库,把其中的 Step 模块拖放到 Sinout 模型窗口中去,并将其与 SinCtrl 的输入端口相连;留意:凡是来自 Altera DSP Builder 库以外的模块,SignalCompiler 都不能将其转换成硬件描述语言的模块;2. 添加波形观看模
16、块在 Simulink 中挑选 Simulink 库,绽开Simulink 库,选中其中的 Sinks 子库,把 Scope 示波器)模块拖放到 SinOut 模型窗口中去;双击该模块,打开的是一个 Scope 窗口;如图 5-11 所示,图中只有一个信号的波形观看窗口,如期望可以多观看记录信号,可以通过添加多个Scope 模块的方法来实现,也可以通过修改Scope 的参数来实现Scope 模块中的观看窗口数;3. Scope 模块参数设置用鼠标单击 Scope 模块窗口上侧工具栏的其次个按钮:以进行参数设置;Parameters ,弹出参数设置对话框,名师归纳总结 在 Scope 参数设置对
17、话框中有两个设置页:General 和 Data History ;在 General 页中,改第 6 页,共 24 页变 Number of axes 为 2;在单击OK 按钮后,可以看到Scope 窗口显现了两个波形观看窗;- - - - - - -精选学习资料 - - - - - - - - - 每个观看窗可以独立地观看信号波形;同时个人资料整理仅限学习使用SinCtrl 的信Scope 模块也多了一个输入端,将号接到这一新增的输入端,作为参考信号;4. 设置仿真鼓励先设置模型的仿真鼓励;在SinOut 模型中,只有一个输入端口 SinCtrl ,需要设置与之相连的 Step 模块;双击
18、 Step 模块,在弹出的 Step 模块参数设置对话框中设置对其输入端口 SinCtrl 施加的鼓励;各参数值的含义如下:阶跃时刻Step time ): Step 模块的输出在该时刻发生阶跃,默认值为 1,单位为秒;初始值 Initial value):在阶跃时刻的之前的 Step 模块的输出值,默认值为 0;终值 Final value ):在阶跃时刻之后 Step 模块的输出值,默认值为 1;采样时刻Sample time): Step 模块输出的采样频率;设置 Step time 为 30,就在 30 秒时该模块会发生输出值的阶跃;初始值设为0,那么在 30 秒时刻之前,不输出正弦波
19、;终值设为名师归纳总结 1;Sample time设为 0,设为 0 的话,在大的和小的时间间隔都进行采样,设成0 的模块第 7 页,共 24 页被称作连续采样;设成1 的话,就只在大的时间间隔上采样;选中底部的两项挑选:“Interpret vector parameters as 1-D” 和 “Enable zerocrossing detection在 SInOut 模型窗口中,单击Simulation 菜单,在下拉菜单中挑选Simulation parameters;将弹出 SinOut模型的仿真参数设置对话框:” Configuration Parameters: SinOut/c
20、onfiguration;”- - - - - - -精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用仿真参数设置对话框共有 7 个选项页: Solver 、Data Import/Export、Optimization 、Diagnostics 、Hardware Implementation、 Model Referencing、Real-Time Workshop;其中” Solver ” 页中完成仿真时的基本时间设置、运算器和解算器:2*pi+128;然后将输出端口Out 的 Bus Type 改为 ”Unsigned integer类型;修改完成之后,进行
21、仿真,可以看到输出的波形都在0 以上;5.2.3 使用 SignalCompiler进行从算法到硬件实现在 Matlab 中完成仿真验证后,就要把设计转换到硬件上加以实现;通过DSP Builder 可以获得针对特定FPGA芯片的 HDL 代码; 1. 分析模型双击SinOut 模型中的 ” SignalCompiler ”图标启动 DSP Builder ,显现如下的窗口:单击 ” Analyze ”按钮, SignalCompiler将会对模- - - - - - -精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用型进行分析,检查模型有无错误;假如设计存在错误,
22、将会停止分析过程,并在 Matlab 软件的命令窗口中给出相关信息;假如设计不存在错误,就在分析终止后打开” SignalCompiler ”窗口; Simulink 具有强大的错误定位才能,对很多错误可以在 simulink模型中直接定位,用不同的颜色来标示有错误的模块;假如 SignalCompiler 分析当前的DSP 模型有错误时,必需修改正确才能连续下面的设计流程;2. 设置 SignalCompiler 在 SignalCompiler 窗口中,要进行一些必要的设置;SignalCompiler 窗口大致上可以分为 3 个功能部分:左上为工程设置选项Project Setting
23、Options ;右上为硬件的编译流程Hardware Compilation;下方为信息框Messages ;名师归纳总结 - - - - - - -第 9 页,共 24 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用SingalCompiler 的设置集中在工程设置选项部分;在 Device 下拉挑选框中挑选目标器件的系列;这里只能挑选器件的系列,不能指定具体的器件型号,这需要由Quartus II自动决定使用该器件系列中的某一个具体型号的器件,或在手动流程中由用户指定;在Synthesis 综合)下拉挑选框中,可以挑选综合器,共有3 个选项: Mentor
24、 的LeonardoSpectrum 综合器; Synplicity 的 Synplify 综合器; Altera 的 Quartus II ,Quartus II 是 FPGA/CPLD 的集成开发环境,其内含综合功能;在 Optimization 优化)下拉挑选框,指明在综合、适配过程中的优化策略,是优先对面积 Area )优化仍是速度优化 Speed )的挑选,即资源占用优先仍是性能优先;工程设置选项部分的下部是一些选项页,包括下面的内容: Main Clock :系统主时钟的周期的设置;Reset :系统复位信号的设置;Signal Tap II :嵌入式规律分析仪的设置;Testbe
25、nch :仿真测试文件生成的挑选;SOPC info: SOPC相关设置; Main Clock 的缺省值为20ns ,即对应 50MHz 的频率;假如要使用第三方的仿真软件 report file 转换完成后, Message 框中会显现如下的提示 Generated top level file Sinout.vhd Completed MDL to VHDL conversion See Sinout_DspBuilder_Report.htmlfor additional information 以上提示说明白:产生了Sinout.vhd的顶层文件,完成了mdl第 10 页,共 24
26、页- - - - - - -精选学习资料 - - - - - - - - - 文件到 VHDL 文件的转换,更多的信息,参看个人资料整理仅限学习使用文件,点击Sinout_DspBuilder_Report.htmReport File 按钮即可; 4. 综合单击步骤2 的图标,执行综合过程,这里挑选的综合工具是Quartus II ,综合后生成Atom Netlist网表)文件,以供第三步适配过程使用;综合过程完成之后,信息框中会给出此工程的一些信息:如器件的系列,使用的规律宏单元的数目、触发器的数目、引脚数、RAM 容量等;具体的信息也是参照上面提到的工程报告文件;5. Quartus I
27、I适配单击步骤3 的图标,调用Quartus II完成编译适配过程,生成编程文件:pof 文件和 sof 文件;单击Report 按钮,查看具体的报告信息;以上的三个步骤可以分开单步执行,也可以点击execute steps 1,2 and 3,一步执行; 6. 编程完成了以上三步操作之后, program device的图标由不行用编程可用 由灰变亮),连接好硬件便可以进行下载了;但在下在之前,仍要做一些必要的仿真和测试:使用ModelSim 进行 RTL 级仿真,使用 Quartus II 进行时序仿真,进行硬件测试等;5.2.4 使用 ModelSim 进行 RTL 级仿真在 Simul
28、ink 中已经对模型进行过仿真验证,但是是属于系统级的验证,并没有对生成的VHDL 代码进行过仿真;事实上,由Mdl 文件转化而来的VHDL 描述是 RTL 级的,而在simulink 中的模型仿真是算法级的,转换后的代码实现可能与mdl 模型描述的情形不完全相符;这就需要针对生成的RTL 级 VHDL 代码进行功能仿真;当在SignalCompiler设置窗口中的 Testbench 页中选中 ” Generate Stimuli for VHDL Testbench”,DSPBuilder 在 mdl 转换到 VHDL 的过程中会生成对 HDL 仿真器 ModelSim 的测试文件; Mo
29、delSim 是 Mentor Graphics 的子公司 Model Technology 的产品, ModelSim 是业界最优秀的 HDL 语言仿真器,具有快速的仿真性能和最先进的调试才能,支持众多的 ASIC 和 FPGA 厂家库,是作 FPGA、ASIC 设计的 RTL 级和门级电路仿真的首选;是唯独的单内核支持VHDL 和 Verilog 混合仿真的仿真器,全面支持 VHDL 和 Verilog 语言的 IEEE 标准,以及 IEEE VITAL 1076.4 95 标准,支持 C 语言功能调用 ,支持 C 模型、基于 SWIFT 的 SmartModel 规律模型和硬件模型的仿真
30、;它具有丰富而又易用的图形用户界面,供应最友好的调试环境,为加快调试提供强有力的手段;仿真方法:启动ModelSim 软件,挑选Tools 菜单下的Execute Macro ,在打开的文件挑选对话框中切换到SinOut 模型 SinOut.mdl 文件所在的目录,挑选tb_SinOut.tcl ,ModelSim 执行 tb_SinOut.tcl ,开启仿真,随后会自动打开 wave 窗口,显示仿真结果;名师归纳总结 - - - - - - -第 11 页,共 24 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用但是显示的结果是以数字形式显示的,与simuli
31、nk 中的仿真结果没有可比性;为了能够进名师归纳总结 行对比,要转变输出波形的显示方式;选中” tb_sinout/outu单击右键,在弹出菜单中选第 12 页,共 24 页择 properties,显现 wave properties窗口,缺省显示的View 页面;- - - - - - -精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用在对话框中将 Radix 项的内容设为 ” Unsigned”;然后点击 Format 页,在 Format 页中将名师归纳总结 Format 设成 Analog ,Height 设成 100, Scale 设成 0.4 ,然后点
32、击OK;第 13 页,共 24 页- - - - - - -精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用5.2.5 使用 Quartus II 进行时序仿真ModelSim 软件只能实现对设计电路的功能仿真,其仿真结果没有反映电路的硬件的真实情况;为了使我们的设计与真实的电路更加接近,进行设计的时序仿真是特别必要的;SignalCompiler 已经生成了用于 quartus II 进行时序仿真的鼓励文件 sinout.vec 和相关仿真文件,如 sinout_quartus.tcl,可以很简洁地在 quartus II 中实现时序仿真,在 quartus II
33、进行时序仿真的步骤如下:启动 quartus II 集成开发环境,执行 File 菜单的 Open Project 的操作,在弹出的 Open Project 的对话框中,挑选 Sinout 模型所在的目录,打开该目录,打开 DSP Builder 为 Quartus II 建立的设计工程Sinout ,并在工程中打开VHDL 顶层设计文件 sinout.vhd ;在 SignalCompiler 中的编译过程中,我们已经指定了器件为 Cyclone II 系列了,但是在 Quartus II 中进行时序仿真时,需要指定器件的具体型号;执行 Assignments 菜单的 Device 命令,
34、为本设计挑选目标芯片 EP2C35F672C8 ;然后执行 Processing 菜单的 Start Compilation 命令对 sinout.vhd 顶层文件进行编译;编译终止后,执行 Processing 菜单的 Start Simulation命令,启动时序仿真;在仿真过程终止之后,出名师归纳总结 现 quartus II 仿真波形界面,显示仿真结果;第 14 页,共 24 页- - - - - - -精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用通过观看仿真波形来检查设计的工程是否满意时序要求;也可以运行 Analyzer ,生成时序分析报告,来猎取时
35、序仿真的数据;TimeQuest Timing 名师归纳总结 - - - - - - -第 15 页,共 24 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用5.2.6 硬件实现与测试经过 RTL 级和时序仿真之后,仍要将设计下载到芯片中进行实现和测试;进行硬件测试时,需要使用开发平台上的 DAC 器件将正弦波信号发生器所输出的数字信号转换为模拟信号,然后将模拟信号接到示波器上;要使用DAC 器件,需要将平台上的拨码开关的MODUL_SEL1 设置成 “ON”状态,将 MODUL_SEL2 和 MODUL_SEL3 设置成 “OFF”状态;开发平台上的 DAC
36、模块由一个并行 8 位 DAC 器件和一个并行 DAC 电压基准源组成,并行8 位 DAC 器件采纳 Analog Device 公司的 AD7302 芯片,工作电压为 2.7 伏到 5.5 伏,功耗小适合于电池驱动应用,具有高速寄存器和双缓冲接口规律以及可与并行微处理器和名师归纳总结 DSP 兼容的接口,将产生的8 位数据连接到并行ADC 的输入管脚,再给三个功能挑选管脚第 16 页,共 24 页相应的输入信号,使得DAC 能够正常工作;三个功能管脚为 /B、WR 和 CS; /B通道挑选信号,低电平挑选A 通道,高电平挑选B通道; 写信号,低电平有效;片选信号,低电平有效;依据AD7302
37、 芯片的工作原理,需要在sinout.vhd文件中加入三个输出引脚,并且进行赋值;在端口说明中加入如下的语句:dac_ab : out std_logic;dac_wr : out std_logic; dac_cs : out_std_logic; 在结构体中加入如下的语句:dac_ab = 0; 挑选 A 通道 dac_wr =; dac_cs =; 接下来进行引脚所定,如下表所示:- - - - - - -精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用引脚锁定之后进行工程的编译,编译胜利可以将设计下载到目标器件中去;此时在 D/A 输出通道可以用示波器观看到
38、数字信号转换成的模拟信号波形;5.2.7 使用嵌入式规律分析仪SignalTap II进行测试只进行工程的软件仿真远远不够,必需仍要进行硬件仿真,使用传统的硬件方法进行测试会有如下的一些缺点:缺少空余I/O 引脚;设计中器件的挑选依据设计规模而定,通常所选器件的 I/O 引脚数目和设计的需求是恰好匹配的;I/O 引脚难以引出;设计者为减小电路板的面积,大都采纳细间距工艺技术,在不转变 PCB板布线的情形下引出 I/O 引脚特别困难;接规律分析仪有转变FPGA设计中信号原先状态的可能,因此难以保证信号的正确性;传统的规律分析仪价格昂贵,将会加重设计方的经济负担;针对传统硬件测试的局限,Alter
39、a 公司和 Xilinx 公司分别推出了基于 JTAG 的内部规律分析仪,Altera 公司的嵌入式逻 辑分析仪为 SignalTap ;嵌入式规律分析仪可以随设计文件一起下载到目标芯片中,通过JTAG 引脚捕获目标芯片内部设计者感爱好的信号节点处的信息,而又不影响系统的正常工作;嵌入式规律分析仪将测得的信号样本暂存与目标器件中的嵌入式RAM 中,然后通过器件的 JTAG 端口或 ByteBlaster 下载线将采得的信息传给运算机进行分析;嵌入式规律分析名师归纳总结 仪 SignalTap II答应对设计中的全部层次的模块的信号节点进行测试,可以使用多时钟驱第 17 页,共 24 页- - - - - - -精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用动; SignalTap II 具有可以敏捷配置的特点,下面会介绍到;嵌入式规律分析仪的三项主要优点:它们的使用不增加引脚;可通过FPGA 上已有的特地JTAG 引脚拜访,即使没有其它可用引脚,这种调试方法也能得到内部可视才能;简洁的探测;探测包括把结点路由到内部规律分析仪的输入,不需要担忧为得到有效信息,应如何连接到电路板上,也不存在信号完整性问题;内核是廉价的;FPGA厂商把他们的业务模型建立于用芯片所猎取价值的基础上,所以所用的调试 IP 通常能以低于 $1
限制150内