完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我自己的实验已经涉及到使用BD文件已经涉及Virtex-5和7_series设备,所以请接受当我将这些信息与您联系时,我实际上没有为Spartan-6设备使用EBD文件。
EDB文件是一个易于打开和阅读的文本文件。 在描述性标题之后,每一行将配置的一个WORD描述为BITS。 在Spartan-6的情况下,每个WORD都是16位,因此每行有16个字符。 MSB在左侧,LSB在右侧。 Spartan-6器件中的0型配置帧每个由65个字组成,因此每65行描述一帧中的1,040位。 每个65的第一行是帧的第一个字(WD = 0),每个65的最后一行是帧的最后一个字(WD = 40 hex)。 SEM IP根据其帧,字和位识别位位置,因此我们几乎就在那里。 根据“线性帧地址”(LA)使用SEM IP。 第一个线性帧地址是LA = 0,然后LA递增到设备中的最后一帧,这是尽可能容易的。 EBD文件遵循相同的线性序列,因此每65行代表下一个线性帧的开始。 您唯一需要知道的是在图像的开头有一个“虚拟帧”,因此您需要在到达LA = 0的开始之前忽略第一帧(65行)。 听起来很奇怪,但它实际上与从物理设备读取帧的回读一致,该物理设备以回读机制的延迟引起的“虚拟帧”开始。 EBD文件中的每个位都会告诉您设备中的相应位是否为非必要('0'),这意味着它与您的设计无关或必不可少('1'),这意味着它与您的设计有关或可能 如果翻转,会以某种方式影响它。 请注意,标识的配置单元的实际值可能具有值“0”或“1”,具体取决于它在您的设计中定义的内容,您可以在EBC文件的相应位中看到此值。 可以公平地说,你必须认真地想要并且需要以这种方式注入错误,以便尝试应用所有这些。 我只能重申,通过使用随机注入和简单记录统计数据,我找到了相对简单的模拟SEU的方法。 Ken Chapman英国Xilinx主要工程师 在原帖中查看解决方案 |
|
|
|
最低级别的位映射被认为是适当的信息,Xilinx不提供工具信息来促进每个配置单元的特定交叉引用。
虽然在执行诸如错误注入之类的事情时,这些信息可能具有某些有限的价值,但对于试图非法逆向工程或篡改设计的错误类型的人来说,这将是非常有用的。 因此,工程设计是多种因素的妥协。 根据我使用错误注入的实际经验,我发现在尝试识别特定位时没有任何价值。 在大多数情况下,我使用随机注入来模拟真实的SEU并以这种方式得出关于我的设计的统计行为。 几十万个随机注射告诉我几乎所有我需要知道的事情。 为了避免浪费时间注入与我的设计无关的单元格,我已经知道可以使用可以与配置映像(BIT文件)同时生成的Essential Bits数据文件(EBD)。 这至少可以识别作为设计一部分的所有位(或可能影响设计的位),并排除永远不会产生任何影响的位(通常只使用20%到40%的位)。 在一些非常特殊的情况下,我想在某些电路中注入错误而不是其他电路。 例如,我可能正在测试TMR实现,并且只想在一个模块中注入错误,以便测试TMR方案是否正常工作(无论如何,完整测试应该是随机的)。 为此,我使用'优先级基本位'流程,它将生成一个EDB文件,该文件仅识别与设计的已识别部分相关联的位(或可能影响该部分设计的位)。 这是使用Xilinx提供的工具可以实现的最小粒度的定向错误注入,但我坚信,根据我自己使用它的经验,这是绰绰有余的。 Ken Chapman英国Xilinx主要工程师 |
|
|
|
|
|
|
|
我自己的实验已经涉及到使用BD文件已经涉及Virtex-5和7_series设备,所以请接受当我将这些信息与您联系时,我实际上没有为Spartan-6设备使用EBD文件。
EDB文件是一个易于打开和阅读的文本文件。 在描述性标题之后,每一行将配置的一个WORD描述为BITS。 在Spartan-6的情况下,每个WORD都是16位,因此每行有16个字符。 MSB在左侧,LSB在右侧。 Spartan-6器件中的0型配置帧每个由65个字组成,因此每65行描述一帧中的1,040位。 每个65的第一行是帧的第一个字(WD = 0),每个65的最后一行是帧的最后一个字(WD = 40 hex)。 SEM IP根据其帧,字和位识别位位置,因此我们几乎就在那里。 根据“线性帧地址”(LA)使用SEM IP。 第一个线性帧地址是LA = 0,然后LA递增到设备中的最后一帧,这是尽可能容易的。 EBD文件遵循相同的线性序列,因此每65行代表下一个线性帧的开始。 您唯一需要知道的是在图像的开头有一个“虚拟帧”,因此您需要在到达LA = 0的开始之前忽略第一帧(65行)。 听起来很奇怪,但它实际上与从物理设备读取帧的回读一致,该物理设备以回读机制的延迟引起的“虚拟帧”开始。 EBD文件中的每个位都会告诉您设备中的相应位是否为非必要('0'),这意味着它与您的设计无关或必不可少('1'),这意味着它与您的设计有关或可能 如果翻转,会以某种方式影响它。 请注意,标识的配置单元的实际值可能具有值“0”或“1”,具体取决于它在您的设计中定义的内容,您可以在EBC文件的相应位中看到此值。 可以公平地说,你必须认真地想要并且需要以这种方式注入错误,以便尝试应用所有这些。 我只能重申,通过使用随机注入和简单记录统计数据,我找到了相对简单的模拟SEU的方法。 Ken Chapman英国Xilinx主要工程师 |
|
|
|
|
|
|
|
有没有办法在Vivado中使用'优先级基本位'流程?
XAPP538描述了ISE的过程,但是对于Vivado,使用了不同的格式/命令。 特别是,为了使EBD文件只有优先级位,这些选项必须在ISE中使用: -g essentialbits:yes -g essentialbitsfilter:{none | mask | enable} -g essentialbitsfilterfile: 第一个可以翻译成 set_property BITSTREAM.SEU.ESSENTIALBITS YES [current_design] 在约束文件中 这种方式似乎可以通过这种方式进行翻译(虽然价值不同): set_property BITSTREAM.SEU.ESSENTIALBITSFILTER CLASSIFY [current_design] 但是第三个呢? 另外,如何获取需要在第三个选项中指定的日志文件? 提前致谢。 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
2360 浏览 7 评论
2779 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2247 浏览 9 评论
3324 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2411 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
725浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
520浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
330浏览 1评论
734浏览 0评论
1933浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 10:33 , Processed in 1.723274 second(s), Total 103, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号