当前位置: 首页 > article >正文

【【ZYNQ-自定义IP核-IP核封装于接口定义实验】】

ZYNQ-自定义IP核-IP核封装于接口定义实验

我们 应该怎么封装
用一个示例
我们自动生成的是这个样子的
在这里插入图片描述

对比一下 真实 的 顶层文件

module dvi_transmitter_top(
2 input pclk, // pixel clock
3 input pclk_x5, // pixel clock x5
4 input reset_n, // reset
5 
6 input [23:0] video_din, // RGB888 video in
7 input video_hsync, // hsync data
8 input video_vsync, // vsync data
9 input video_de, // data enable
10 
11 output tmds_clk_p, // TMDS 时钟通道
12 output tmds_clk_n, 
13 output [2:0] tmds_data_p, // TMDS 数据通道
14 output [2:0] tmds_data_n, 
15 output tmds_oen // TMDS 输出使能
16 )

我们删除 不存在的端口
发现还是存在了一些错误
在这里插入图片描述

不是时间端口 被错误识别成了 时间端口
移除之后 就会形成新的端口展示
在这里插入图片描述

信号就这么多 我们接下来 需要 做的是
把这这些信号 归类 划分想要使用的 封装在一起的信号
在这里插入图片描述

时钟信号 有两个 由于 时钟接口 每个时钟接口 只包含一路时钟信号 因此我们需要为pclk 和 pclk_x5 各添加一个时钟接口

我们选中点击 add BUS interface
我们可以看到 默认的接口类型是 默认的接口类型是 aximm_rtl 这是不对的 需要换成别的模块
在这里插入图片描述

再修改成clk之后 我们还需要进行 端口匹配 Port Mapping
在这里插入图片描述

当我们如法炮制 配置完 PCLK 和 PCLK_x5
接下来我们配置大的 视频接口

我们点击想要配置的视频接口的任意一个
然后再 general中搜索 想要配置成的 接口 在本处我们选择的是 vid_io_rtl
在这里插入图片描述

因为这个端口 包含的不单单是一个
虽然上面只有一个的也要点端口印射
我们就点一下吧
在这里插入图片描述

DATA是视频像素数据,ACTIVE_VIDEO 是视频有效信号,HSYNC 和 VSYNC 分别是视频的行同步和场同步信号。

插入一个题外话 在 做 VDMA的时候 别人告诉我 以后在公司的标准 其实只要几个关键信号就完全可以表示信号传输 了

上面是标准的简单的 但是还会遇到一种情况就是我们想要形成自定义的接口 并不是 官方提供的示例的那几种 接下来我们该怎么办

点击Tools “Create new interface definition”
创建自己想要的接口
在这里插入图片描述

if 是 interface 接口的意思
ip 是 IP 的 意思

我们需要把接下来的四个封装在一起
在这里插入图片描述

先注意我们要添加的端口
(其中 tmds_data_p 和 tmds_data_n 的位宽为 3 位)

tmds_clk_p (时钟端口)
tmds_clk_n ( 时钟端口 )
tmds_data_p (3 位)
tmds_data_n (3位)
对于第一个 我们采用如下的设置
tmds_clk_p 时钟端口
在这里插入图片描述

tmds_clk_n照旧
接下来 我们完成data的配置
在这里插入图片描述

这时候我们点开if 就会发现这个文件的出现了
在这里插入图片描述


http://www.kler.cn/a/156224.html

相关文章:

  • 链游系统定制化开发:引领游戏产业的新时代
  • C++初阶——list
  • YUM 的使用
  • 高频 SQL 50 题(基础版)连接部分
  • Android 进入浏览器下载应用,下载的是bin文件无法安装,应为apk文件
  • jQuery笔记
  • [Golang] 高频次和高并发下的随机数重复问题的解决方案
  • 35、AD模数转换DA数模转换
  • geemap学习笔记019:监督分类与精度验证(上)
  • 组网技术-交换机
  • 【线下赛游记】2023 ICPC合肥区域赛 游记
  • 你不得不知道的工业镜头使用中的常见问题
  • 2023年11月个人工作生活总结
  • 什么是事务?事务的特性是什么?
  • 《python每天一小段》--(1)与GPT-3.5-turbo 模型进行对话
  • Leetcode1094. 拼车
  • 泊车功能专题介绍 ———— 记忆泊车评价规程(征求意见稿)
  • 某60区块链安全之Create2实战二学习记录
  • CRM在设备制造行业的应用,优化资源配置
  • 字符串冲刺题
  • 【STM32】STM32学习笔记-STM32简介(02)
  • Elasticsearch SQL插件调研与问题整理
  • go语言学习-包管理
  • Linux驱动开发学习笔记2《LED驱动开发试验》
  • STM32的HAL库串口编程
  • 提权(1), 脱裤, dirty-cow 脏牛提权