基于 FPGA Vivado 的74系列IP封装(附源工程)
今天给大侠带来基于 FPGA Vivado 的 74 系列IP封装,开发板使用的是Digilent basys 3,如有想要入手 basys 3 开发板的,可以联系牛总:18511371833。话不多说,上货。
本篇掌握封装IP的两种方式:GUI方式以及Tcl方式。本篇以74LS00 IP封装为例,介绍了两种封装IP的流程。获取本篇相关源工程代码,可在公众号内回复“74系列IP封装源工程”。
操作步骤
1. 新建工程项目
1) 双击桌面图标打开Vivado 2017.2,或者选择开始>所有程序>Xilinx Design Tools> Vivado 2017.2>Vivado 2017.2;
2) 点击‘Create Project’,或者单击File>New Project创建工程文件;
3) 将新的工程项目命名为‘lab3’,选择工程保存路径,勾选‘Create project subdirectory’,创建一个新的工程文件夹,点击Next继续;
4) 选择新建一个RTL工程,勾选Do not specify sources at this time(不指定添加源文件),先不添加源文件。点击 Next继续;
5) 选择目标FPGA器件:xc7a35tcpg236-1或Basys3;
6) 最后在新工程总结中,检查工程创建是否有误。没有问题,则点击Finish,完成新工程的创建。
2. 添加源文件
1) 在左侧Flow Navigator中展开PROJECT MANAGER,选择‘Add Sources’;
2) 在Add Sources窗口中,选择‘Add or create design sources’,点击Next;
3) 点击‘Create File’,创建源文件;
4) 将源文件命名为‘four_2_input_nand’,点击OK;
5) 点击Finish,完成源文件创建;
6) 在模块端口(I/O)定义窗口不做设置,点击OK继续;
7) 在Sources窗格中,双击打开‘four_2_input_nand.v’文件,开始编辑;
8) 在右侧的文本编辑框中,编辑代码如下图所示:
源代码如下:
`timescale 1ns / 1ps
module four_2_input_nand_gate #(parameter DELAY = 10)(
input wire a1,b1,a2,b2,a3,b3,a4,b4,
output wire y1,y2,y3,y4
);
nand #DELAY (y1,a1,b1);
nand #DELAY (y2,a2,b2);
nand #DELAY (y3,a3,b3);
nand #DELAY (y4,a4,b4);
endmodule
9) 编辑完成后,Ctrl+S保存;
10) 在Flow Navigator中,展开SYNTHESIS,点击‘Run Synthesis’。弹出窗口使用默认选项,点击OK开始综合。
11) 综合完成后,点击‘Cancel’关闭窗口。
3. IP封装
1) 在顶部工具栏中,点击Tools>Create and Package New IP;
2) 弹出的向导窗口,点击Next继续;
3) 选择对当前工程进行封装,点击Next继续;
4) 选择IP保存路径,保持默认设置,点击Next继续;
5) 点击Finish完成设置;
6) 设置IP参数;
6.1 在右侧Package IP窗口中,选择Identification,按下图设置:
6.2 选择Compatibility,如果已经存在artix7、kintex7、spartan7和zynq可以略过此步。否则需要按以下步骤添加:
6.2.1 选择‘Add Family Explicity’
6.2.2 在弹出窗口中勾选相应的系列,Life-cycle选择‘Production’。
6.3 点击OK完成添加,选择Review and Package,点击‘Package IP’完成对74LS00 IP的封装。
6.4 完成后,系统提示封装成功。
4. 基于Tcl的封装流程:
1) 打开Vivado 2017.2,在底部Tcl Console中依次执行下列步骤完成对74LS00 IP的封装;
2) 在命令框依次输入如下命令:
2.1 cd C:/Basys3_workshop/sources/lab3/
进入到工作文件夹,文件夹中包含封装IP所需的源文件
2.2 set ip_name 74LS00 设置IP名称
2.3 set source_files four_2_input_nand.v 设置源文件
2.4 set description "Four 2-input NAND gate with DELAY configuration parameter" 对IP进行功能描述
2.5 set readme_file readme.txt 添加readme文本文件
2.6 set logo_file xup_IPI.png 设置IP logo图片
2.7 source ./package_ip.tcl
运行工作目录下的Tcl文件,进行IP封装
1) 完成之后,封装完成的74LS00 IP保存在C:/Basys3_workshop/sources/lab3/74LS00文件夹内
END
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。
大侠们,江湖偌大,继续闯荡,愿一切安好,有缘再见!
往期推荐
“FPGA产品设计与研发 ” 零基础入门及就业
《冈萨雷斯数字图像处理MATLAB版》中文版(第二版) 电子版
今日说“法”:FPGA芯片如何选型?
基于 FPGA Vivado 的74系列IP封装(附源工程)相关推荐
- 基于 FPGA Vivado 的数字钟设计(附源工程)
今天给大侠带来基于 FPGA Vivado 的数字钟设计,开发板实现使用的是Digilent basys 3,如有想要入手 basys 3 开发板的,可以联系牛总:18511371833.话不多说,上 ...
- 源码系列:基于FPGA的自动售货机设计(附源工程)
今天给大侠带来基于FPGA的自动售货机设计,附源码,获取源码,请在"FPGA技术江湖"公众号内回复" 自动售货机设计源码",可获取源码文件.话不多说,上货. 设 ...
- 基于 FPGA Vivado 信号发生器设计(附源工程)
今天给大侠带来基于 FPGA Vivado 信号发生器设计,开发板实现使用的是Digilent basys 3,如有想要入手 basys 3 开发板的,可以联系牛总:18511371833.话不多说, ...
- 基于 FPGA Vivado 示波器设计(附源工程)
今天给大侠带来基于 FPGA Vivado 示波器设计,开发板实现使用的是Digilent basys 3,如有想要入手 basys 3 开发板的,可以联系牛总:18511371833.话不多说,上货 ...
- FPGA零基础学习:基于FPGA的二进制转BCD设计(附代码)
FPGA零基础学习:基于FPGA的二进制转BCD设计(附代码) 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式"讲 ...
- java计算机毕业设计ssm基于Vue的二手商品交易网站z40n1(附源码、数据库)
java计算机毕业设计ssm基于Vue的二手商品交易网站z40n1(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstor ...
- 基于SSM实现的求职招聘系统【附源码】(毕设)
一.项目简介 本项目是一套基于SSM实现的求职招聘系统 或 人才招聘系统 或 网上招聘系统 或 网络招聘平台 或 招聘管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习 ...
- 基于PHP+MySQL+Apache在线考试管理系统(附源码)
作者:BSXY_陈永跃 BSXY_信息学院 注:未经允许禁止转发任何内容 基于PHP+MySQL+Apache在线考试管理系统 项目体验 1.前言 1.1.编写目的 1.2.项目需求 1.3.项目环境 ...
- 基于SSM实现的在线考试系统【附源码】(毕设)
一.项目简介 本项目是一套基于SSM实现的在线考试系统 或 网络考试系统 或 考试管理系统 或 在线考试平台,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者. 详细介绍了该 ...
最新文章
- tp数组转为json_数据存储—JSON
- 十天学会php之第五天
- Linux Netcat 命令——网络工具中的瑞士×××
- python pyqt5 窗体自适应_Pyqt5自适应布局实例
- C# 反射 (Reflect)
- 给与 x 距离不超过 d 的点权值 a_一年级不上网课,妈妈陪孩子一起来完成三单元各课练习及单元卷吧...
- 如何用 IDEA 提升十倍开发效率?
- linux动态链接库的创建
- 天津理工大学计算机考研录取名单,2020年天津理工大学硕士研究生拟录取名单公示...
- AD画PCB板子 基本步骤
- java画地图_绘制地图(java代码)
- java 给文件加密文件_java对文件做简单加密的方法
- web前端 “我是有底线的”效果
- Ubuntu 16.04无线网卡RTL8723BE频繁掉线及信号不足解决办法
- 从来不是别人的不幸和痛苦
- 【软件测试】测试员vs测试工程师,你是测试员还是测试工程师?
- 正则表达式-校验 Ip地址 Mac地址 端口 经纬度 车牌号码
- 字符编码的常用种类介绍
- 机器学习最易懂之EM算法详解与python实现
- php如何留后门,ThinkPHP留后门技巧
热门文章
- 【图像去雾】颜色衰减先验图像去雾【含Matlab源码 2036期】
- UTF-8、Unicode、GBK 编码中英文占用的字节数
- Centos7 安装Nat123 内网穿透
- 电影剪辑属性详解-Flash-网页制作
- 51单片机—— PWM、呼吸灯
- 以评促建,推动高效惠民数字政府建设——2018数字政府建设论坛暨第十七届中国政府网站绩效评估结果发布会在京召开...
- tsd3dmapper软件使用方法_TS文件连接器:如何快速合并TS文件?
- SimpleDateFormat格式化日期
- 1.0 BS结构软件类型介绍
- 单臂路由的原理以及配置