前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >System Generator系列之多速率系统的使用(下)

System Generator系列之多速率系统的使用(下)

作者头像
狂人V
发布2020-06-29 11:40:55
3820
发布2020-06-29 11:40:55
举报
文章被收录于专栏:电子狂人
前言

前两步完成了不同时钟域层次结构的创建以及异步通道的创建,本次将完成多速率系统设计的最后一步,给每个层次指定不同的时钟域,直接在上一篇的基础上进行本次的设计。

~Show Time~

操作

双击System Generator生成器,打开其属性编辑器,选择Clocking的菜单,将Enable multiple clocks选上,这时FPGA clock period和Simulink system period的数值处变成灰色,这一步是为了通知System Generator,每一个层次结构将分别指定时钟速率,因此此时的顶层只包含了子系统与FIFO,在多速率系统的设计中,顶层不应含有其他逻辑器件。

点击OK保存并关闭,这时的时钟域就是独立,给Ctrl指定一个新的时钟域,Ctrl的时钟驱动来自于CPU,以100MHz执行;

复制一个System Generator生成器,双击Ctrl模块,进行子系统内部,将复制的生成器粘贴到该模块内部中,双击生成器进行属性编辑,选择Clocking菜单,取消选择Enable multiple clocks,并将FPGA clock period改为1e9/100e6,Simulink system period改为1/100e6,结果如下:

点击OK保存并关闭,接着对Scale进行编辑一下属性,将Sample period改为1/100e6,用以和新的时钟频率进行匹配,再选择Implementation,注意这时的接口(也就是Interface)设置的是AXI4-Lite,这将确保该端口在AXI4-Lite接口中实现为寄存器,点击OK保存并关闭。

接着继续复制System Generator生成器,返回顶层,准备将Gain Control子模块的时钟也设置一个新的,双击进入其子系统的内部,并且粘贴生成器,双击System Generator进行属性编辑,选择Clocking菜单,将FPGA clock period改为1e9/61.44e6,Simulink system period改为1/61.44e6,如下:

再点击OK保存并关闭,返回顶层,进入DDC模块继续将复制的生成器粘贴,此部分的时钟和设计之初的时钟一致,如下:

点击OK保存并关闭,返回顶层,对设计进行下保存,然后点击Run进行运行,结果和之前的一致,只是现在是使用三个时钟域进行了实现。

双击顶层的System Generator生成器,将Target directory改成./IPP_QT_MCD_0001/DDC_HB_hier,然后使用Generate生成硬件描述即可。

在弹出的窗口,点击Yes,然后继续运行

生成完成后,点击OK关闭掉Compilation status的对话窗和System Generator生成器,然后按照工程路径依次\IPP_QT_MCD_0001\DDC_HB_hier\ip\hdl(这个路径就是刚刚设置的Target directory),打开文件multi.v(就是自己设计文件xxx.slx定义的名字),找到模块位置,然后可以看到使用了三个时钟进行设计,完成。

多速率系统在System Generator中的设计到此介绍完成,在这篇中讲到了一个AXI4-Lite接口,这是AXI4的一种减缓版本,接下来几篇打算弄下在System Generator中实现AXI接口,敬请期待~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 电子狂人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档