• MiZ702学习笔记12——封装一个普通的VGA IP


    image

    还记得《MiZ702学习笔记(番外篇)——纯PL VGA驱动》这篇文章中,用verilog写了一个VGA驱动。我们今天要介绍的就是将这个工程打包成一个普通的IP,目的是为后面的一篇文章做个铺垫。

    打包成一个普通的IP的目的,可以直接将这个IP粘贴到Block文件中。(和用文本实例化是一个意思)。应为我们调用zynq的核的时候一般是用Block的形式,为了zynq和我们的VGA模块更方便的组织起来,就需要这种IP打包方式。

    为什么是强调是普通的IP,这个主意是区分带AXI接口的IP,这个在后面介绍。

    这个打包过程十分简单,新建一个vivado工程之后,准备好我们的VGA verilog源文件:

    clip_image002

    我将这些文件当中,当前工程下的song文件夹下备用。然后选择Tools Create and Package IP:

    clip_image004

    点击NEXT:

    clip_image006

    选择如下标记中形式的IP:

    clip_image008

    接下来是关键的一步,选择刚才我们准备好的源文件的位置,并点击NEXT:

    clip_image010

    继续NEXT:

    clip_image012

    最后点击Finish:

    clip_image014

    点击Finish之后,会自动创建一个新的工程,专门针对这个IP的工程。注意到红色方框内,有个name属性,这里他的名字就是你顶层文件的名字加上了一个版本号,软件自动给你填写的,记住这个名字,之后添加IP的时候,就是根据这个名字来找到我们的IP。

    clip_image016

    有个警告,懒得理他不影响,我们直接打包:

    clip_image018

    按下Package IP就完成打包了,这个工程就自动关闭了,回到我最先新建的工程,就可以添加我们打包的IP了。

    首先新建一个Block,然后选择add IP,搜索那个顶层文件的名字,就能找到啦~~

    clip_image020

    双击它,就可以添加到Block文件中了:

    clip_image022

    这种图形的实例化和文本的实例化,大家都需要熟练地运用,今天就到这里。

  • 相关阅读:
    【USACO2017JAN】 Promotion Counting
    【POJ 3468】 A Simple Problem with Integers
    【HDU 1754】 I Hate It
    【Codeforces 20C】 Dijkstra?
    【POJ 2407】 Relatives
    BZOJ5249 九省联考2018IIIDX(线段树+贪心)
    BZOJ5251 八省联考2018劈配(网络流)
    BZOJ4200 NOI2015小园丁与老司机(动态规划+上下界网络流)
    BZOJ3876 AHOI/JSOI2014支线剧情(上下界网络流)
    LOJ117 有源汇有上下界最小流(上下界网络流)
  • 原文地址:https://www.cnblogs.com/douzi2/p/5154870.html
Copyright © 2020-2023  润新知