我的第三方工具抱怨SVF文件命令不受支持。为什么是这样?

当针对基于Flash的设备(例如LatticeXP,LatticeXP2或MachXO)时,通常会发生这种情况。

擦除或编程时,闪存单元不具有容易预测的最大充电/放电时间。

为了提高效率,Flash编程需要轮询以检查当前操作何时完成。

在每次擦除或编程的每一行之后,设备都能够在操作仍在进行时在TDO上发回状态。

主机应该读取此状态,并且只有在设备指示安全时才会继续。

SVF是一个线性流,没有做决策或分支的工具(即IF,ELSE等)。。认识到这一点,莱迪思已经添加了一些非标准的SVF命令来实现循环功能。。当从ispVM System为基于Flash的设备生成SVF时,默认情况下这种类型的文件将是结果。 。要与SVF严格兼容,请在生成SVF文件时指定“RevD”选项。。这会将每个延迟扩展到每个擦除/写入命令的最大理论时间。。即使Flash在此时间过去之前很久(并且通常是)就绪,但是使用标准SVF无法以这种方式与设备交互。。在这种情况下,兼容性的权衡是处理时间的增加。 。使用便携式文件格式编程Flash设备的另一种解决方案是使用STAPL文件。 。ispVM为基于Lattice Flash的设备提供STAPL文件的生成功能。 。STAPL本身支持分支结构,因此它既便携又高效。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-27 10:56:35 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它