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

Vivado高效设计案例分享大赛---7. XPS去哪儿了

Vivado高效设计案例分享大赛---7. XPS去哪儿了

很多曾经用过ISE套件做过嵌入式系统设计的网友会好奇地问,SDK还在,可是它的小伙伴XPS去哪儿了?                曾经我们需要使用XPS定制硬件系统,例如一个基于MicroBlaze的系统,我们需要使用XPS来完成处理器和外设的配置,然后在SDK上面进行软件开发。这之间的步骤稍显繁琐:至少要用到ISE,XPS和SDK三个软件来完成开发,如果涉及到XPS与ISE直接的IP调用,则修改硬件配置的话需要在ISE和XPS直接进行多次打开、保存、切换等操作。                在Vivado套件中,对上面的流程进行了改进:除了C/C++和嵌入式操作系统的操作需要仍然需要在SDK中进行的话(这也就是SDK还存在的原因。。。),ISE、XPS中与嵌入式开发相关的部分都被高度集成了:那就是Vivado IP Integrator.                Vivado IP Integrator是为了应对越来复杂的IP设计而推出的集成化设计工具,它既支持完全图形化的设计方法,也可以使用完全定制的脚本化设计方法,在含有多个复杂的IP的系统中,可以很快捷地进行IP直接的组合与互联。说这么多,那它和XPS有什么关系?其实,原来XPS完成的工作,已经全部可以由Vivado IP Integrator来完成了;在Vivado IP Integrator眼中,所有可以被打包调用的,不管是软核、硬核、现有IP核,还是用户自己的设计生成的IP,都可以被Vivado IP Integrator进行调用,并自动进行互联,在图形话设计界面中,我们只要在Vivado开发环境中,把所有的IP核拖到一起,然后进行手动连线或者自动连线就可以了。在基于ZYNQ SOC的开发中,这种方法是非常高效的:我们只要创建一个包含PS的IP,然后拖入其它基于PL的IP核,然后直接连线就完成了:不需要去手动编写它们之间的总线通信了。下面我们就图示一下这些步骤是多么的容易。打开Vivado套件,选择新建一个RTL工程;然后我们创建一个模块化设计文件(.bd),如图1所示。[[wysiwyg_imageupload:1069:]]图1  创建模块式设计然后向工程中开始添加IP核。首先添加一个PS的核,如图2所示;PS具体配置的过程可以参考http://xilinx.eetrend.com/blog/4669。[[wysiwyg_imageupload:1070:]]图2 添加PS的IP从图2 中的IP列表我们也可以看出,不管是ARM PS,普通的AXI IP,模拟的XADC还是以往的MicroBlaze,都可以做为一个IP被统一的调用,这种高度的集成化是前所未有的。然后我们在图2中的Diagram选项卡下面中的空白处点击右键,然后点击Add  IP,添加几个别的IP,如图3所示。[[wysiwyg_imageupload:1071:]]图3 添加其它IP此时观察图3,右上角已经出现了两个自动化向导:一个负责自动连线,一个可以进行模块设计的自动化,就是说生成所有必须的文件,例如IP调用、约束文件、仿真文件;根据我们的需要,我们也可以直接在对应的端口上点击一下,进行手动连线。完成连线之后,进行设计的验证;因为系统无法知道我们所有的设计意图,所以难免要把一些端口进行手动连接,此时难免产生一些接口上的不匹配,此时Vivado IP Integrator会告诉我们接口设计没有满足规范,如图4所示。[[wysiwyg_imageupload:1072:]]图4 验证设计这一点是很有用的,在设计的初始阶段就避免了潜在的一些问题。例如图4中的逻辑问题,如果我们自己编写IP调用的话,很可能忽视了端口信号是高有效还是低有效的问题,如果设置和默认值不一样的话,就会造成隐含的问题,可能要一直等待仿真阶段才有可能发现:在使用Vivado IP Integrator的情况下,这些隐含的bug在设计之处就被消除了。完成了Vivado IP Integrator的基本配置之后,硬件部分的配置以及和PS对IP的调用已经完成了,接下来我们就可以生成硬件配置文件导入SDK进行嵌入式软件的设计了,步骤请参考http://xilinx.eetrend.com/blog/4669http://xilinx.eetrend.com/blog/4680http://xilinx.eetrend.com/blog/4685http://xilinx.eetrend.com/blog/4801
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表