【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),时不我与,不再多说,回去继续埋头学习。。。

目录
相关文章
|
24天前
|
数据采集 数据库
System Generator学习——时间和资源分析
System Generator学习——时间和资源分析
22 3
|
24天前
System Generator学习——将代码导入System Generator(二)
System Generator学习——将代码导入System Generator
15 1
|
24天前
|
C++
System Generator学习——将代码导入System Generator(一)
System Generator学习——将代码导入System Generator
18 1
|
24天前
|
算法 C++
System Generator学习——将代码导入System Generator(三)
System Generator学习——将代码导入System Generator
21 2
|
机器学习/深度学习 算法 图形学
Dataset:fetch_20newsgroups(20类新闻文本)数据集的简介、安装、使用方法之详细攻略
Dataset:fetch_20newsgroups(20类新闻文本)数据集的简介、安装、使用方法之详细攻略
|
机器人
Robot Framework(14)- Variables 表的详细使用和具体例子
Robot Framework(14)- Variables 表的详细使用和具体例子
207 0
Robot Framework(14)- Variables 表的详细使用和具体例子
|
自然语言处理 机器人
Robot Framework(8)- Collections 测试库常用的关键字列表
Robot Framework(8)- Collections 测试库常用的关键字列表
103 0
Robot Framework(8)- Collections 测试库常用的关键字列表
|
机器人
Robot Framework(7)- DateTime 测试库常用的关键字列表
Robot Framework(7)- DateTime 测试库常用的关键字列表
486 0
Robot Framework(7)- DateTime 测试库常用的关键字列表
|
数据库
艾伟_转载:Entity Framework的默认值BUG解决方法
  在使用.Net 3.5里的Entity Framework开发网站的时候,遇到了一个问题:添加记录时,对于DateTime型的数据,无法使用数据库的默认值。   具体的情况是这样的,我的数据库有个Users表,三个字段,id,username,createtime。
830 0