首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Vivado高效设计案例分享大赛---20..对比一段运算密集的算法

Vivado高效设计案例分享大赛---20..对比一段运算密集的算法

为了测试一下Vivado的高效,今天用一段中压变频器里很复杂的消除谐波PWM算法进行测试,整个程序全部加起来不算回车和注释大概有1800行Verilog HDL,主要的操作是大量的一次到三次的插值和一部分判断语句,为了保证实现的实时性,必须以很高的计算频率来实现,在DSP里实现时很占资源,所以FPGA是必选。这里使用的软件分别是ISE/PlanAhead14.7和Vivado2013.4,使用的硬件开发板是ZYNQ的ZC706开发板;整个算法都在ZYNQ的PL里面实现(参数和结果传递是PS发给PL的),PL在这里的作用相当于一个硬件的算法加速器。对比的主要参数,一个是RTL生成/综合/实现所花费的总时间(都使用默认策略),一个是器件的利用率。1. 总时间花费的对比:       ISE大概是26分钟,Vivado是12分钟,节省了50%还要多。       其中Vivado的综合阶段只花了2分36秒,而XST用了将近6分钟。       当Vivado已经完成全部实现结果时,ISE还没有开始布局布线阶段。2. 器件资源的占用率对比:Vivado:[[wysiwyg_imageupload:1319:]]ISE:[[wysiwyg_imageupload:1320:]]从结果的对比来看,Vivado使用的LUT要稍微多一些(多了LUT总数的2%),但是使用的DSP48E则只有接近ISE的一半左右,看来与它们内部的具体实现算法还有关系。一般情况下,我们都会为PL部分留有一定的资源裕量,所以资源使用率的微小差别并不明细。在复杂设计的情况下,仅就综合与实现的效率来说,显然Vivado技高一筹,更不用说使用集成化的设计思想时在开发阶段所带来的提高了。
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表