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

Vivado高效设计案例分享大赛---1. 实现一个PI调节器

Vivado高效设计案例分享大赛---1. 实现一个PI调节器

PI调节器在控制系统是重要而且必不可少的环节,在PLL等对象的设计中也要用到。为了实现更好的性能,需要有很高的系统带宽,而可以显著提高带宽的方法就是提高采样频率和减小计算延迟,使用FPGA进行处理是非常合适的。特别是在Xilinx的ZYNQ SOC器件上,把PI调节器这样需要高计算性能的环节放在PL中处理,而把其它运行较慢的部分放在PS中,可以实现资源配置和性能的最优化。“好马配好鞍”,全新的器件也需要全更高效的设计方法和全新的综合、布局布线算法来处理这样复杂的逻辑,Vivado套件具备了超越可编程逻辑、实现可编程系统集成等功能,为我们方便地实现这样一种应用对象提供了强大支持。                这里使用了最新的Vivado2013.3套件进行开发,开发板则是安富利推出的MicroZed,关于此板的信息在我们社区里有详细的说明和测评。因为ZYNQ器件要先启动PS,然后再启动PL,所以在新建工程之后,首先要添加PS部分到设计中;这一过程只需要把PS当作一个IP核添加到系统中就可以了,相比原来需要在XPS中配置再导入PlanAhead的过程要简化了许多操作步骤,配置时间更是大大缩短了,这也是Vivado套件高度集成开发的优势之一。建立工程和添加PS做为IP的具体过程就不再重复了,在http://xilinx.eetrend.com/blog/4663http://xilinx.eetrend.com/blog/4669中有详细的步骤。                然后在设计中输入PI调节器的代码,这里采用Verilog HDL进行编写,就其原理来说并不复杂,主要是把z域里的表达式以16位定点乘法、加法和必要的逻辑判断、限幅结合起来。Vivado套件的设计则是极为用户友好的,如图1所示。[[wysiwyg_imageupload:982:]]图1 Vivado开发环境                哪怕是一个没有使用过Vivado套件的新手,只要了解FPGA开发的基本流程,就可以很快上手Vivado了。图1左侧为设计流程导航器,很清楚的表明了开发的各个步骤。在新建工程之后,我们在Project Manager里可以方便、快捷地更改项目配置、添加新文件;如果需要添加IP,也无需像以前一样新建IP调用文件,然后编译半天,而是可以直接选择并创建,几乎不会再体验到编译xco文件的漫长过程了,例如我只用不到一分钟就完成了对于PS中CPU0的调用。设计文件输入完毕之后,紧接着就是仿真的设置和运行,结果也是直接显示在Vivado套件中,并且仿真速度非常快,并不像以前一样调用ISIM然后再启动、运行花费一些时间了;剩下的步骤包括综合、布局布线等则和传统的ISE菜单看起来类似,但是整个运行的时间和需要点击的步骤则是减小了很多;如果需要调用管脚分配、bit流烧写等,其速度也比启动外部的程序然后运行再返回减小了许多。                最后,给出一下RTL图,要知道不考虑输入PI调节器代码的时间,从新建工程到生成比特流文件,前后十几分钟就把这个复杂设计搞定了。如果你没用过Vivado,赶紧用起来吧,很快就能上升了;如果在用ISE开发7系列产品,也来体验一下Vivado的高效吧。                                                                                 [[wysiwyg_imageupload:983:]]                                                                                                                                             
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表