项目场景:
在我们FPGA工程师自己对自己写的逻辑进行验证时,我们的测试数据通常来自于文本文件。今天我们组一个小伙伴就测出了一个神奇的问题,前期他自己通过调试最终总结为两个内容一样的文本数据文件,上板后现象不一样。
问题描述
是我们的逻辑有bug?还是加密软件损坏了文本文件?还是两文件根本不一样他没发现?我初步断定不是逻辑问题,还是文件有差别。
原因分析:
首先我觉得不是逻辑问题,我还是怀疑两文件哪里还是不一样,小伙伴展示给我beyond compara对比给我看内容是一样的。
我让他给我复现了可以确认确实两文件现象不一样。我先怀疑是不是有文件被公司加密软件破坏了,但是删除部分数据,少量的数据两文件测试结果是一致的。这破坏也不会就破坏那一部分吧。神奇,两文件肯定有地方不一样,用二进制格式进行对比看看。
果然有不一样的地方。赶紧显示所有字符看看。
果然回车符不正常了。软件读入文件时这一行的数肯定就不对了。
解决方案:
软件读取文本数据时是根据回车符来读取的。两个文本文件是否完全一样不能只看文字内容,隐藏的符号也要对比,这是需要用二进制格式去对比。