0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Vivado创建不包含源文件的IP

OpenFPGA 来源: Hack电子 2023-12-06 09:01 次阅读

有时候我们想参考官方的源码,但是有些IP怎么也找不到官方的源码,具体原因是什么呢?

下面从下面两种Vivado创建IP的流程看下具体的原因:

83976568-93cf-11ee-939d-92fbcf53809c.png

所谓“数字积木”,就是Vivado集成开发环境基于IP的 “积木块”设计思想。

VIvado中IP定制化流程如下:

83ad0cce-93cf-11ee-939d-92fbcf53809c.png

来源UG896

IP目录将来自下面的IP统一到一个环境中,这些IP包括XilinxIP、第三方IP和用户IP。

基于IP-XACT标准,VivadoIP封装器工具提供了独一无二的“重用”特性。IP封装器为Vivado的任何用户提供了一种能力,即将设计流程任意阶段的一个设计进行封装,然后将该IP作为一个系统级的IP进行使用。

创建不包含源文件的IP

上面建立的IP可以很方便操作一下看到源文件,实际使用过程中IP作为知识产权的成果,设计者并不希望公开IP核的源代码,下面将带你建立一个不包含源文件的IP。

第一步:在操作系统下,执行菜单命令【开始】-【所有程序】-【Xilinx Design Tools】-【Vivado2018】点击【Vivado2018】,启动Vivado集成开发环境。

83c27ca8-93cf-11ee-939d-92fbcf53809c.png

第二步:在“Vivado2018”主界面下,选择“Create New Project”选项,弹出“New Project-Createa New Vivado Project”对话框。

第三步:单击【Next】按钮,弹出“New Project”对话框。在该对话框中,按如下参数进行设置。

(1)Project name:gateip;

(2)Project location:XXXtest;

(3)选中“Create project subdirectory”前面的复选框。

83d27496-93cf-11ee-939d-92fbcf53809c.png

第四步:单击【Next】按钮,弹出“New Project-Project Type”对话框。在该对话框中,按如下参数进行设置。

(1)选中“RTL Project”前面的复选框;

(2)其他按默认设置。

83dffa30-93cf-11ee-939d-92fbcf53809c.png

第七步:单击【Next】按钮,弹出“New Project-Default Part”对话框。在该对话框中,选择器件“xc7k325tffg900-2”。

83f3844c-93cf-11ee-939d-92fbcf53809c.png

第八步:单击【Next】按钮,弹出“New Project-New Project Summary”对话框。

84082406-93cf-11ee-939d-92fbcf53809c.png

第九步:单击【Finish】按钮。

至此,完成新工程的创建。

84226b90-93cf-11ee-939d-92fbcf53809c.png

接下来添加文件

第一步:【Flow Navigateor】-【Add source】按钮

842fec8e-93cf-11ee-939d-92fbcf53809c.png

弹出“Add Sources“对话框。在该对话框中,单击【Add or crete design source】按钮,弹出“Add Source Files”对话框。在该对话框中,定位到XXXXsource路径。

843ff5b6-93cf-11ee-939d-92fbcf53809c.png

在该路径下,选择gate.v文件。可以看到在“Add Sources”对话框中添加了gate.v文件,并且注意下面的设置。

844a5056-93cf-11ee-939d-92fbcf53809c.png

gate.v文件

8453c172-93cf-11ee-939d-92fbcf53809c.png

第六步:单击【Finish】按钮。

第七步:Vivado成开发环境界面左侧的“Flow Navigator”窗口中找到并展开“SYNTHESIS”选项。在展开项中,选择“Run Synthesis”选项,Vivado开始对该设计执行综合过程。

846b71c8-93cf-11ee-939d-92fbcf53809c.png

第八步:运行完综合过程后,弹出“Synthesis Completed”对话框。在该对话框中,选择“Open Synthesized Design”前面的复选框。

84892c7c-93cf-11ee-939d-92fbcf53809c.png

第九步:自动打开综合后的设计。在Vivado当前设计界面底部的“Tel Console”窗口中输入“write_edif F:/FILE/FPGA/ZYNQ/test/gateip/ip/gate.edf”命令,将gate.edf文件写到选择的目录下。

84948162-93cf-11ee-939d-92fbcf53809c.png

创建新的设计工程

第一步:启动Vivado集成开发环境。

第二步:在“Vivado2018”主界面下,选择“Create New Project”选项,弹出“New Project-Createa New Vivado Project”对话框。

第三步:单击【Next】按钮,弹出“New Project”对话框。按照实际进行设置即可。

第四步:单击【Next】按钮,弹出“New Project-Project Type”对话框。在该对话框中,按如下参数进行设置。

(1)选中“RTL Project”前面的复选框。

(2)其他按默认设置。

84a89832-93cf-11ee-939d-92fbcf53809c.png

第五步:单击【Next】按钮,弹出“New Project-Add Sources“对话框。在该对话框中,单击【Add Files...】按钮,弹出“Add Source Files”对话框。在该对话框中,定位到gate.edf文件。可以看到在“Add Sources”对话框中添加了gate.v文件,并且注意下面的设置。

(1)在该对话框中,选中“Copy sources into project”前面的复选框。

(2)Target language:Verilog

(3)Simulator language:Verilog。

84b2019c-93cf-11ee-939d-92fbcf53809c.png

第六步:单击【Next】按钮,弹出“New Project-Add Constraints(optional)”对话框。

84ce480c-93cf-11ee-939d-92fbcf53809c.png

第七步:单击【NEXT】按钮,弹出对话框中,选择器件

第八步:单击【Next】按钮,弹出“New Project-New Project Summary”对话框。

第九步:单击【Finish】按钮。

至此,完成新工程的创建。

设置定制IP的库名和目录

第一步:在Vivado当前工程主界面左侧的“Flow Navigator”窗口中找到并展开“PROJECT MANAGER”选项。在展开项中,选择“Settings”选项。

第二步:弹出“Settings”对话框。在该对话框左侧的窗口中,找到并展开“IP”选项。在展开项中,找到并选择“Packager”选项。在对话框右侧的窗口中,按如下参数进行设置。

84dc972c-93cf-11ee-939d-92fbcf53809c.png

第三步:单击【OK】按钮,退出“Settings”对话框。

封装定制IP的实现

封装IP的步骤如下所示。

第一步:在Vivado当前工程主界面的主菜单下,执行菜单命令【Tools】-【Createand IP Package...】;

84f1e7e4-93cf-11ee-939d-92fbcf53809c.png

第二步:弹出“Create and Package New IP”对话框。

850daa1a-93cf-11ee-939d-92fbcf53809c.png

第三步:单击【Next】按钮。

第四步:弹出“Create and Package New IP-Create Peripheral,Package IP or Packagea Block Design”对话框。在该对话框中,选中“Package your current project”前面的复选框。

852361e8-93cf-11ee-939d-92fbcf53809c.png

第五步:单击【Next】按钮,弹出“Create and Package New IP-Package Your Current Project”对话框。在该对话框中,按默认参数设置;

852cee70-93cf-11ee-939d-92fbcf53809c.png

第六步:单击【Next】按钮,弹出“Create and Package New IP-New IP Creation”对话框。

853e1fba-93cf-11ee-939d-92fbcf53809c.png

第七步:单击【Finish】按钮,弹出“Package IP”提示对话框。

第八步:单击【OK】按钮,在Vivado右侧窗口中,出现配置IP参数的界面。如图所示,给出了“Identification”参数配置对话框。在该对话框中,按如下参数进行设置。

85510eb8-93cf-11ee-939d-92fbcf53809c.png

(1)Library:userdefme(与前面声明的库名称一致)。

(2)Name:gate

(3)Verison:1.0

(3)Display name:gate_v1_0

(4)Description: 2 input multi_gate with same DELAY configuration parameter

(5)Vendor display name:GPNT

(6)Companyurl:空着即可

(7)其他按默认参数设置。

第九步:选择“Compatibility”选项。

856db856-93cf-11ee-939d-92fbcf53809c.png

第十步:弹出如图所示的“Compatibility”参数配置对话框,该配置对话框用于确认该IP所支持的FPGA的类型

第十一步:单击“File Groups”选项,弹出如图所示的“File Groups”参数配置对话框

8588d6c2-93cf-11ee-939d-92fbcf53809c.png

在该对话框中,设计者可以添加一些额外的文件,如测试平台文件。

第十二步:单击 “Customization Parameters”选项。

看到此时的界面为空的,并没有像前面封装包含源文件IP的时候出现“DELAY”参数,这是因为“DELAY”参数对于Verilog HDL而言是行为级描述,在综合的时候不起任何作用。所以,在对设计综合后,读者看不到“DELAY”参数。

第十三步:单击“Customization GUI”选项,弹出如图所示的“Customization GUI”对话框。该对话框给出了输入/输出端口,以及带有默认值的参数选项。

859244be-93cf-11ee-939d-92fbcf53809c.png

第十四步:选择 “Review and Package”选项,弹出“Review and Package”对话框,在该对话框中单击【Package IP】按钮,如图所示。

85a7db1c-93cf-11ee-939d-92fbcf53809c.png

第十八步:弹出“Package IP”对话框,提不“Finished packaging ‘gate_v_l_0’successfully”消息,提示封装IP成功。

85c4a648-93cf-11ee-939d-92fbcf53809c.png

第十九步:单击【OK】按钮。

第二十步:在Vivado当前工程主界面的主菜单下,执行菜单命令【File】-【Close Project】,关闭当前的工程。

调用并验证不包含源文件的IP 设计

调用和使用完全和之前的章节一样,这里就不再赘述。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IP
    IP
    +关注

    关注

    5

    文章

    1642

    浏览量

    149323
  • 源码
    +关注

    关注

    8

    文章

    633

    浏览量

    29134
  • Vivado
    +关注

    关注

    19

    文章

    807

    浏览量

    66312
  • 源文件
    +关注

    关注

    0

    文章

    30

    浏览量

    4569

原文标题:【Vivado那些事】创建不包含源文件的IP

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PYNQ设计案例:基于HDL语言+Vivado的自定义IP创建

    作者:Mculover666 1.实验目的 用HDL语言+Vivado创建一个挂载在AXI总线上的自定义IP核 2.实验步骤 2.1.创建一个新的项目     2.2.调用Create
    的头像 发表于 12-21 16:34 3401次阅读
    PYNQ设计案例:基于HDL语言+<b class='flag-5'>Vivado</b>的自定义<b class='flag-5'>IP</b>核<b class='flag-5'>创建</b>

    基于 FPGA vivado 2017.2 的74系列IP封装

    指定添加源文件),先添加源文件。点击 Next继续5)选择目标FPGA器件:xc7a35tcpg236-1或Basys3。6)最后在新工程总结中,检查工程创建是否有误。没有问题,则点
    发表于 12-20 10:23

    怎么迁移那些具有Netlists源文件的pcores?

    的项目,其中包含其他目录中包含分层网表文件和少数pcoreshave .bbd源文件的内容。我需要将该项目迁移到vivado,但我无法迁移那
    发表于 05-14 09:19

    包含路径不会添加到项目中的每个源文件怎么解决?

    当在项目设置中添加包含路径时,不会将此路径添加到每个源文件中,因此需要在文件夹中搜索头文件源文件无法构建。我的项目过去常常正确构建。 我
    发表于 05-05 07:49

    基于vivado的fir ip核的重采样设计与实现

    本文基于xilinx 的IP核设计,源于音频下采样这一需求。 创建vivado工程 1. 首先打开vivado创建一个新的project(
    发表于 02-08 02:25 4761次阅读
    基于<b class='flag-5'>vivado</b>的fir <b class='flag-5'>ip</b>核的重采样设计与实现

    Vivado将模块封装为IP的方法介绍

    在给别人用自己的工程时可以封装IPVivado用封装IP的工具,可以得到像xilinx的ip一样的可以配置参数的IP核,但是用其他工程调用
    的头像 发表于 06-26 11:33 7879次阅读

    如何创建Vivado HLS项目

    了解如何使用GUI界面创建Vivado HLS项目,编译和执行C,C ++或SystemC算法,将C设计合成到RTL实现,查看报告并了解输出文件
    的头像 发表于 11-20 06:09 3900次阅读

    如何使用Vivado功能创建AXI外设

    了解如何使用Vivado创建和封装IP功能创建可添加自定义逻辑的AXI外设,以创建自定义IP
    的头像 发表于 11-29 06:48 7097次阅读
    如何使用<b class='flag-5'>Vivado</b>功能<b class='flag-5'>创建</b>AXI外设

    如何在vivado创建新工程上使用IP集成器创建块设计

    本文介绍如何在 vivado 开发教程(一) 创建新工程 的基础上, 使用IP集成器, 创建块设计。
    的头像 发表于 02-08 10:47 2401次阅读
    如何在<b class='flag-5'>vivado</b><b class='flag-5'>创建</b>新工程上使用<b class='flag-5'>IP</b>集成器<b class='flag-5'>创建</b>块设计

    Vivado下头文件使用注意事项

    并不局限于Vivado一种EDA。头文件主要使用“文件包括”处理,所谓"文件包含"处理是一个源文件
    的头像 发表于 02-08 10:26 1601次阅读
    <b class='flag-5'>Vivado</b>下头<b class='flag-5'>文件</b>使用注意事项

    Vivado那些事】Vivado下头文件使用注意事项

    并不局限于Vivado一种EDA。头文件主要使用“文件包括”处理,所谓"文件包含"处理是一个源文件
    发表于 03-07 06:01 19次下载
    【<b class='flag-5'>Vivado</b>那些事】<b class='flag-5'>Vivado</b>下头<b class='flag-5'>文件</b>使用注意事项

    使用VIvado封装自定IP并使用IP创建工程

    在FPGA实际的开发中,官方提供的IP并不是适用于所有的情况,需要根据实际修改,或者是在自己设计的IP时,需要再次调用时,我们可以将之前的设计封装成自定义IP,然后在之后的设计中继续使用此IP
    的头像 发表于 04-21 08:58 5593次阅读

    编辑与改写IP源文件的方法

    有些时候,根据设计需求可能会想要修改IP核生成的源文件(只能修改未加密文件),包括HDL文件和XDC约束文件。这种修改不能直接修改
    的头像 发表于 08-25 14:38 2603次阅读

    使用EWPtool将源文件导入到IAR Embedded Workbench

    以前在IAREmbedded Workbench中创建工程之后导入源文件,需要在IAR EmbeddedWorkbench中手动创建文件夹,然后手动导入源文件
    的头像 发表于 10-21 10:40 2347次阅读

    为EBAZ4205创建Xilinx Vivado文件

    电子发烧友网站提供《为EBAZ4205创建Xilinx Vivado文件.zip》资料免费下载
    发表于 06-16 11:41 1次下载
    为EBAZ4205<b class='flag-5'>创建</b>Xilinx <b class='flag-5'>Vivado</b>板<b class='flag-5'>文件</b>