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协议编码与解码测试相关推荐

  1. 流媒体-H264协议-编码-x264学习-相关概念x264编译及文件解析(一)

    流媒体-H264协议-编码-x264学习-相关概念x264编译及文件解析(一) 流媒体-H264协议-编码-x264学习-主要结构体(二) 流媒体-H264协议-编码-x264学习-主要函数(三) 流 ...

  2. FPGA实现IRIG-B(DC)码编码和解码的设计

    [导读]为达到IRIG-B码与时间信号输入.输出的精确同步,采用现代化靶场的IRIG-B码编码和解码的原理,从工程的角度出发,提出了使用现场可编程门阵列(FPGA)来实现IRIG-B码编码和解码的设计 ...

  3. 流媒体-H264协议-编码-x264学习-主要结构体(二)

    流媒体-H264协议-编码-x264学习-相关概念x264编译及文件解析(一) 流媒体-H264协议-编码-x264学习-主要结构体(二) 流媒体-H264协议-编码-x264学习-主要函数(三) 流 ...

  4. 基于FPGA的 TMDS 编码 及 HDMI 显示

    目录 引言 TMDS 编码 原理简介 TMDS编码实现 HDMI差分数据串行 实现方法 源码 HDMI显示方法 思路 实现 工程结构 源代码分享 板级调试视频 引言 最近在开发板上倒腾了一下 TMDS ...

  5. FPGA学习之路—接口(2)—I2C协议详解+Verilog源码分析

    FPGA学习之路--I2C协议详解+Verilog源码分析 定义 I2C Bus(Inter-Integrated Circuit Bus) 最早是由Philips半导体(现被NXP收购)开发的两线时 ...

  6. FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇尾

    FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇一 FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇二 ...

  7. FPGA学习笔记_UART串口协议_串口接收端设计

    FPGA学习笔记 1. UART串口协议以及串口接收端设计 1 原理图 2 Verilog 代码 3 Modelsim仿真 4. FPGA板级验证 1.1 串口协议接收端设计 目标:FPGA接收其他设 ...

  8. 在tcp/ip协议中以BigEndian方式的编码与解码

    2019独角兽企业重金招聘Python工程师标准>>> package com.tcpip;/*** 在tcp/ip协议中以BigEndian方式的编码与解码* @author ** ...

  9. ADPCM编码与解码学习笔记·

    ADPCM编码与解码学习笔记 一.前言 之前许多次说过,有空的时候写写博客,可是一直没有好好落实.由于工作的原因,经常会接触到一些音视频的编解码技术,而ADPCM就是我第一接触的音频编码技术.所以,本 ...

最新文章

  1. MPLS *** Trouble Shooting 笔记
  2. 一次家庭作业意外搞定40年前的数学猜想,牛津小哥:我只研究了几个礼拜
  3. python字典的特点是什么_Python中dict的特点
  4. io和nio的缓冲_IO与NIO –中断,超时和缓冲区
  5. GPS NMEA-0183协议常用数据格式及解析攻略
  6. 帝国CMS7.0 7.2 7.5微信登录插件 UTF-8版本
  7. Java开发必看ORM概念大全
  8. 预备作业03 20162316刘诚昊
  9. PostgreSQL中如何实现密码复杂度检查?
  10. 【鲲鹏来了】华为云鲲鹏弹性云服务器 KC1一文全掌握(4)
  11. Java生产者 消费者模型的一种实现
  12. Java + OpenCV 实现图片人脸检测
  13. Java 分布式解决方案
  14. 总结:KPCB中国合伙人周炜
  15. [转载]项目风险管理七种武器-长生剑
  16. Python视觉深度学习系列教程 第二卷 第3章 理解rank-1rank-5精度
  17. 【Python网络蜘蛛 · 8】:moviepy模块实现音频+视频的合成
  18. killer Linux驱动下载,The Linux Killer
  19. css3 中的calc用法
  20. 我的职业是计算机英语,职业英语系列:计算机英语

热门文章

  1. 编译器(GNU GCC clang llvm)
  2. 授人以渔-在 SAP MM 物料显示界面上看到一个字段,如何查找哪张数据库表的哪个字段进行的存储
  3. 微信QQ附近好友雷达扫描
  4. 透析“冰桶挑战”:知大爱,行致远
  5. windows7系统下派克斯(PacketiX)产品使用教程
  6. php留言板发送邮箱功能,留言板新增留言自动发送指定邮箱方法
  7. 从家用游戏机到PC虚拟现实游戏: 《不语者》给我们的启示
  8. 光通信器件与系统(西交大朱京平笔记) -8-4 光栅光纤型波分复用器
  9. SpringBoot新闻管理系统——新闻编辑、修改、发布
  10. eCGI是PLMN+ECI ,ECI (28 Bits) = eNB ID(20 Bits) + Cell ID(8 Bits)(逻辑小区id,范围0~255)