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

作者:神秘网友 发布时间:2020-06-09 05:52:30

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

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 



 

System Generator系列之多速率系统的使用(下)相关教程

  1. Hbase系列(1)- Centos7单节点部署hbase-2.2.5
  2. System V消息队列
  3. RapidMiner系列:朴素贝叶斯NB_1
  4. 乱码系列问题
  5. ZooKeeper系列二客户端命令详解
  6. IDEA之mybatis-generator自动生成
  7. 自定义View Layout过程 - 最易懂的自定义View原理系列(3)
  8. Canvas类的最全面详解 - 自定义View应用系列