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
begin
  Blue_in = 8'b10110101;
  de = 1'b1;
  hsync = 1'b1;
  vsync = 1'b1;
end
initial
begin
    forever #(PERIOD/2)  sys_clk=~sys_clk;
end

initial
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
begin
    Blue_out = 10'b1011000110;
    forever #(PERIOD/2)  sys_clk=~sys_clk;
end

initial
begin
    #(PERIOD/2) sys_rst  =  1;
end

jiema  u_jiema (
    .sys_clk                 ( sys_clk         ),
    .sys_rst                 ( sys_rst         ),
    .Blue_out                ( Blue_out  [9:0] ),

    .data                    ( data      [7:0] )
);

initial
begin

    $finish;
end

endmodule

解码后仿真波形图如下:

 可以看到解码后的数据data=8'b10110101,与最初的输入数据保持一致。(发csdn就是想记录自己的学习进程,大佬勿喷)。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值