FPGA学习:TMDS协议编码与解码测试
TMDS协议是当下很重的一个视频传输协议,DVI以及HDMI均采用该协议进行视频数据的转化和传输。
TMDS编码部分如下:
通过该模块可将8bit视频像素数据转为10bit。具体的转化流程图可自行搜索,算法并不复杂。
Testbench:
`timescale 1ns / 1ps
//
module tb;// encoder1 Parameters
parameter PERIOD = 10 ;
parameter CTRL3 = 10'b0010101010;// encoder1 Inputs
reg [7:0] Blue_in = 0 ;
reg sys_clk = 0 ;
reg sys_rst = 0 ;
reg de = 0 ;
reg hsync = 0 ;
reg vsync = 0 ;// encoder1 Outputs
wire [9:0] Blue_out ;
encoder encoderu0(.Blue_in ( Blue_in ),.sys_clk ( sys_clk ),.sys_rst ( sys_rst ),.de ( de ),.hsync ( hsync ),.vsync ( vsync ),.Blue_out ( Blue_out )
);initial
beginBlue_in = 8'b10110101;de = 1'b1;hsync = 1'b1;vsync = 1'b1;
end
initial
beginforever #(PERIOD/2) sys_clk=~sys_clk;
endinitial
begin#(PERIOD*2) sys_rst = 1;
end
endmodule
这里的输入信号是8‘b10110101,在后续的解码部分可以进行对照 。
解码部分RTL:
Testbench:
`timescale 1ns / 1ps
//
module tb;// jiema Parameters
parameter PERIOD = 10;// jiema Inputs
reg sys_clk = 0 ;
reg sys_rst = 0 ;
reg [9:0] Blue_out = 0 ;// jiema Outputs
wire [7:0] data ;initial
beginBlue_out = 10'b1011000110;forever #(PERIOD/2) sys_clk=~sys_clk;
endinitial
begin#(PERIOD/2) sys_rst = 1;
endjiema u_jiema (.sys_clk ( sys_clk ),.sys_rst ( sys_rst ),.Blue_out ( Blue_out [9:0] ),.data ( data [7:0] )
);initial
begin$finish;
endendmodule
解码后仿真波形图如下:
可以看到解码后的数据data=8'b10110101,与最初的输入数据保持一致。(发csdn就是想记录自己的学习进程,大佬勿喷)。
FPGA学习:TMDS协议编码与解码测试相关推荐
- 流媒体-H264协议-编码-x264学习-相关概念x264编译及文件解析(一)
流媒体-H264协议-编码-x264学习-相关概念x264编译及文件解析(一) 流媒体-H264协议-编码-x264学习-主要结构体(二) 流媒体-H264协议-编码-x264学习-主要函数(三) 流 ...
- FPGA实现IRIG-B(DC)码编码和解码的设计
[导读]为达到IRIG-B码与时间信号输入.输出的精确同步,采用现代化靶场的IRIG-B码编码和解码的原理,从工程的角度出发,提出了使用现场可编程门阵列(FPGA)来实现IRIG-B码编码和解码的设计 ...
- 流媒体-H264协议-编码-x264学习-主要结构体(二)
流媒体-H264协议-编码-x264学习-相关概念x264编译及文件解析(一) 流媒体-H264协议-编码-x264学习-主要结构体(二) 流媒体-H264协议-编码-x264学习-主要函数(三) 流 ...
- 基于FPGA的 TMDS 编码 及 HDMI 显示
目录 引言 TMDS 编码 原理简介 TMDS编码实现 HDMI差分数据串行 实现方法 源码 HDMI显示方法 思路 实现 工程结构 源代码分享 板级调试视频 引言 最近在开发板上倒腾了一下 TMDS ...
- FPGA学习之路—接口(2)—I2C协议详解+Verilog源码分析
FPGA学习之路--I2C协议详解+Verilog源码分析 定义 I2C Bus(Inter-Integrated Circuit Bus) 最早是由Philips半导体(现被NXP收购)开发的两线时 ...
- FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇尾
FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇一 FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇二 ...
- FPGA学习笔记_UART串口协议_串口接收端设计
FPGA学习笔记 1. UART串口协议以及串口接收端设计 1 原理图 2 Verilog 代码 3 Modelsim仿真 4. FPGA板级验证 1.1 串口协议接收端设计 目标:FPGA接收其他设 ...
- 在tcp/ip协议中以BigEndian方式的编码与解码
2019独角兽企业重金招聘Python工程师标准>>> package com.tcpip;/*** 在tcp/ip协议中以BigEndian方式的编码与解码* @author ** ...
- ADPCM编码与解码学习笔记·
ADPCM编码与解码学习笔记 一.前言 之前许多次说过,有空的时候写写博客,可是一直没有好好落实.由于工作的原因,经常会接触到一些音视频的编解码技术,而ADPCM就是我第一接触的音频编码技术.所以,本 ...
最新文章
- MPLS *** Trouble Shooting 笔记
- 一次家庭作业意外搞定40年前的数学猜想,牛津小哥:我只研究了几个礼拜
- python字典的特点是什么_Python中dict的特点
- io和nio的缓冲_IO与NIO –中断,超时和缓冲区
- GPS NMEA-0183协议常用数据格式及解析攻略
- 帝国CMS7.0 7.2 7.5微信登录插件 UTF-8版本
- Java开发必看ORM概念大全
- 预备作业03 20162316刘诚昊
- PostgreSQL中如何实现密码复杂度检查?
- 【鲲鹏来了】华为云鲲鹏弹性云服务器 KC1一文全掌握(4)
- Java生产者 消费者模型的一种实现
- Java + OpenCV 实现图片人脸检测
- Java 分布式解决方案
- 总结:KPCB中国合伙人周炜
- [转载]项目风险管理七种武器-长生剑
- Python视觉深度学习系列教程 第二卷 第3章 理解rank-1rank-5精度
- 【Python网络蜘蛛 · 8】:moviepy模块实现音频+视频的合成
- killer Linux驱动下载,The Linux Killer
- css3 中的calc用法
- 我的职业是计算机英语,职业英语系列:计算机英语
热门文章
- 编译器(GNU GCC clang llvm)
- 授人以渔-在 SAP MM 物料显示界面上看到一个字段,如何查找哪张数据库表的哪个字段进行的存储
- 微信QQ附近好友雷达扫描
- 透析“冰桶挑战”:知大爱,行致远
- windows7系统下派克斯(PacketiX)产品使用教程
- php留言板发送邮箱功能,留言板新增留言自动发送指定邮箱方法
- 从家用游戏机到PC虚拟现实游戏: 《不语者》给我们的启示
- 光通信器件与系统(西交大朱京平笔记) -8-4 光栅光纤型波分复用器
- SpringBoot新闻管理系统——新闻编辑、修改、发布
- eCGI是PLMN+ECI ,ECI (28 Bits) = eNB ID(20 Bits) + Cell ID(8 Bits)(逻辑小区id,范围0~255)