如要使用数据流模型执行代码,labview将同步fpga上的逻辑。默认情况下,labview fpga在程序框图的逻辑函数间放置一个寄存器,以最大化每个操作执行所需的传播时间。
传播延时是指信号由一个寄存器传播至下一个寄存器所需的时间。组合路径是信号由一个寄存器经另一个寄存器的逻辑和接线的集合。
由于每个时钟周期均更新寄存器内容,因此传播延时必须小于时钟周期。传播延时由两部分组成:逻辑延时和连线延时。逻辑延时是信号经过的逻辑门数量和类型的函数,通常表示传播延时中最重要的组件。连线延时是信号通过的连线路径的函数,其通常很小。因为fpga编译器尝试尽可能紧密的集合组合路径的组件。但当fpga vi达到fpga的容量限制时,函数间的物理间隔将增加。同时连线延时将成为两个寄存器间总体传播延时的主要组成部分。如两个寄存器间的传播延时大于fpga时钟速率,fpga编译器将返回定时错误。该定时错误称为时间限制或周期限制冲突。
注: 给定函数的逻辑延时随终端变化。连线延时在每次fpga vi编译时均发生变化。
labview fpga模块专用于生成可在单周期定时循环外部以至少40 mhz的时钟速率运行的电路。40 mhz时钟速率对应的是25 ns的时钟周期。为了避免2个寄存器间的传播延时超出25 ns,多数labview函数均包含一个输出寄存器,因此需要一个完整的时钟执行周期。如2个寄存器间的传播延时超出了25 ns,fpga vi无法在40 mhz默认的时钟速率完成编译。
例如,假设函数a需要6 ns的逻辑延时,函数b需要14 ns的逻辑延时。如顺序连线函数a和b,而不在函数间添加寄存器。整体逻辑延时为20 ns。如要在40 mhz的默认时钟速率下完成编译,连线延时只能为5 ns。根据fpga编译器在函数间的连线方式,连线延时可能超出或不超出5 ns。如下列场景和1和2所示。
在场景1中,设计满足40 mhz的定时限制。在场景2中,设计不满足40 mhz的时钟限制。当用户尝试编译fpga vi时将产生定时冲突错误。相比之下场景3中,2个函数之间添加了寄存器。添加寄存器后将产生2个独立的传播延时。即使连线路径较长,2个传播延时均可实现在40 mhz内完成编译。
当函数位于单周期定时循环外时,fpga编译器将在函数的逻辑级间均匀放置寄存器,以将逻辑划分为可在默认fpga时钟速率内执行的部分。如函数包含运行在fpga上的内部寄存器(例如,存储器方法节点),函数的执行时间周期数量与函数寄存器数量相等。
如在同一时钟速率下,需要以较小的延时执行逻辑可使用单周期定时循环。如在单周期定时循环内放置函数,编译器不会包含用于该函数的输出寄存器,因此单周期定时循环可在一个时钟周期内完成。某些函数(例如窗函数缩放或fft express vi),即使当其位于单周期定时循环内部时,也需要多个时钟执行周期。握手机制可用于管理上述函数的数据定时。
如单周期定时循环内的传播延时大于时钟周期,定时冲突分析窗口将指出未能满足定时要求的单周期定时循环。在某些情况下,可使用反馈节点或移位寄存器缩短组合路径的长度,以实现流水线设计。
注: 如在单周期定时循环内使用高吞吐率数学函数,用户可添加内部寄存器缩短函数间的组合路径长度。
大型fpga应用的资源考虑
每个fpga终端包含一定数量的触发器。由于寄存器使用触发器,用于fpga vi的寄存器数量和类型将决定fpga vi是否能够满足fpga终端的需求。通常寄存器使用的触发器数量与数据类型宽度相对应。例如,布尔寄存器仅需要一个触发器来存储数据,而一个i64寄存器需要使用64个寄存器来存储数据。
对于多数用户来说,fpga上有限的触发器数量并不是问题。但如fpga上的资源耗尽,则需要优化fpga vi的大小。
浅谈SEW存储卡的数据保存及备份注意事项
在线式ups的结构和特点
神级文件管家 轻松整合阿里云盘和百度网盘
普华基础软件与首信科技签署战略合作协议
关于EUV光刻技术的分析和应用
LabVIEW FPGA模块在时钟电路的运用
SOUTHWEST西南微波SSBP多同轴触点的产品特征
黑芝麻智能完成车规级自动驾驶芯片设计关键技术项目签约
智慧污水处理厂Web3D运营监控系统
AR和VR得益于Vuzix和索尼等公司,使得全球市场正在迅速增长
光学封装公司Fabrine最近一个财季业绩超出预期
用振动法监测变压器铁心状况时加速度传感器的位置选择
Waymo今日在美国推出自动驾驶汽车商业化服务
PCB表面贴装电源器件的散热设计
哪个蓝牙耳机牌子好
曼谷小松有限公司荣获“2023年度戴明奖”
4G网络中的典型关键技术
一飞智控无人机集群表演创造吉尼斯世界纪录
高德地图推出“新冠疫苗接种点地图”
增强现实将改变汽车和制造业公司的各种短缺和困难