从一个研制的周期来看,规划所占的比重其实是很小的。往往消耗规划人员很多的时刻和精力的是仿真和调试。工程师能够经过仿真东西对自己的规划进行验证。但不同于软件,PLD的仿真究竟脱离了详细的硬件环境和事务环境,与实在的运用仍是有一段距离。特别是在板子上呈现的问题无法经过仿真复现的时分,工程师就特别需求一个在线调试的东西。
示波器是其间一种。但示波器只能观察到芯片IO上的信息,不能深化勘探信号在逻辑内部是怎么传递的。假如要勘探内部的信号,就有必要要修正规划,将内部信号引到IO上。这就增加了调试的杂乱度。并且示波器受探头数量的约束,能检测的信号有限,也不能完成杂乱的触发条件。
老练的EDA厂家都会供给PLD的在线调试东西。经过一个JTAG电缆,就能够捕获到芯片内部的信号,并且不需求工程师修正规划文件。这就大大简化了调试的流程。是深受PLD开发者喜爱的一项功用。
每一个厂家都为自己的调试东西起了不同的姓名。Xilinx的叫Chipscope,IntelPSG的是Signaltap,Lattice的东西是Reveal。这仅仅是姓名的不同。其完成的基本原理是相同的:运用PLD内部的Block RAM,当触发条件成立时,将待检测的信号写入Block RAM,经过JTAG I/F读取并显示出来。在完成的详细细节上,各个厂家略有不同。对此咱们没有必要断定哪个更好,这与规划这款软件的工程师的脑回路有关。当然假如你有更好的主张,能够经过代理商或原厂的途径反应。一个负责任的公司会仔细考虑用户的需求的。
咱们在运用在线调试东西的时分,有一个重要的概念要清楚:在线调试东西选用的是同步采样。依据香农定理(也有叫奈奎斯特定理的),对模拟信号的收集,采样频率至少要2倍于待采信号才干精确的康复信号的原貌。对数字信号,这个采样频率的要求会更高。用过示波器的都知道,示波器的采样频率一般至少是输入信号频率的10倍以上。
同步采样要求待检测的信号有必要是在采样时钟域下的信号,或许采样时钟频率是待采信号的10倍以上。假如不能满意这个要求,你经过在线调试东西看到的信号就会与实践的信号有比较大的差错。
下面这个比如,我用120MHz的采样时钟去抓取一个44.33MHz改变的信号。信号本来的占空比是50%。实践上看到的信号,占空比是改变的。
假如要收集的信号分归于不同的时钟域,咱们就需求在东西中创立不同的在线调试模块。