以下是安富利的评委给出的解释,望理解: (感觉到评委还是很认真的)
1. 赛前语言会议中我明确提问了数据包从PS传输到PL端的时间是否计入PL计算时间,当时评委当场给出答案是:不计入。VVZVV没有弄清题目要求。
当时回答不计入,因为计入则需要DMA,
DMA的性能又与数据包的大小相关,如果限制数据包的长度,则设定具体的数据包规范,这个题目相当复杂了,竞赛的目的是希望参赛者在有限的时间内走完流程,体会到Zynq开发的乐趣。在评分中,不管计入还是不计入都没有考虑这个因素。
2. VVZVV的128组数据是在PL端自己生成的,严重违反了题目二中第二条规则。
我也认为VVZVV的做法与规则有一点点冲突,画蛇添足,但是,他在添足之前毕竟画了一条蛇。而且他还有一个解释,“实际情况中不会有人把接收到的数据从上层软件再传回底层硬件计算CRC校验吧?一般都是硬件完成CRC校验之后把数据传给上层软件”,假设一个场景,Zynq的Ethernet接口在PL,一种处理方式是在PL上完成CRC,另一种方式把数据传输给PS,在PS上完成CRC,那么在PL上完成CRC也算是加速。所以,如果因为这一点而扣VVZVV的分,VVZVV可能也有看法。
VVZVV还有一个非常好的地方,硬件加速未必能加速,因为真实的设计一定考虑数据传输时间,尽管这儿没有做要求。VVZVV的9359250ns,尽管这个数据不佳,它体现了真实的设计过程。
3.大家都知道数字电路实现CRC校验一个时钟周期完成一组,VVZVV的128组数据用了1920240ns,评委们也觉得正常吗?
这两个人的数据格式不同,测试过程不一样,计时标准不一样,如果以加速比例来判断谁的性能更胜一筹,谁的算法更加精妙,不是看看论坛上的帖子就能做到的,毕竟不是大学里面的设计竞赛。
结论:两个人都完成了,做的都还很不错,但是一等奖只有一个.比较而言, VVZVV做得数据更详细,过程更清楚。
|