【OpenHW参赛手记】System Generator 与XPS连接的方法

简介:

由于项目需要用到DSP算法实现,考虑用System Generator辅助设计算法,但在参赛赠送的书里没有相关知识,需要自己动手摸索。

还好在Matlab Simulink 内包含库XilinxBlocksets里右键发现了帮助文档,进入之后了解了怎么用Xilinx器件来完成算法设计,并生成网表。最重要的器件应该是Gatewayin和gatewayout,将matlab内的模块与Xilinx模块隔离,实现数位精度变换。这两个元件相当于input和output,在生成实例的时候可以看到。

 

看了帮助文档后,做个实验,只用PL部分,不用PS部分,用ProjectNavigator新建一个工程,添加一个SysGen模块,里面什么都不用做,直接将Gatewayin连接到Gatewayout,位数设为8bit,无小数部分。然后新建顶层verilog模块,生成一个SysGen的实例(有模板可用),将输入通过UCF约束到电路板的SW,输出约束到LED,生成.bit,下载到PL上,很容易就成功实现了。

在此基础上,再次进入matlab,在Gatewayin和Gatewayout之间加入一个移位器模块,设为左移,重新生成.bit下载,也成功了。

 

单独的DSP模块显然功能很有限,必须要和双核ARM9连接起来才有价值。

新建planahead工程,参考懒兔子的自定义IP部分,生成mygpio模块,然后连接到AXI总线,这时不要连接到外部引脚,而是连接到顶层模块的内部信号线。

在planahead里面,新建SysGen模块,搭建自己的算法,生成模块,回到planahead。

之前的内部信号线连接到SysGen模块的输入。

还是像懒兔子一样导出软件工程,开发方法没有差别。下载.bit文件配置PL部分,然后运行程序。

这时就可以发现,你通过串口写到slave寄存器里的值,通过SysGen模块的处理,就能迅速反馈给你。这就说明,通过planahead顶层模块可以实现SysGen和XPS的互联,属于系统互联,这里涉及到两个系统,一个是DSP子系统,一个是PS子系统,二者都在planahead顶层模块被实例化,然后用信号线互联。

这是最近两天的摸索,算法实现总算有了点眉目。

另外看到在SysGen里面支持AXI4总线,而且可以导出为XPS工程,还有待进一步研究,找到更紧密的连接方式,这样可以进一步提高数据在DSP模块和XPS之间的传输效率。如果大家有什么好的建议,请不要吝啬及时告诉我一声~~~~

 

时间真是快,还有很多值得去研究的内容,包括GAL均衡算法优化,多种算法(LMS,RLS,基于小波的。。。)性能对比,盲均衡技术实现(CMA,DF)等。。。除了算法实现外还有信号类型分析(DRM,DTV,GSM,4G),时不我与,不再多说,回去继续埋头学习。。。

目录
相关文章
|
17天前
|
数据采集 数据库
System Generator学习——时间和资源分析
System Generator学习——时间和资源分析
21 3
|
17天前
|
算法 C++
System Generator学习——将代码导入System Generator(三)
System Generator学习——将代码导入System Generator
21 2
|
17天前
|
C++
System Generator学习——将代码导入System Generator(一)
System Generator学习——将代码导入System Generator
17 1
|
17天前
System Generator学习——将代码导入System Generator(二)
System Generator学习——将代码导入System Generator
15 1
|
6月前
|
SQL XML JSON
使用 Data Assistant 快速创建测试数据集
Data Assistant 提供超过 100 种数据类型,为任何开发、测试或演示目的生成大量、异构、真实的数据。
32 0
使用 Data Assistant 快速创建测试数据集
|
机器人
Robot Framework(14)- Variables 表的详细使用和具体例子
Robot Framework(14)- Variables 表的详细使用和具体例子
205 0
Robot Framework(14)- Variables 表的详细使用和具体例子
|
算法 API 项目管理
项目管理控件Aspose.Tasks for .NET v19.7发布上线!附下载
  Aspose.Tasks for .NET是一个可靠的项目管理API,用于处理Microsoft Project文件。支持读取,写入和操作Microsoft Project文档,而不依赖于任何Microsoft Project。此外,API公开项目数据以提供完整的项目规划,定义和跟踪功能。   Aspose.Tasks for .NET展示了项目数据,如任务,资源,资源分配和扩展属性数据,以便开发人员可以操作它们。用户可以通过创建和读取任务和资源来完全规划项目,并为任务分配或删除资源。用户可以操纵任务约束,优先级,关键和工作驱动的任务,停止或恢复任务和拆分任务,管理扩展属性,链接任务并将
126 0
|
Web App开发 XML .NET
Web在线操作Offic“.NET研究”e之Word
  最近公司有个项目,需要直接在IE浏览器中操作Word文档,随后在网上搜了一些资料,感觉都不是很理想。不过,最后还是找到了一个功能比较强的控件,是老外开发的控件,需要注册。还好,没有注册时,只是在页面关闭时弹出一个对话框,如果某人能把它…掉,本人非常感激。
1282 0
|
Web App开发 JavaScript 物联网
LinkDevelop实践----Bone Web 框架的第一个项目Hello World
物联网全栈教程-从云端到设备(九) 一 这一篇文章零妖带你学习全宇宙最简单的网页应用开发框架:Bone Web 框架,这是一个通过敲代码来制作网页的框架,非常适合不需要华丽界面的物联网项目。如果你动手操作,零妖保证三十分钟之内能做出来一个Web应用,体验空前的成就感(深入地做一个好的Web应用就需要你再继续研究了)。
5415 0