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

前言

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

操作

双击System Generator生成器,打开其属性编辑器,选择Clocking的菜单,将Enable multiple clocks选上,这时FPGA clock periodSimulink 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接口,敬请期待~



本次设计的文件

链接
提取码:tjxx 



 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值