当前位置:文档之家› 10年FPGA开发经验的工程师肺腑之言

10年FPGA开发经验的工程师肺腑之言

10年FPGA开发经验的工程师肺腑之言
10年FPGA开发经验的工程师肺腑之言

10年FPGA开发经验的工程师肺腑之言

从大学时代第一次接触FPGA至今已有10多年的时间。至今记得当初第一次在EDA实验平台上完成数字秒表,抢答器,密码锁等实验时,那个兴奋劲。当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus II原理图环境下用74系列逻辑器件搭建起来的。后来读研究生,工作陆陆续续也用过Quartus II,Foundation,ISE,Libero,并且学习了verilogHDL语言,学习的过程中也慢慢体会到verilog的妙用,原来一小段语言就能完成复杂的原理图设计,而且语言的移植性可操作性比原理图设计强很多。

在学习一门技术之前我们往往从它的编程语言入手,比如学习单片机时,我们往往从汇编或者C语言入门。所以不少开始接触FPGA的开发人员,往往是从VHDL或者Verilog开始入手学习的。但我个人认为,若能先结合《数字电路基础》系统学习各种74系列逻辑电路,深刻理解逻辑功能,对于学习HDL 语言大有裨益,往往会起到事半功倍的效果。

当然,任何编程语言的学习都不是一朝一夕的事,经验技巧的积累都是在点滴中完成,FPGA设计也无例外。下面就以我的切身体会,谈谈FPGA设计的经验技巧。

1)看代码,建模型

只有在脑海中建立了一个个逻辑模型,理解FPGA内部逻辑结构实现的基础,才能明白为什么写Verilog和写C整体思路是不一样的,才能理解顺序执行语言和并行执行语言的设计方法上的差异。在看到一段简单程序的时候应该想到是什么样的功能电路。

例如:

上面这段代码实现的功能就是一个带使能端的2选1数据选择器,如下图所示。

再例如:

上面这段always实现的是带同步清零端的串并转换移位寄存器,位宽为width,下图为8位电路模型

当你具备了一定的识代码能力之后,你会发现原来Verilog不是那么的枯燥,只不过是一个个电路模型的拼搭而已。

2)组合逻辑中的if...else...与case

对于多输入端的组合逻辑来说,如果不需要考虑优先级应该尽量采用case语句来描述,这样综合出来的电路并行度要大一些,如果采用if...else...结构,综合出来的电路都是串行的,增大了信号时延路径。降低寄存器间组合路径的延迟是提高系统工作频率的主要手段,因此在完成相同功能的前提下应该尽量使用并行结构逻辑。

可以看出,并行模式比串行模式少了一级延时路径,随着输入端的增多,串行逻辑将比并行逻辑产生更多的延时路径。

3)用数学思维来简化设计逻辑

学习FPGA不仅逻辑思维很重要,好的数学思维也能让你的设计化繁为简,所以啊,那些看见高数就头疼的童鞋需要重视一下这门课哦。举个简单的例子,比如有两个32bit的数据X[31:0]与Y[31:0]相乘。当然,无论Altera还是Xilinx都有现成的乘法器IP核可以调用,这也是最简单的方法,但是两个32bit 的乘法器将耗费大量的资源。那么有没有节省资源,又不太复杂的方式来实现呢?我们可以稍做修改:

将X[31:0]拆成两部分X1[15:0]和X2[15:0],令X1[15:0]=X[31:16],X2[15:0]=X[15:0],则X1左移16位后与X2相加可以得到X;同样将Y[31:0]拆成两部分Y1[15:0]和Y2[15:0],令Y1[15:0]=Y[31:16],Y2[15:0]=Y[15:0],则Y1左移16位后与Y2相加可以得到Y;则X与Y的相乘可以转化为X1和X2分别与Y1和Y2相乘,这样一个32bit*32bit的乘法运算转换成了四个16bit*16bit的乘法运算和三个32bit的加法运算。转换后的占用资源将会减少很多,有兴趣的童鞋,不妨综合一下看看,看看两者差多少。

4)时钟与触发器的关系

“时钟是时序电路的控制者”这句话太经典了,可以说是FPGA设计的圣言。FPGA的设计主要是以时序电路为主,因为组合逻辑电路再怎么复杂也变不出太多花样,理解起来也不没太多困难。但是时序电路就不同了,它的所有动作都是在时钟一拍一拍的节奏下转变触发,可以说时钟就是整个电路的控制者,控制不好,电路功能就会混乱。打个比方,时钟就相当于人体的心脏,它每一次的跳动就是触发一个CLK,向身体的各个器官供血,维持着机体的正常运作,每一个器官体统正常工作少不了组织细胞的构成,那么触发器就可以比作基本单元组织细胞。时序逻辑电路的时钟是控制时序逻辑电路状态转换的“发动机”,没有它时序逻辑电路就不能正常工作,因为时序逻辑电路主要是利用触发器存储电路的状态,而触发器状态变换需要时钟的上升或下降沿!由此可见时钟在时序电路中的核心作用!

5)关于IP核和乒乓操作的那点事

经验告诉我,能使用开发工具自带的IP核,就千万别去自己开发。往往自己开发已有的IP核是吃力不讨好。我曾经做过一个eMMC控制器烧写外部eMMC芯片的案子。

数据由上位机通过USB传给MCU,然后通过数据总线发到FPGA,在FPGA内部形成烧写eMMC 芯片的时序,烧写外部芯片。框图如下:

最初的算法是通过数据总线发一个字节,再向芯片打一个字节,一个页的512字节的CRC16需要事先用软件计算好,但是这种方式烧写速度太慢。后来我想到一种方案,先把512个字节传到FPGA内部存储起来,并且在FPGA内部计算好16个字节的CRC,然后用高速系统时钟一次性把整页528个字节传给芯片,这种方式烧写速度能提高很多。一开始我想自己设计一个带CRC计算的RAM或者FIFO来存储528个字节的数据,可是无论怎么设计数据传输总是有问题,由于是一个人做,也没人指导,只得放弃这种方案,改用其他。因为我用的Xilinx器件有现成的FIFO核可以调用,于是我就把CRC16的计算和存储512字节数据分开设计,在最后输出到芯片端再选通。因为烧写eMMC一个页,需要有一定的等待POLLING时间,所以我想到了用两组FIFO,乒乓操作,A通道数据发送到芯片并且等待应答的时候,MCU端向B通道发送数据存储,B通道数据发送到芯片并且等待应答的时候,MCU端再向A通道发送数据存储,这样最大化的加速了烧写速度,当然最后的设计结果我也是相当满意的。

我想通过此例告诉大家的是,尽量用系统的IP核吧,省事又省心,因为这些都是前辈专家们设计出的经典。还有就是利用一些设计技巧,比如乒乓操作,流水线操作可以让你的设计性能优化不少。

最后简单说一下体会吧,归结起来就多实践、多思考、多问。实践出真知,看100遍别人的方案不如自己去实践一下。实践的动力一方面来自兴趣,一方面来自压力,我个人觉得后者更重要。有需求会容易形成压力,也就是说最好能在实际的项目开发中锻炼,而不是为了学习而学习。在实践的过程中要多思考,多想想问题出现的原因,问题解决后要多问几个为什么,这也是经验积累的过程,如果有写项目日志的习惯更好,把问题及原因、解决的办法都写进去。最后还要多问,遇到问题思索后还得不到解决就要问了,毕竟个人的力量是有限的,问同学同事,问搜索引擎,问网友,都可以,一篇文章、朋友们的点拨都可能帮助自己快速解决问题。

硬件工程师面试题集(含答案-很全)

硬件工程师面试题集 (DSP,嵌入式系统,电子线路,通讯,微电子,半导体) 1、下面是一些基本的数字电路知识问题,请简要回答之。 (1) 什么是Setup和Hold 时间? 答:Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间要求。建立时间(Setup Time)是指触发器的时钟信号上升沿到来以前,数据能够保持稳定不变的时间。输入数据信号应提前时钟上升沿(如上升沿有效)T 时间到达芯片,这个T就是建立时间通常所说的SetupTime。如不满足Setup Time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿到来时,数据才能被打入触发器。保持时间(Hold Time)是指触发器的时钟信号上升沿到来以后,数据保持稳定不变的时间。如果Hold Time 不够,数据同样不能被打入触发器。 (2) 什么是竞争与冒险现象?怎样判断?如何消除? 答:在组合逻辑电路中,由于门电路的输入信号经过的通路不尽相同,所产生的延时也就会不同,从而导致到达该门的时间不一致,我们把这种现象叫做竞争。由于竞争而在电路输出端可能产生尖峰脉冲或毛刺的现象叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。 (3) 请画出用D 触发器实现2 倍分频的逻辑电路 答:把D 触发器的输出端加非门接到D 端即可,如下图所示: (4) 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求? 答:线与逻辑是两个或多个输出信号相连可以实现与的功能。在硬件上,要用OC 门来实现(漏极或者集电极开路),为了防止因灌电流过大而烧坏OC 门,应在OC 门输出端接一上拉电阻(线或则是下拉电阻)。 (5) 什么是同步逻辑和异步逻辑?同步电路与异步电路有何区别? 答:同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系.电路设计可分类为同步电路设计和异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步。异步电路具有下列优点:无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性。 (7) 你知道那些常用逻辑电平?TTL 与COMS 电平可以直接互连吗? 答:常用的电平标准,低速的有RS232、RS485、RS422、TTL、CMOS、LVTTL、LVCMOS、ECL、ECL、LVPECL 等,高速的有LVDS、GTL、PGTL、CML、HSTL、SSTL 等。 一般说来,CMOS 电平比TTL 电平有着更高的噪声容限。如果不考虑速度和性能,一般TTL 与CMOS 器件可以互换。但是需要注意有时候负载效应可能引起电路工作不正常,因为有些TTL 电路需要下一级的输入阻抗作为负载才能正常工作。 (6) 请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接口、锁存器/缓冲器)

一个硬件工程师高手的设计经验分享(上)

推荐到论坛 一:成本节约 现象一:这些拉高/拉低的电阻用多大的阻值关系不大,就选个整数5K 吧 点评:市场上不存在5K 的阻值,最接近的是 4.99K(精度1%),其次是5.1K(精度5%),其成本分别比精度为20%的4.7K 高4倍和2 倍。20%精度的电阻阻值只有1、1.5、2.2、3.3、4.7、6.8几个类别(含10的整数倍);类似地,20%精度的电容也只有以上几种值,如果选了其它的值就必须使用更高的精度,成本就翻了几倍,却不能带来任何好处。 现象二:面板上的指示灯选什么颜色呢?我觉得蓝色比较特别,就选它吧 点评:其它红绿黄橙等颜色的不管大小(5MM 以下)封装如何,都已成熟了几十年,价格一般都在5毛钱以下,而蓝色却是近三四年才发明的东西,技术成熟度和供货稳定度都较差,价格却要贵四五倍。目前蓝色指示灯只用在不能用其它颜色替代的场合,如显示视频信号等。 现象三:这点逻辑用74XX 的门电路搭也行,但太土,还是用CPLD吧,显得高档多了 点评:74XX的门电路只几毛钱,而CPLD至少也得几十块,(GAL/PAL虽然只几块钱,但公司不推荐使用)。成本提高了N 倍不说,还给生产、文档等工作增添数倍的工作。现象四:我们的系统要求这么高,包括MEM、CPU、FPGA等所有的芯片都要选最快的 点评:在一个高速系统中并不是每一部分都工作在高速状态,而器件速度每提高一个等级,价格差不多要翻倍,另外还给信号完整性问题带来极大的负面影响。 现象五:这板子的PCB 设计要求不高,就用细一点的线,自动布吧 点评:自动布线必然要占用更大的PCB 面积,同时产生比手动布线多好多倍的过孔,在批量很大的产品中,PCB 厂家降价所考虑的因素除了商务因素外,就是线宽和过孔数量,它们分别影响到PCB 的成品率和钻头的消耗数量,节约了供应商的成本,也就给降价找到了 理由。 现象六:程序只要稳定就可以了,代码长一点,效率低一点不是关键 点评:CPU 的速度和存储器的空间都是用钱买来的,如果写代码时多花几天时间提高一下程序效率,那么从降低CPU 主频和减少存储器容量所节约的成本绝对是划算的。CPLD/FPGA设计也类似。 二:低功耗设计 现象一:我们这系统是220V供电,就不用在乎功耗问题了 点评:低功耗设计并不仅仅是为了省电,更多的好处在于降低了电源模块及散热系统的成本、

硬件工程师笔试题硬件工程师笔试题

硬件工程师面试试题 模拟电路 1、基尔霍夫定理的内容是什么?(仕兰微电子) 2、平板电容公式(C=εS/4πkd)。(未知) 3、最基本的如三极管曲线特性。(未知) 4、描述反馈电路的概念,列举他们的应用。(仕兰微电子) 5、负反馈种类(电压并联反馈,电流串联反馈,电压串联反馈和电流并联反馈);负反馈的优点(降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非线性失真,有效地扩展放大器的通频带,自动调节作用)(未知) 6、放大电路的频率补偿的目的是什么,有哪些方法?(仕兰微电子) 7、频率响应,如:怎么才算是稳定的,如何改变频响曲线的几个方法。(未知) 8、给出一个查分运放,如何相位补偿,并画补偿后的波特图。(凹凸) 9、基本放大电路种类(电压放大器,电流放大器,互导放大器和互阻放大器),优缺点,特别是广泛采用差分结构的原因。(未知) 10、给出一差分电路,告诉其输出电压Y+和Y-,求共模分量和差模分量。(未知) 11、画差放的两个输入管。(凹凸) 12、画出由运放构成加法、减法、微分、积分运算的电路原理图。并画出一个晶体管级的运放电路。(仕兰微电子) 13、用运算放大器组成一个10倍的放大器。(未知) 14、给出一个简单电路,让你分析输出电压的特性(就是个积分电路),并求输出端某点的 rise/fall时间。(Infineon笔试试题) 15、电阻R和电容C串联,输入电压为R和C之间的电压,输出电压分别为C 上电压和R上电压,要求制这两种电路输入电压的频谱,判断这两种电路何为高通滤波器,何为低通滤波器。当RC<

一个合格的FPGA工程师需要掌握哪些知识

一个合格的FPGA工程师需要掌握哪些知识?这里根据自己的一些心得总结一下,其他朋友可以补充啊。 1.Verilog语言及其于硬件电路之间的关系。 2.器件结构(最好熟练掌握Spartan3,Vertix4系列的器件结构,及其资源于Verilog行为描述方法的关系。)。 3.开发工具(熟练掌握Synplify,Quartus,ISE,Modelsim)。 4.数字电路(组合电路,触发器,特别是D触发器构成分频器,奇数倍分频占空比为50%,时序电路,并且能用Verilog语言描叙。)。 5.熟悉FPGA设计流程(仿真,综合,布局布线,时序分析)。 6.熟练掌握资源估算(特别是slice,lut,ram等资源的估算)。 7.同步设计原理。 8.熟练掌握基本概念(如建立时间,保持时间,流量(即所做FPGA设计的波特率)计算,延迟时间计算(所做FPGA设计),竞争冒险,消除毛刺的方法等等)。 9.具备具体设计经验(对应届生而言如毕业设计)。 10.良好的设计思路(流水线设计即熟称打拍子,在速率资源功耗之间的折中考虑)。 一个合格的FPGA工程师至少在以下三个方面的一个非常熟悉: 1.嵌入式应用 2.DSP应用 3.高速收发器应用 将自己的走过的弯路和总结的经验与大家分享一下,希望对您有一点点

的参考价值。 首先从先从如何成为一个合格的设计者说起吧!初学者觉得一切都是挑战,一切都新鲜,不知从何处下手。我总结了学习EDA逻辑设计的4个步骤,请拍砖! 1。首先,应该好好学习一下FPGA/CPLD的设计设计流程。 不要简单的以为就是设计输入-》仿真-》综合-》实现那么一回事,要抠细,要学精,要多问每个步骤的注意事项,区分相关步骤的联系和区别。比如要搞清楚功能仿真、综合后仿真、Translate后仿真、Map 后的仿真、布局布线后仿真的作用都是什么,什么时候应该做,什么时候可以不做这些仿真!学习清楚了设计流程最大的好处就是有利于培养良好的EDA设计习惯,日后会受益非浅! 2。关于设计输入和Coding Style。 设计输入最好学习HDL语言,Verilog、VHDL都可以,可以把状态机输入和原理图输入作为补充内容,但不是重点。我在前面的帖子已经反复强调了Coding Style的重要性。因为它是逻辑设计人员的一个基本业务素质。而且Coding Style不是看几篇文章,学几条原则就能够成为高手的,他需要您在工作中不断的体会和积累,在学习的最初,有Coding Style的意识,设计者就会有意的积累,对日后发展很有好处。反之则后患无穷。 3。培养硬件的意识,培养系统的观念。 我也在交流和授课的时候很强调硬件意识,如果从形式上看,逻辑设计随着智能化和优化手段的不断发展最后会越来越灵活,越来越简单。比

(完整版)FPGA资深FAE的经验独白

骏龙科技Andrew —— FPGA资深FAE的经验独白 时间:2014-08-25 来源:elecfans 作者: 关键字:FPGA FAE骏龙科技 看似简单的几个问题,Andrew却回答的井井有条,小编已经没有办法有什么其他词语去形容了。本文Andrew不仅仅对FPGA入门学习流程做了详细的分享,更是对FPGA开发工作的要求分成大公司和小公司两个层面来分析。你能想象曾经从一个疏忽学业的人成为一名资深FAE的嘛? 1. 您认为想学FPGA的话,先学好什么才最重要? Andrew:我们玩FPGA的通常就是跟数字电路打交道,要想玩得转,必须先学习并掌握最最基础的数字电路和HDL硬件描述语言,当然这只是入门必备,实际上远远不够。个人拙见,要入行除了至少掌握一种FPGA的仿真及开发调试流程之外;起码还要了解一些模拟电路知识,掌握诸如电源纹波、时钟抖动、信号质量等经常需要测量的硬件参数的测试方法;起码还要掌握一种原理图和Layout设计软件,能够查看分析调试电路板上的电路模块,如电源、时钟、存储器、配置、I/O和高速收发器等模块;起码还要掌握一种单片机的开发流程,项目中难免有一些需要配置控制的需求,使用外置单片机或者内置ARM硬核或者其他软CPU来实现,简单又方便;由于本人水平有限,其他方面这里就不再赘述。 那么,针对FPGA入门学习的一般流程,简单总结一下,供朋友们参考,有经验的大牛可以绕道: 1.首先要有开发平台,把该准备的都准备好,磨刀不误砍柴工: 比如ALTERA的Quartus II软件、开发板和配置调试工具USB Blaster,以及仿真软件Modelsim SE。软件可以从网上下载,入门功能的许可的和谐方法一大堆;开发板和USB Blaster可以借,可以买,动手能力强的朋友,自己画一块也行。对于初学者,建议找一块有详细配套教程的开发板。 2. 对于新手来讲,按部就班地学习往往就是最快的学习方法: 照猫画虎尽管囫囵吞枣一知半解,但起码能把开发流程摸熟,能跑起来。刚拿到开发板,肯定是丈二和尚摸不着头脑。这个时候,建议先根据开发板的配套教程,把原理图上的各项模块功能厘清,把FPGA周围的电源、时钟、复位、配置、GPIO和连接器等的电路原理理一理分析分析。再按照配套教程中介绍的流程,把配套的测试工程跑通,在这个阶段,

常见硬件工程师笔试题标准答案

硬件工程师笔试题 一、电路分析: 1、竞争与冒险 在组合逻辑中,在输入端的不同通道数字信号中经过了不同的延时,导致到达该门的时间不一致叫竞争。因此在输出端可能产生短时脉冲(尖峰脉冲)的现象叫冒险。 常用的消除竞争冒险的方法有:输入端加滤波电容、选通脉冲、修改逻辑设计等。 2、同步与异步 同步逻辑就是时钟之间有固定的因果关系。异步逻辑就是各时钟之间没有固定的因果关系。同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其它的触发器的状态变化不与时钟脉冲同步。 异步电路不使用时钟脉冲做同步,其子系统就是使用特殊的“开始”与“完成”信号使之同步 同步就就是双方有一个共同的时钟,当发送时,接收方同时准备接收。异步双方不需要共同的时钟,也就就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,结束时有停止位 3、仿真软件:Proteus 4、Setup 与Hold time Setup/hold time 就是测试芯片对输入信号与时钟信号之间的时间要求。建立时间就是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就就是建立时间-Setup time、如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间就是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time不够,数据同样不能被打入触发器。 5、IC设计中同步复位与异步复位的区别 同步复位在时钟沿采集复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。 6、常用的电平标准 TTL: transistor-transistor logic gate晶体管-晶体管逻辑门 CMOS:Complementary Metal Oxide Semiconductor互补金属氧化物半导体 LVTTL(Low Voltage TTL)、LVCMOS(Low Voltage CMOS):3、3V、2、5V RS232、RS485 7、TTL电平与CMOS电平

硬件工程师笔试题附答案

一、填空题(每题5分,8题,共40分) 1.二极管的导通电压一般是0.7V 。 2.MOS管根据掺杂类型可以分为NMOS 、PMOS 。 3.晶体三极管在工作时,发射结和集电结均处于正向偏置,该晶体管工作在饱和状态。 4.二进制数(11010010)2转换成十六进制数是D2 。 5.贴片电阻上的103代表10k。 6.输出使用OC门或OD门实现线与功能。 7.假设A传输线的特征阻抗是70欧姆,B传输线的特征阻抗是30欧姆,A传输线与B传输线相 连,那么它们之间的反射系数是0.4。(-0.4也可以是正确答案) 8.假设模拟信号的输入带宽是10Hz~1MHz,对信号进行无失真采样的最低频率是 2MHz 。 二、问答题(每题10分,6题,共60分) 1.单片机上电后没有运转,首先要检查什么?(10分) 答案:第一步,测量电源电压是否正常;第二步,测量复位引脚是否正常;第三步,测量外部晶振是否起振。2.请分别画出BUCK和BOOST电路的原理框图。(10分) BUCK电路: BOOST电路: 3.请画出SAR型(逐次逼近型)ADC的原理框图,或者描述SAR型ADC的工作原理。(10 分)

SAR型ADC包括采样保持电路(S/H)、比较器(COMP ARE)、数/模转换器(DAC)、逐次逼近寄存器(SAR REGISTER) 和逻辑控制单元(SAR L OGIC)。模拟输入电压VIN由采样保持电路采样并保持,为实现二进制搜索算法,首先由SAR L OGIC 控制N位寄存器设置在中间刻度,即令最高有效位MSB为“1”电平而其余位均为“0”电平,此时数字模拟转换器DAC输出电压VDAC为0.5VREF,其中VREF为提供给ADC的基准电压。由比较器对VIN和VDAC进行比较,若VIN>VDAC ,则比较器输出“1”电平,N位寄存器的MSB保持“1”电平;反之,若VN

10年FPGA开发经验的工程师肺腑之言

10年FPGA开发经验的工程师肺腑之言 从大学时代第一次接触FPGA至今已有10多年的时间。至今记得当初第一次在EDA实验平台上完成数字秒表,抢答器,密码锁等实验时,那个兴奋劲。当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus II原理图环境下用74系列逻辑器件搭建起来的。后来读研究生,工作陆陆续续也用过Quartus II,Foundation,ISE,Libero,并且学习了verilogHDL语言,学习的过程中也慢慢体会到verilog的妙用,原来一小段语言就能完成复杂的原理图设计,而且语言的移植性可操作性比原理图设计强很多。 在学习一门技术之前我们往往从它的编程语言入手,比如学习单片机时,我们往往从汇编或者C语言入门。所以不少开始接触FPGA的开发人员,往往是从VHDL或者Verilog开始入手学习的。但我个人认为,若能先结合《数字电路基础》系统学习各种74系列逻辑电路,深刻理解逻辑功能,对于学习HDL 语言大有裨益,往往会起到事半功倍的效果。 当然,任何编程语言的学习都不是一朝一夕的事,经验技巧的积累都是在点滴中完成,FPGA设计也无例外。下面就以我的切身体会,谈谈FPGA设计的经验技巧。 1)看代码,建模型 只有在脑海中建立了一个个逻辑模型,理解FPGA内部逻辑结构实现的基础,才能明白为什么写Verilog和写C整体思路是不一样的,才能理解顺序执行语言和并行执行语言的设计方法上的差异。在看到一段简单程序的时候应该想到是什么样的功能电路。 例如: 上面这段代码实现的功能就是一个带使能端的2选1数据选择器,如下图所示。

再例如: 上面这段always实现的是带同步清零端的串并转换移位寄存器,位宽为width,下图为8位电路模型 当你具备了一定的识代码能力之后,你会发现原来Verilog不是那么的枯燥,只不过是一个个电路模型的拼搭而已。 2)组合逻辑中的if...else...与case 对于多输入端的组合逻辑来说,如果不需要考虑优先级应该尽量采用case语句来描述,这样综合出来的电路并行度要大一些,如果采用if...else...结构,综合出来的电路都是串行的,增大了信号时延路径。降低寄存器间组合路径的延迟是提高系统工作频率的主要手段,因此在完成相同功能的前提下应该尽量使用并行结构逻辑。

常见硬件工程师笔试题(标准答案)

硬件工程师笔试题 一、电路分析: 1、竞争与冒险 在组合逻辑中,在输入端的不同通道数字信号中经过了不同的延时,导致到达该门的时间不一致叫竞争。因此在输出端可能产生短时脉冲(尖峰脉冲)的现象叫冒险。 常用的消除竞争冒险的方法有:输入端加滤波电容、选通脉冲、修改逻辑设计等。 2、同步与异步 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其它的触发器的状态变化不与时钟脉冲同步。 异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步 同步就是双方有一个共同的时钟,当发送时,接收方同时准备接收。异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开 始接收的信息,如开始位,结束时有停止位 3、仿真软件:Proteus 4、Setup 和Hold time Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器 的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升 沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time不够,数据同样不能被打入触发器。 5、IC设计中同步复位与异步复位的区别 同步复位在时钟沿采集复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系 不确定,也可能出现亚稳态。 6、常用的电平标准 TTL:transistor-transistor logic gate晶体管-晶体管逻辑门 CMOS:Complementary Metal Oxide Semiconductor互补金属氧化物半导体 LVTTL(L ow Voltage TTL)、LVCMOS(L ow Voltage CMOS):3.3V、2.5V RS232、RS485 7、TTL电平与CMOS电平 TTL电平和CMOS电平标准

FPGA学习步骤30页

FPGA学习步骤,我的体会 FPGA在目前应用领域非常,在目前的单板设计里面,几乎都可以看到它的身影。从简单的逻辑组合,到高端的图像、通信协议处理,从单片逻辑到复杂的ASIC原型验证,从小家电到航天器,都可以看到FPGA应用,它的优点在这里无庸赘述。从个人实用角度看,对于学生,掌握FPGA可以找到一份很好的工作,对于有经验的工作人员,使用fgpa可以让设计变得非常有灵活性。掌握了fpga的设计,单板硬件设计就非常容易(不是系统设计),特别是上大学时如同天书的逻辑时序图,看起来就非常亲切。但fpga的入门却有一定难度,因为它不像软件设计,只要有一台计算机,几乎就可以完成所有的设计。fpga的设计与硬件直接相关,需要实实在在的调试仪器,譬如示波器等。这些硬件设备一般比较昂贵,这就造成一定的入门门槛,新人在入门时遇到一点问题或者困难,由于没有调试设备,无法定位问题,最后可能就会放弃。其实这时如果有人稍微指点一下,这个门槛很 容易就过去。 我用FPGA做设计很多年了,远达不到精通的境界,只是熟悉使用,在这里把我对fpga的学习步骤理解写出来,仅是作为一个参考,不对的地方,欢迎大家讨 论和指正。 1、工欲善其事,必先利其器。

计算机必不可少。目前FPGA应用较多的是Altera 和xilinx这两个公司,可以选择安装quartusII或者ISE 软件。这是必备的软件环境。 硬件环境还需要下载器、目标板。虽然有人说没有下载器和目标板也可学习fpga,但那总是纸上谈兵。这就像谈女朋友,总是嘴上说说,通个电话,连个手都没牵,能说人家是你朋友?虽说搭建硬件环境需要花费,但想想,硬件环境至多几百元钱,你要真的掌握FPGA的设计,起薪比别人都不止高出这么多。这点花费算什么? 2、熟悉verilog语言或者vhdl语言,熟练使用 quartusII或者ISE软件。 VHDL和verilog各有优点,选择一个,建议选择verilog。熟练使用设计软件,知道怎样编译、仿真、下载 等过程。 起步阶段不希望报一些培训班,除非你有钱,或者运气好,碰到一个水平高、又想把自己的经验和别人共享的培训老师,不然的话,培训完后总会感觉自己是一个冤大头。入门阶段可以在利用网络资源完成。 3、设计一个小代码,下载到目标板看看结果 此时可以设计一个最简答的程序,譬如点灯。如

硬件工程师经典面试题

硬件经典面试100 题(附参考答案) 1、请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌)。 电阻: 美国:AVX、VISHAY 威世 日本:KOA 兴亚、Kyocera 京瓷、muRata 村田、Panasonic 松下、ROHM 罗姆、susumu、TDK 台湾: LIZ 丽智、PHYCOM 飞元、RALEC 旺诠、ROYALOHM 厚生、SUPEROHM 美隆、TA-I 大毅、TMTEC 泰铭、TOKEN 德键、TYOHM 幸亚、UniOhm 厚声、VITROHM、VIKING 光颉、WALSIN 华新科、YAGEO 国巨 新加坡:ASJ 中国:FH 风华、捷比信 电容: 美国:AVX、KEMET 基美、Skywell 泽天、VISHAY 威世 英国:NOVER 诺华德国:EPCOS、WIMA 威马丹麦:JENSEN 战神 日本:ELNA 伊娜、FUJITSU 富士通、HITACHI 日立、KOA 兴亚、Kyocera 京瓷、Matsushita 松下、muRata 村田、NEC、 nichicon(蓝宝石)尼吉康、Nippon Chemi-Con(黑金刚、嘉美工)日本化工、Panasonic 松下、Raycon 威康、Rubycon(红 宝石)、SANYO 三洋、TAIYO YUDEN 太诱、TDK、TK 东信 韩国: SAMSUNG 三星、SAMWHA 三和、SAMYOUNG 三莹 台湾:CAPSUN、CAPXON(丰宾)凯普松、Chocon、Choyo、ELITE 金山、EVERCON、EYANG 宇阳、GEMCON 至美、 GSC 杰商、G-Luxon 世昕、HEC 禾伸堂、HERMEI 合美电机、JACKCON 融欣、JPCON 正邦、LELON 立隆、LTEC 辉城、 OST 奥斯特、SACON 士康、SUSCON 冠佐、TAICON 台康、TEAPO 智宝、WALSIN 华新科、YAGEO 国巨 香港:FUJICON 富之光、SAMXON 万裕中国:AiSHi 艾华科技、Chang 常州华威电子、FCON 深圳金富康、FH 广东 风华、HEC 东阳光、JIANGHAI 南通江海、JICON 吉光电子、LM 佛山利明、R.M 佛山三水日明电子、Rukycon 海丰三力、 Sancon 海门三鑫、SEACON 深圳鑫龙茂电子、SHENGDA 扬州升达、TAI-TECH 台庆、TF 南通同飞、TEAMYOUNG 天 扬、QIFA 奇发电子 电感: 美国:AEM、AVX、Coilcraft 线艺、Pulse 普思、VISHAY 威世 德国:EPCOS、WE 日本:KOA 兴亚、muRata 村田、Panasonic 松下、sumida 胜美达、TAIYO YUDEN 太诱、TDK、TOKO、TOREX 特瑞仕 台湾:CHILISIN 奇力新、https://www.doczj.com/doc/5214973980.html,yers 美磊、TAI-TECH 台庆、TOKEN 德键、VIKING 光颉、WALSIN 华新科、YAGEO 国 巨 中国:Gausstek 丰晶、GLE 格莱尔、FH 风华、CODACA 科达嘉、Sunlord 顺络、紫泰荆、肇庆英达

基于verilog的FPGA编程经验总结

基于verilog的FPGA编程经验总结 用了半个多月的ISE,几乎全是自学起来的,碰到了很多很多让人DT好久的小问题,百度也百不到,后来还是都解决了,为了尽量方便以后的刚学ISE的童鞋不再因为一些小问题而纠结,把这几天的经验总结了一下。好了,废话不多说,上料! 1.用ISE仿真的时候.所用变量一定要初始化. ISE默认初始量为”XXXXX”, 而Quarters是默认为”00000”的, 其实实际上, 下到FPGA里后也是默认为0的,只是可以说ISE严谨得令人DT吧. 比如说用一个累加器, result = A+B+result ,必须保证在某一刻A, B, result都为定值时, 之后的数据才不会一直为”XXXXX”; 2.所有的中间线(就是module间用来传递参数的信号)都要用wire定义一下. 这个ise一般会提醒的; 3.任何一个warning都是有用的; 4.debug时要多把中间变量设成输出,然后查看仿真波形; 5.其实,新版本还是比较好用的.虽然取消了test bench wave 功能. 但是最好学会编测试文件,后期比test bench wave好用, 而且貌似一旦测试信号太多,test bench wave就不

显示某些输出了; 6. warning: Nod is unconnected. 表明所在的模块没用被执行,一般是参数没进来, 或者进来的参数不对(“XXXX”之类)的原因引起的. 7.建立rom时候,Error: sinrom can’t be resolved. 因为在把程序挪地方的时候,sinrom.ngc文件没有一同拷过来. 8.把”XXXXX”信号处理掉的一个方法可以是: 从信号中随意选出一位if (data[0] == 0) ....; else if (data[0] == 1).... else data = 0; 就可以把”XXXX”信号给清成”0000”了. 可以很好的解决1中仿真的问题. 9.如果某一个不是时钟的信号被当作周期信号来用的话,就会出现WARNING:Route:455 - CLK Net:trn_clk_OBUF may have excessive skew. because 0 CLK pins and 1 NON_CLK pins failed to route using a CLK template 不管也行. 10. 一开始用FPGA时不要害怕,用ucf文件配好引脚,直接LOAD,先不用管什么区域约束,以后进阶了再学. . 11.暂时就记得这些,以后再补充吧.

FPGA学习心得体会

篇一:fpga学习心得大报告 《fpga技术基础》学习报告 --课程内容学习心得 姓名: 学号:年级专业: 指导教师: 瞿麟 201010401128 自动化101薛小军摘要从开始学fpga到现在粗略算来的话,已经有3个多月了,就目前而言,我并不确定自己算不算高手们所说的入门了,fpga学习总结。但是不管现在的水平如何,现在就总结一下自己学习它的感受或一些认识吧。 关键词 fpga de2板 quartusii软件 verilog语言 引言 fpga是什么?fpga现状?怎样学习fpga? fpga是现场可编程门阵列的简称,fpga的应用领域最初为通信领域,但目前,随着信息产业和微电子技术的发展,可编程逻辑嵌入式系统设计技术已经成为信息产业最热门的技术之一,应用范围遍及航空航天、医疗、通讯、网络通讯、安防、广播、汽车电子、工业、消费类市场、测量测试等多个热门领域。并随着工艺的进步和技术的发展,向更多、更广泛的应用领域扩展。越来越多的设计也开始以asic转向fpga, fpga正以各种电子产品的形式进入了我们日常生活的各个角落。 正文 (1)掌握fpga的编程语言 在学习一门技术之前我们往往从它的编程语言开始,如同学习单片机一样,我们从c语言开始入门,当掌握了c语言之后,开发单片机应用程序也就不是什么难事了。学习fpga也是如此,fpga的编程语言有两种:vhdl和verilog,这两种语言都适合用于fpga的编程。 (2)fpga实验尤为重要 除了学习编程语言以外,更重要的是实践,将自己设计的程序能够在真正的fpga里运行起来,这时我们需要选一块板子进行实验,我们选择使用de2板才进行试验。 初识de2开发板 de2的资源de2的资源非常丰富,包括 1. 核心的fpga芯片-cyclone ii 2c35 f672c6,从名称可以看出,它包含有35千个le,在altera的芯片系列中,不算最多,但也绝对够用。altera下载控制芯片- epcs16以及usb-blaste对jtag的支持。 2.存储用的芯片有: 512-kb sram,8-mbyte sdram,4-mbyte flash memory 3. 经典io配置:拥有4个按钮,18个拨动开关,18个红色发光二极管,9个绿色发光二极管,8个七段数码管,16*2字符液晶显示屏, 4. 超强多媒体:24位cd音质音频芯片wm8731(mic输入+linein+ 标准音频输出),视频解码芯片(支持ntsc/pal制式),带有高速dac视屏输出vga模块。 5.更多标准接口:通用串行总线usb控制模块以及a、b型接口,sd card接口,irda红外模块, 10/100m自适应以太网络适配器,rs-232标准串口, ps/2键盘接口 6.其他:50m,27m晶振各一个,支持外部时钟, 80针带保护电路的外接io 7.此外还有:配套的光盘资料,qutuarsii软件,niosii 6.0ide,例程与说明文档。 关于管脚分配 当我们创建一个fpga用户系统的时候,到最后要做的工作就是下载,在下载之前必须根据芯片的型号分配管脚,这样才能将程序中特定功能的管脚与实际中的fpga片外硬件电路一一对

硬件工程师笔试面试题目

硬件工程师笔试题目 关键词:硬件工程师笔试题目 模拟电路 1、基尔霍夫定理的内容是什么?(仕兰微电子) 2、平板电容公式(C=εS/4πkd)。(未知) 3、最基本的如三极管曲线特性。(未知) 4、描述反馈电路的概念,列举他们的应用。(仕兰微电子) 5、负反馈种类(电压并联反馈,电流串联反馈,电压串联反馈和电流并联反馈);负反 馈的优点(降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非线性失真,有效地扩展放大器的通频带,自动调节作用)(未知) 6、放大电路的频率补偿的目的是什么,有哪些方法?(仕兰微电子) 7、频率响应,如:怎么才算是稳定的,如何改变频响曲线的几个方法。(未知) 8、给出一个查分运放,如何相位补偿,并画补偿后的波特图。(凹凸) 9、基本放大电路种类(电压放大器,电流放大器,互导放大器和互阻放大器),优缺点,特别是广泛采用差分结构的原因。(未知) 10、给出一差分电路,告诉其输出电压Y+和Y-,求共模分量和差模分量。(未知) 11、画差放的两个输入管。(凹凸) 12、画出由运放构成加法、减法、微分、积分运算的电路原理图。并画出一个晶体管级的运放电路。(仕兰微电子) 13、用运算放大器组成一个10倍的放大器。(未知) 14、给出一个简单电路,让你分析输出电压的特性(就是个积分电路),并求输出端某点的 rise/fall时间。(Infineon笔试试题) 15、电阻R和电容C串联,输入电压为R和C之间的电压,输出电压分别为C上电压和R上电压,要求制这两种电路输入电压的频谱,判断这两种电路何为高通滤波器,何为低通滤波器。当RC<时,给出输入电压波形图,绘制两种电路的输出波形图。(未知) 16、有源滤波器和无源滤波器的原理及区别?(新太硬件) 17、有一时域信号S=V0sin(2pif0t)+V1cos(2pif1t)+V2sin(2pif3t+90),当其通过低通、带通、高通滤波器后的信号表示方式。(未知) 18、选择电阻时要考虑什么?(东信笔试题) 19、在CMOS电路中,要有一个单管作为开关管精确传递模拟低电平,这个单管你会用P 管还是N管,为什么?(仕兰微电子) 20、给出多个mos管组成的电路求5个点的电压。(Infineon笔试试题) 21、电压源、电流源是集成电路中经常用到的模块,请画出你知道的线路结构,简单描述其优缺点。(仕兰微电子)

硬件工程师面试题集含答案

精品文档 硬件工程师面试题集 (DSP,嵌入式系统,电子线路,通讯,微电子,半导体) ---Real_Yamede 1、下面是一些基本的数字电路知识问题,请简要回答之。 (1) 什么是 Setup和Hold 时间? 答:Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间要求。建立时间(Setup Time)是指触发器的时钟信号上升沿到来以前,数据能够保持稳定不变的时间。输入数据信号应提前时钟上升沿(如上升沿有效)T 时间到达芯片,这个T就是建立时间通常所说的SetupTime。如不满足Setup Time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿到来时,数据才能被打入触发器。保持时间(Hold Time)是指触发器的时钟信号上升沿到来以后,数据保持稳定不变的时间。如果Hold Time 不够,数据同样不能被打入触发器。(2) 什么是竞争与冒险现象?怎样判断?如何消除? 答:在组合逻辑电路中,由于门电路的输入信号经过的通路不尽相同,所产生的延时也就会不同,从而导致到达该门的时间不一致,我们把这种现象叫做竞争。由于竞争而在电路输出端可能产生尖峰脉冲或毛刺的现象叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。 (3) 请画出用 D 触发器实现 2 倍分频的逻辑电路 答:把 D 触发器的输出端加非门接到 D 端即可,如下图所示: (4) 什么是线与逻辑,要实现它,在硬件特性上有什么具体要求? 答:线与逻辑是两个或多个输出信号相连可以实现与的功能。在硬件上,要用OC 门来实现(漏极或者集电极开路),为了防止因灌电流过大而烧坏OC 门,应在OC 门输出端接一上拉电阻(线或则是下拉电阻)。 (5) 什么是同步逻辑和异步逻辑?同步电路与异步电路有何区别? 答:同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系.电路设计可分类为同步电路设计和异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步。异步电路具有下列优点:无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性。 (7) 你知道那些常用逻辑电平?TTL 与 COMS 电平可以直接互连吗? 答:常用的电平标准,低速的有RS232、RS485、RS422、TTL、CMOS、LVTTL、LVCMOS、ECL、ECL、LVPECL 等,高速的有LVDS、GTL、PGTL、CML、HSTL、SSTL 等。 一般说来,CMOS 电平比TTL 电平有着更高的噪声容限。如果不考虑速度和性能,一般

SignalTap_ELA的FPGA在线调试技术

经验交流 EXPERIENCE EXC HAN GE Signal T apII ELA 的FPGA 在线调试技术 刘政,蒋志勇 (桂林航天工业高等专科学校电子工程系,桂林541004) 在设计基于FPGA 的电子系统时,一般需要用示波器、逻辑分析仪等外部测试设备进行输入输出信号的测试,借助测试探头把信号送到测试设备上进行观察分析。当然,前提是需要保留足够多的引脚,以便能选择信号来驱动I/O 进行测试。但是外部的测试设备在测试FPGA 系统时,常会遇到这样的情况:FPGA 的I/O 引脚数量不够丰富,PCB 布线和封装工艺复杂导致I/O 引脚引出困难,外部测试探头有影响FPGA 信号时序和完整性的可能 [1-2] 。 如果能在FP GA 内部嵌入具有外部测试设备功能的逻辑测试模块,那么以上问题就可以一一解决。Signal 2 Tap II 就是这样一种嵌入式逻辑分析器(embedded logic analyzer ),简称为Signal Tap II ELA 。它是Quart usII 软件 中集成的内部逻辑分析软件,使用它可以实时观察内部信号波形,方便用户查找设计的缺陷。 1SignalTapII E LA 的原理 S ignal T apII ELA 是Quartus 软件中第二代系统级调试 工具。将Signal T apII ELA 代码和系统逻辑代码组合交由 QuartusII 编译、综合、布局布线,生成sof 文件中内含Sign 2al T apII ELA ,把sof 文件配置到FPG A 内。FPGA 运行时, 一旦满足待测信号的触发条件,Signal T apII ELA 就立即启动,按照采样时钟的频率捕获待测信号数据并暂存于FP 2 G A 片内的RAM 中,采样数据不断刷新片内存储器,最后 通过J T A G 口将捕获的信号从片内RAM 传至Quartus II 实时显示。Signal T apII ELA 的原理流程如图1 所示。 图1 SignalT apII E LA 原理流程 实际工程中,加入Signal Tap II ELA 不会影响系统原有的逻辑功能。 2SignalTapII E LA 的配置 Signal Tap II ELA 基本配置过程[3] 如下: ①添加采样时钟。Signal Tap II ELA 在时钟的上升沿进行采样,可以使用设计系统中的任何信号作为采样时钟,根据Altera 公司的建议最好使用同步系统全局时钟作为采样时钟。但是在实际应用中,多数使用独立的采样时钟,这样能采样到被测系统中的慢速信号,或与工作时钟相关的信号。当然采样时钟的频率要大于被测信号的最高频率,否则被测信号波形会有较大误差。 ②定义采样深度。采样深度决定了待测信号采样存储的大小,而可以采样的深度是根据设计中剩余的RAM 块容量和待测信号的个数决定的。若待测信号较多,则在同样I/O Bank 个数情况下采样深度较浅。待测信号个数的增减和采样深度的深浅会直接改变RAM 块的占用情况,采样深度的范围为0~128K B 。 ③定义RAM 类型。设置占用片内何种RAM 块资源,随着采样深度的改变,RAM 块的数据线和地址线宽度可以分割成多种组合。例如:采样深度是1K B ,RAM 数据线、地址线可以分割成2×512或4×256等多种组合。依此类推。 ④定义触发位置。Pre trigger position 表示采样到的数据12%为触发前,88%为触发后;Center trigger position 表示采样的数据处于触发前后各一半;Post trigger posi 2 tion 表示采样到的数据88%为触发前,12%为触发后。 ⑤触发条件级数设置。Signal Tap II ELA 支持多触发级的触发方式,最多可支持10级触发,帮助滤除不相干的数据,更快地找到需要的数据。若有多级触发条件,首先分析第一级触发条件。若第一级为TRU E ,则转到分析第二级是否满足,直到分析完所有触发条件均为TRU E 才最终触发时钟采样数据。 ⑥触发条件。设定约束性的触发条件。可以允许单个信号的独立触发条件Basic ,直接采用单个外部或设计模块内部的信号;也可以允许多个节点信号的组合触发条 件Advanced ,构成触发函数的触发条件方程。例如:使能

相关主题
文本预览
相关文档 最新文档