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

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

我们 应该怎么封装

用一个示例

我们自动生成的是这个样子的

对比一下 真实 的 顶层文件

c 复制代码
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 就会发现这个文件的出现了

相关推荐
一大Cpp1 小时前
FPGA状态机思想实现流水灯及HDLBits学习
fpga开发
圈圈编码1 小时前
WebSocket
java·网络·spring boot·websocket·网络协议·spring
苏格拉没有底_coder2 小时前
【Easylive】视频在线人数统计系统实现详解 & WebSocket 及其在在线人数统计中的应用
websocket·网络协议
吴盐煮_2 小时前
如何判断一条连接是TCP连接还是UDP连接?
网络协议·tcp/ip·udp
Double Point3 小时前
(三十三)Dart 中使用 Pub 包管理系统与 HTTP 请求教程
网络·网络协议·http
可乐加.糖1 天前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信
北京太速科技股份有限公司1 天前
太速科技-FMC144 -八路 250MSPS 14bit AD FMC子卡
fpga开发
吴盐煮_1 天前
使用UDP建立连接,会存在什么问题?
网络·网络协议·udp
忆源1 天前
SOME/IP-SD -- 协议英文原文讲解9(ERROR处理)
网络·网络协议·tcp/ip