如何将HDL文件实例化到XPS中
本文转载自:http://xilinx.eetrend.com/blog/7073
硬件平台:ZedBoard
开发环境:XPS + ISE
操作系统:WinXP SP3
一直说要研究官方的例子XAP792,也确实在断断续续地学习着,现在硬件基本搞明白了,在公司也已经做出了测试画面。在搭建硬件平台的时候碰到了一些问题,本文要探讨的是这些问题当中比较重要的一个:如何在XPS中调用HDL语言编写的模块。
在网上搜索“XPS ISE 协同工作”相关资料的时候,搜到过这样的说法:
------------------------------------------------------------------------------------------
为了和ise协同工作,edk和ise也是有两种结合方式:
(1) ise中添加处理器,处理器结构部分会自动在xps中运行配置,此时fpga作为顶层模块。
(2) 输出edk设计到ise。当在xps中产生网表和比特流后,可以运用命令project options,选择export to project navigator.生成一个 system.ise 工程。注意有两个文件.bit和system.bmm文件。此时,需要在ise软件中重新打开工程,然后综合布局布线生成.bit硬件文件和.bmm文件,然后再下载到fpga。而elf不变下载到fpga。下载时,可以在ise中,把.bit和system_bd.bmm硬件部分下载以及把elf软件比特下载到fpga中即可。也可以在xps中下载硬件,此时只需利用命令xps菜单中的
import from project navigator 把两个文件复制一下到implention文件夹下即可。
------------------------------------------------------------------------------------------
可能是由于版本更新的问题,我在14.2版本的XPS和ISE中不知道怎么实现上述两种操作,最终是这样完成设计的:
step1:在ISE中设计所需要的逻辑模块;
step2:利用XPS的IP核向导,将ISE所做的设计导入到XPS,生成一个新的IP核;
step3:添加该IP核,和其他模块组合,完成硬件平台的搭建。
下面给一个例子吧,还是以VGA画面测试为例,这次和以往不同的是设计逻辑时使用了参数,通过改变参数改变模块的输出,避免了修改HDL代码的弊端。这也做也是有原因的:ISE设计完毕并导入至XPS之后,再修改HDL代码的时候,XPS检测不到相应的改动。有同病相怜的网友在网上提问得到这样的回答:“用户自定义ip核最好在wizards里面修改,因为会涉及到很多配置文件,你可能没有修改完全。”这个问题我还没有深入研究,明天弄个带DVI接口的显示器回来之后再搞XAP792,应该还要面对这个问题,到时候再摸索解决办法。
以前都是使用PlanAhead搭建整个硬件平台,但是由于实质性的工作还是由XPS完成,所以,我就抛弃了PlanAhead,最近一直在用XPS搭硬件,完了导出至SDK就可以了。
ISE部分:
这一部分我就不多说了,前面已经给过一个利用PL实现简单VGA测试的教程了,操作是一样的。ISE主要是用来验证所设计的模块是否存在逻辑错误和语法、语义错误。下文我直接拿一个验证无误的vtc.v做示例。
XPS部分:
其实操作方法和使用PlanAhead调用XPS是一样的,由于是第一次这样做,仍然记录一次详细的操作流程。
1、新建工程
1.1、打开XPS:弹出下图所示的引导画面:
1.2、"the Base System Builder wizard " 创建一个新的XPS工程:点击上图红色方框中的新建工程连接,弹出下图所示的对话框:
1.3、设置工程文件的保存路径,完毕后点击OK,进入下一步:
1.4、选择开发板,完了点击Next,弹出的是外设配置界面,如下图所示:
这里我们没有用到开关或是LED,所以把两个都删掉:选中之后,点击Remove即可,设置完毕后点击Finish,出现下图所示的画面:表示正在生成各种工程文件。
1.5、接下来就来到了无比熟悉的界面:
至此,工程建立完成。
2、导入逻辑模块
2.1、菜单Hardware,选择Create or Import Peripheral
弹出新建/导入外设向导,如下图所示:
2.2、都是一些描述信息,没太大用,直接Next,这里要选择新建还是导入,我这里选择导入,如下图所示:
2.3、接下来要选择外设的存储路径,为了方便起见,我选择存储在XPS的工程文件夹内。点击Next,进入下一步。
2.4、为IP命名,注意IP的名称最好和顶层模块的名称相同,向导是这么提示的。
2.5、选择文件类型:一般默认选择HDL就可以了。
2.6、选择在下一步指定HDL文件。
2.7、点击Add Files,找到需要被导入的HDL文件,我这里是vtc.v
找到vtc.v后,点击打开,或者双击,返回。核对一下信息,如果正确,点击Next进入下一步:
2.8、选择总线类型,由于我做的这个是总线无关的纯逻辑模块,所以要去掉“Select Bus Interface”前面的√,如下图所示。点击Next,进入下一步。
2.9、配置中断:这里没有用到,所以去掉“”前面的√,如下图所示。点击Next,进入下一步。
2.10、初始化参数:
我的所有参数都有默认值,所以这里不需要再次赋值,直接Next
2.11、配置IO ports:看一下提示自己操作就好了,这里我没有任何操作,没有设置默认连接等,对端口的操作在XPS中完成。直接进入下一步。
2.12、终于完了:看到IP信息汇总页面了,点击Finish就可以了。
到XPS的IP Catalog下查看一下,发现vtc已经被做成一个IP了:
下面我就不多说了,一般而言还需要看情况修改IP的MPD文件,修改MPD文件之后再将IP添加到系统中进行模块间的连接。
来源:cuter的博客
如何将HDL文件实例化到XPS中的更多相关文章
- 转载.怎样在Quartus II中转化HDL文件为bsf文件?
步骤1 新建或打开Quartus II工程,用QII自带文本编辑器打开HDL文件. 图1 用QII自带的文本编辑器打开HDL文件 步骤2 选择File>Create / Update>Cr ...
- java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
(转自:http://blog.csdn.net/gangwazi0525/article/details/7569701) import java.io.File; public class Rea ...
- 【Python】自动生成html文件查看指定目录中的所有图片
获取本目录下的pic子目录中的所有图片(jpg,png,bmp,gif等,此处以jpg文件为例),然后生成一个image.html文件,打开该html文件即可在浏览器中查看pic子目录中的所有图片. ...
- MWeb 1.4 新功能介绍一:引入文件夹到 MWeb 中管理,支持 Octpress、Jekyll 等静态博客拖拽插入图片和实时预览
之前在 MWeb 中打开非文档库中的 Markdown 文档,如果文档中有引用到本机图片,是没办法在 MWeb 中显示出来和预览的.这是因为 Apple 规定在 Mac App Store(MAS) ...
- X-UniTMX:导入大型Tiled地图文件(*.tmx)到Unity3d中比较好的插件
因工作原因,需要导入格子数为1200x1200的Tiled地图文件(*.tmx)到Unity3d中显示出来.尝试过一些其它插件,后面发现X-UniTMX是比较好用的. X-UniTMXhttp://f ...
- Innosetup中将bat文件压缩到压缩包中
有时候在安装的过程中需要调用某些文件(bat或者exe等文件),但是只需要使用一次,然后就可以删掉该文件, 在Innosetup中应该这样操作: 1.在.iss脚本的[Files]章节写下: So ...
- WPF: 读取XPS文件或将word、txt文件转化为XPS文件
读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow" xm ...
- Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键 批量修改文件名等
http://blog.sina.com.cn/s/blog_62e7fe670101dg9d.html linux下二进制文件查找: strings 0000.ts | grep -o " ...
- WFP: 读取XPS文件或将word、txt文件转化为XPS文件
读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow" ...
随机推荐
- iOS (UIButton封装)仿糯米首页缩放“按钮”效果
前言 过年期间,少不了各种聚会,当下聚会大多数情况下自然是团购,然后就是用各种APP...使用度娘糯米时(不是广告,不是广告,不是广告!),偶然注意到了它的首页中一个有意思的效果,就是那些“按钮”点击 ...
- WinServer 之 访问同网段服务器 或 同一服务器多虚拟机间的访问
今天在发布网站时遇到不能访问同网段数据库服务器.具体情况为:web服务端部署在192.168.10.1下,而数据库服务端部署在192.168.10.2下,数据库连接直接配置为192.168.10.2会 ...
- structs 2 学习总结(一)
转发请注明出处 1.页面传值. 传值 前台 <s:form action="login1">//action 名字 需要在structs配置 用户<s:tex ...
- SpringMVC上传(通过物理路径)
内容来源:http://blog.csdn.net/kouwoo/article/details/40507565 一.配置文件:SpringMVC 用的是 的MultipartFile来进行文件上传 ...
- 【鬼脸原创】github搭建动态网站
a{ color:blue; font-weight:bold; } #cnblogs_post_body ol li { list-style-type: cjk-ideographic; } p[ ...
- 【开源项目11】组件间通信利器EventBus
概述及基本概念 **EventBus**是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间.组件与后台线程间 的通信.比如请求网络,等网络返回时通过Han ...
- UIImage的简单用法和实际操作
png,pdf不需要添加后缀名 jpg添加后缀名 存储 UIImagejpg contentMode属性 这个属性是用来设置图片的显示方式,如居中.居右,是否缩放等,有以下几个常量可供设定: UIVi ...
- Java学习笔记——单例设计模式Singleton
单例设计模式:singleton 解决的问题: 确保程序在运行过程中,某个类的实例instance只有一份. 特点: 1 构造函数私有化 2 自己内部声明自己 3 提供一个public方法,负责实例化 ...
- (转)内网网站发布到外网-nat123动态公网IP动态域名解析
环境描述: 路由器分配的是动态公网IP,且有路由器登录管理权限,网站服务器部署在路由器内部网络.如何将内网网站发布到外网大众访问? 解决方案: 内网使用nat123动态域名解析,将域名实时固定解析到路 ...
- 改成 否“依然报LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”问题的解决
LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 . 这个bug说实话,还是挺让人蛋疼的!!! 问题发生原因: 我这里能跑2013+opencv24 ...