Labview FPGA仿真时序

时间:2017-01-23 15:42:26

标签: simulation fpga labview

这是一个非常基本的问题。我无法在系统时间内从FPGA VI文件中模拟PWM文件。

详细

对于 NI cRIO-9067 + LabVIEW 2016 + Windows 8 系统,在 FPGA接口模式下,我有 Test VI No.1.vi NI LabVIEW文件和相应的FPGA 桌面执行节点块文件 Test VI No.1 DEN.vi 按照“使用入门”信息[1] [2]中的建议。

在这两个文件中,低脉冲高脉冲数字控件都填充了 1000 值。 循环定时器块设置为" mSec" 计数器单元和" 32位" 内部计数器的大小

在本地编译7分钟后,第一个文件的编译FPGA版本按预期执行每1秒更换一次的方波。

模拟(模拟I / O)作为执行模式下,并且为了近似地再现并通过反复试验每1秒的方波定时,我需要将值 1750 < / em>在 Clock Ticks 字段中,来自 FPGA 40MHz板载时钟参考时钟,如块选项中所示。

我不理解这个块,为什么我不应该在 Clock Ticks 字段中放置40,000,000的任何近似除数,或者简单地说,值为1.基本上我不明白如何&#34;时间&#34;这些FPGA模拟。

Image 1

Image 2

Image 3

1 个答案:

答案 0 :(得分:0)

桌面执行节点专为基于时间的模拟而设计,您肯定是在正确的轨道上。

您在顶部设置的是每次调用节点时执行的周期数。在你的情况下,你有1750个刻度,所以每次迭代的模拟时间大约为43.75us。

要实时模拟,您需要确保执行与模拟循环运行相同的模拟时间。在你的情况下,你的模拟循环没有时间,所以为什么1750适合你,因为这可能是循环执行的时间。

如果您将循环计时器设置为1ms并将时钟滴答设置为40,000(模拟时间为1ms),那么我认为您会发现它也有效。

在某些情况下,执行速度比实时更快是有益的,因此您只需在数学中考虑到这一点。例如,如果将时钟滴答设置为40(1us模拟时间),则可以计算迭代次数并乘以1us以获得实际时钟时间。