亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? plback_adv7179.v

?? deinterlace的核心verilog
?? V
?? 第 1 頁 / 共 3 頁
字號:
// FileName     :   plback_adv7179.v
// Module Name  :   plback_adv7179
// Created      :   2006.07.26
// Last Updated :   2006.08.02
// Creator      :   wangyuelong
// Description  :
//      Pass reframe to adv7179 with ITU-R BT.656 pattern
// modify by zhangchi  2007.02.27
`timescale 1ns/1ns
module plback_adv7179(
    sys_clk,
    sys_rstn,
    
    dac_clk,
    dac_pa,
    dac_start,
    
    dac_cmd_req,
    dac_cmd_enb,
    dac_cmd_addr,
    dac_cmd_len,
    dac_cmd_rwn,
    
    mpu_cmd_grant,
    mpu_cmd_data,
    mpu_cmd_vld,
    
    dsp_ref_pic_max,
    dsp_ref_pic_lu,
    dsp_ref_pic_chm,
    dsp_ref_pic_base,
    dsp_ref_pic_ptr,
    
    hsync,
    vsync,
    test_port
    );
    
    input           sys_clk;
    input           sys_rstn;
    
    input           dac_clk;//27M
    input           dac_start;//reference frame is ready
    output  [7:0]   dac_pa;//output to DA
    
    output          dac_cmd_req;
    output          dac_cmd_enb;
    output   [22:0] dac_cmd_addr;    output   [1:0]  dac_cmd_len;
    output          dac_cmd_rwn;
    
    input           mpu_cmd_grant;
    input   [31:0]  mpu_cmd_data;
    input           mpu_cmd_vld;
    
    input   [1:0]   dsp_ref_pic_max;
    input           dsp_ref_pic_lu;
    input           dsp_ref_pic_chm;
    input   [1:0]   dsp_ref_pic_base;
    input   [1:0]   dsp_ref_pic_ptr;
    output          hsync;
    output          vsync;
    output  [31:0]  test_port;
    
    assign  hsync = 1'b0;
    assign  vsync = 1'b0;
    
    reg     [10:0]  col;
    reg     [9:0]   row;
    reg             dac_enb,dac_enb_p0,dac_enb_p1;
    reg             dac_enb_cnt;
    reg     [7:0]   dac_pa;
    
  //  reg     [1:0]   ref_pic;
    reg             dac_cmd_req;
    reg             dac_cmd_enb;
    reg     [22:0]  dac_cmd_addr;
    reg             dac_cmd_req_odd;
    reg             dac_cmd_enb_odd;
    reg     [22:0]  dac_cmd_addr_odd;
    
    reg             rd_buf_flag,rd_buf_flag_d,rd_buf_flag_p;
    reg             rd_buf_flag_dac;
    reg     [9:0]   dpr_rd_luma0_addr;
    reg     [9:0]   dpr_wr_luma0_addr;
    reg     [9:0]   dpr_rd_luma1_addr;
    reg     [9:0]   dpr_wr_luma1_addr;
    reg             dpr_wr_luma_enb0,dpr_wr_luma_enb1,dpr_wr_luma_enb2,dpr_wr_luma_enb3;
    reg     [31:0]  dpr_wr_data;
   
    
    reg     [15:0]  dpr_wr_lu0_data;
    reg     [15:0]  dpr_wr_lu1_data;
    
    reg     [8:0]   dpr_wr_chroma_u_addr;
    reg             dpr_wr_chroma_u_enb0;
    reg             dpr_wr_chroma_u_enb1;
    reg     [8:0]   dpr_rd_chroma_u_addr;
    
    reg     [8:0]   dpr_wr_chroma_v_addr;
    reg             dpr_wr_chroma_v_enb0;
    reg             dpr_wr_chroma_v_enb1;
    reg     [8:0]   dpr_rd_chroma_v_addr;
    
    reg     [2:0]   state,next_state;
    parameter   [2:0]   st_idle         = 3'd0,
                        st_wait         = 3'd1,
                        st_rd_luma      = 3'd2,
                        st_rd_chroma_u  = 3'd3,
                        st_rd_chroma_v  = 3'd4;
    
    reg     [7:0]   col_cnt;
    reg     [6:0]   row_cnt;
    reg             fill_odd_even;//0-even,1-odd
    reg             fill_buf01;
    reg             fill_luma_over,fill_chroma_u_over,fill_chroma_v_over;
    reg     [9:0]   fill_cnt;
    reg     [1:0]   pass_chroma_cnt;
    reg     [5:0]   mb_x,mb_y;
    reg     [7:0]   line_cnt;
    reg     [11:0]  time_cnt;
    
    reg             fill_odd_over;
    
    reg             de_start;
    wire[1:0]       de_row_flag;
    wire            de_luma_vld;
    wire            de_u_vld;
    wire            de_v_vld;
    wire            odd_play_end;
    wire[2:0]       de_write_st;
    
    
    wire            timeout;
             
    wire    [15:0]  luma0,luma1,luma2,luma3;
    wire    [31:0]  chroma_u0,chroma_u1; 
    wire    [31:0]  chroma_v0,chroma_v1;          
    reg     [7:0]   luma,chroma_u,chroma_v;
    wire            enc_start;
    reg             xy_f,xy_v,xy_h;
    wire            xy_p0,xy_p1,xy_p2,xy_p3;
    wire    [7:0]   xy;
    assign  xy_p3 = xy_v ^ xy_h;
    assign  xy_p2 = xy_f ^ xy_h;
    assign  xy_p1 = xy_f ^ xy_v;
    assign  xy_p0 = xy_f ^ xy_v ^ xy_h;
    assign  xy = {1'b1,xy_f,xy_v,xy_h,xy_p3,xy_p2,xy_p1,xy_p0};
    
    assign  enc_start = dac_start;
    assign  dac_cmd_len = 2'b11;
    assign  dac_cmd_rwn = 1'b1;//always read
    
    assign  timeout = time_cnt == 12'hfff;
   
    assign  test_port[31:13] = dac_cmd_addr_odd[18:0];
    assign  test_port[12:9]    =    mpu_cmd_data[31:28];
    assign  test_port[8]    = timeout;
    assign  test_port[7:5]  = state[2:0];
    assign  test_port[4:1]  = {mpu_cmd_vld,dac_cmd_enb_odd,mpu_cmd_grant,dac_cmd_req_odd};
    assign  test_port[0]    = fill_chroma_u_over;//dac_clk;//(state == st_wait) & (next_state == st_rd_luma);
    
    wire    deint_cmd_req_t;
    wire    deint_cmd_enb_t;
    wire[22:0]  deint_cmd_addr_t;
    wire[31:0]  de_out_lu_data;
    wire[31:0]  de_out_u_data;
    wire[31:0]  de_out_v_data;
    wire        de_out_luma_enb;
    wire        de_out_u_enb;
    wire        de_out_v_enb;
    
    wire        lowest_lu_enb; 
    wire        lowest_u_enb; 
    wire        lowest_v_enb; 
    
   
    
    always @ ( fill_odd_even,dac_cmd_req_odd,dac_cmd_enb_odd,dac_cmd_addr_odd,deint_cmd_req_t,deint_cmd_enb_t, deint_cmd_addr_t)
       begin
        
             if ( fill_odd_even == 1'b0 )
               begin
                  dac_cmd_req  <= dac_cmd_req_odd ;
                  dac_cmd_enb  <= dac_cmd_enb_odd;
                  dac_cmd_addr[22:0]  <= dac_cmd_addr_odd[22:0];
               end
             else
               begin
                  dac_cmd_req  <= deint_cmd_req_t ;
                  dac_cmd_enb  <= deint_cmd_enb_t;
                  dac_cmd_addr[22:0]  <= deint_cmd_addr_t[22:0];
               end 
       end
     
    // chipscope insert
    
//     wire [35:0] chipscope_icon_1_control0;//     wire [31:0] scope_data;
//   ila//    chipscope_ila (//      .control ( chipscope_icon_1_control0 ),//      .clk ( sys_clk ),//      .trig0 (scope_data ) //   ); ///icon //   chipscope_icon ( //     .control0 ( chipscope_icon_1_control0 )//    );
//    assign    scope_data[31:16] = de_out_lu_data[31:16];
//    assign    scope_data[15:8] = de_out_u_data[31:24];
//    assign    scope_data[7] = de_luma_vld;
//    assign    scope_data[6] = de_start;
//    assign    scope_data[5] = lowest_lu_enb;
 //   assign    scope_data[4] = fill_odd_even;
 //   assign    scope_data[3] = dac_cmd_req_odd;
    
     de_inter   de_inter (
              
               .sys_clk ( sys_clk ),
               .sys_rstn ( sys_rstn ),
               .mpu_cmd_grant( mpu_cmd_grant),
               .mpu_cmd_data ( mpu_cmd_data),
               .mpu_cmd_vld( mpu_cmd_vld),
               .deint_cmd_req( deint_cmd_req_t ),
               .deint_cmd_enb( deint_cmd_enb_t),
               .deint_cmd_addr( deint_cmd_addr_t),
               .de_start  ( de_start ),
               .de_luma_vld ( de_luma_vld),
               .de_u_vld ( de_u_vld ),
               .de_v_vld ( de_v_vld ),
               .de_row_flag ( de_row_flag ),
               .odd_play_end ( odd_play_end ),
               .de_out_lu_data ( de_out_lu_data),
               .de_out_u_data ( de_out_u_data ),
               .de_out_v_data ( de_out_v_data ),
               .de_out_luma_enb ( de_out_luma_enb ),
               .de_out_u_enb ( de_out_u_enb ),
               .de_out_v_enb ( de_out_v_enb ),
               .lowest_lu_enb ( lowest_lu_enb ),
               .lowest_u_enb ( lowest_u_enb ),
               .lowest_v_enb ( lowest_v_enb ),
               .rd_buf_flag ( rd_buf_flag),
               .rd_buf_flag_d ( rd_buf_flag_d )
               
               
     
                   );
     
 
    always @(row, luma0,luma1,luma2,luma3)
    begin
        if(row <= 10'd309) 
            case(row[2:0])
                3'b000: luma <= luma1[15:8];
                3'b001: luma <= luma1[7:0];
                3'b010: luma <= luma2[15:8];
                3'b011: luma <= luma2[7:0];
                
                3'b100: luma <= luma3[15:8];
                3'b101: luma <= luma3[7:0];
                3'b110: luma <= luma0[15:8];
                3'b111: luma <= luma0[7:0];
                
            endcase
        else
            case(row[2:0])
                3'b000: luma <= luma0[7:0];
                3'b001: luma <= luma1[15:8];
                3'b010: luma <= luma1[7:0];
                3'b011: luma <= luma2[15:8];
                
                3'b100: luma <= luma2[7:0];
                3'b101: luma <= luma3[15:8];
                3'b110: luma <= luma3[7:0];
                3'b111: luma <= luma0[15:8];
                
            endcase
    end
    
    always @(row, chroma_u0,chroma_u1)
    begin
        if(row <= 10'd309) 
            case(row[2:0])
                3'b000: chroma_u    <= chroma_u0[15:8];
                3'b001: chroma_u    <= chroma_u0[7:0];
                3'b010: chroma_u    <= chroma_u1[31:24];
                3'b011: chroma_u    <= chroma_u1[23:16];
                3'b100: chroma_u    <= chroma_u1[15:8];
                3'b101: chroma_u    <= chroma_u1[7:0];
                3'b110: chroma_u    <= chroma_u0[31:24];
                3'b111: chroma_u    <= chroma_u0[23:16];
            endcase
        else
            case(row[2:0])
                3'b000: chroma_u    <= chroma_u0[23:16];
                3'b001: chroma_u    <= chroma_u0[15:8];
                3'b010: chroma_u    <= chroma_u0[7:0];
                3'b011: chroma_u    <= chroma_u1[31:24];
                3'b100: chroma_u    <= chroma_u1[23:16];
                3'b101: chroma_u    <= chroma_u1[15:8];
                3'b110: chroma_u    <= chroma_u0[7:0];
                3'b111: chroma_u    <= chroma_u0[31:24];
            endcase
    end
    
    always @(row, chroma_v0,chroma_v1)
    begin
        if(row <= 10'd309) 
            case(row[2:0])
                3'b000: chroma_v    <= chroma_v0[15:8];
                3'b001: chroma_v    <= chroma_v0[7:0];
                3'b010: chroma_v    <= chroma_v1[31:24];
                3'b011: chroma_v    <= chroma_v1[23:16];
                3'b100: chroma_v    <= chroma_v1[15:8];
                3'b101: chroma_v    <= chroma_v1[7:0];
                3'b110: chroma_v    <= chroma_v0[31:24];
                3'b111: chroma_v    <= chroma_v0[23:16];
            endcase
        else
            case(row[2:0])
                3'b000: chroma_v    <= chroma_v0[23:16];
                3'b001: chroma_v    <= chroma_v0[15:8];
                3'b010: chroma_v    <= chroma_v0[7:0];
                3'b011: chroma_v    <= chroma_v1[31:24];
                3'b100: chroma_v    <= chroma_v1[23:16];
                3'b101: chroma_v    <= chroma_v1[15:8];
                3'b110: chroma_v    <= chroma_v0[7:0];
                3'b111: chroma_v    <= chroma_v0[31:24];
            endcase
    end
    
    always @(row)
    begin
        if(row < 10'd312)
            xy_f    <= 0;
        else
            xy_f    <= 1;
    end
    
    always @(row)
    begin
        if(((row >= 10'd22)&(row <= 10'd309)) | ((row >= 10'd335)&(row <= 10'd622)))
            xy_v    <= 0;
        else
            xy_v    <= 1;
    end
    
    always @(col)
    begin
        if(col < 11'd4)
            xy_h    <= 1;
        else
            xy_h    <= 0;
    end
    
    //output fsm
    always @(posedge dac_clk)
    begin
        dac_enb     <= dac_enb_p0;
        dac_enb_p0  <= dac_enb_p1;
    end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区在线免费观看| 制服视频三区第一页精品| 精品日韩99亚洲| 久久精品国产网站| 日韩美女在线视频| 黄页视频在线91| 久久亚洲影视婷婷| 国产成人免费视频一区| 国产精品久久久久久亚洲伦| 成人av资源站| 一卡二卡欧美日韩| 日韩一区二区三区四区五区六区| 黄网站免费久久| 国产日韩欧美精品电影三级在线 | 99国产精品视频免费观看| 国产精品二三区| 欧美视频在线不卡| 蜜臀久久99精品久久久画质超高清| 91精品国产色综合久久不卡电影 | 一区二区三区成人| 欧美日韩一级二级三级| 久久 天天综合| 欧美国产精品一区二区| 在线精品观看国产| 理论片日本一区| 一区二区中文字幕在线| 欧美三级韩国三级日本一级| 黑人巨大精品欧美一区| 亚洲视频图片小说| 欧美一二区视频| 成人av网站免费| 婷婷成人激情在线网| 久久综合久久99| 欧美无乱码久久久免费午夜一区| 狠狠狠色丁香婷婷综合激情| 伊人色综合久久天天| 日韩欧美视频一区| 色婷婷精品久久二区二区蜜臂av | 久久精品一区二区三区不卡牛牛| 日本丶国产丶欧美色综合| 美女国产一区二区三区| 综合在线观看色| 精品国产一区二区三区忘忧草| 97久久超碰国产精品| 国产真实乱偷精品视频免| 亚洲精品国产视频| 国产欧美日韩视频一区二区 | 99热精品国产| 国产一区二区免费看| 图片区日韩欧美亚洲| 亚洲理论在线观看| 国产欧美在线观看一区| 日韩西西人体444www| 色屁屁一区二区| 成人免费视频免费观看| 久久黄色级2电影| 亚洲成人你懂的| 亚洲男人天堂一区| 久久久一区二区三区| 日韩精品专区在线| 91精品婷婷国产综合久久性色| 91看片淫黄大片一级在线观看| 国产mv日韩mv欧美| 九九国产精品视频| 奇米精品一区二区三区四区| 亚洲国产另类av| 伊人婷婷欧美激情| 亚洲精品videosex极品| 中文字幕日韩精品一区| 欧美激情中文不卡| 欧美国产精品一区二区三区| 亚洲精品在线观看视频| 欧美一区二区三级| 91精品久久久久久蜜臀| 欧美精品久久久久久久久老牛影院 | 精品一区二区免费在线观看| 视频一区在线视频| 丝袜亚洲另类欧美| 亚洲福利视频三区| 五月婷婷欧美视频| 日韩高清中文字幕一区| 国产一区二区三区蝌蚪| 日韩高清中文字幕一区| 捆绑紧缚一区二区三区视频 | 日韩美女在线视频| 日韩精品一区二区三区四区视频| 欧美不卡在线视频| 亚洲精品在线三区| 国产精品无遮挡| 国产精品久久久久永久免费观看 | 7777精品伊人久久久大香线蕉超级流畅 | 粉嫩aⅴ一区二区三区四区五区| 国产酒店精品激情| 成人激情av网| 一本色道久久综合亚洲aⅴ蜜桃| 91丨国产丨九色丨pron| 欧美在线观看视频在线| 51午夜精品国产| 26uuu色噜噜精品一区二区| 日本一区二区三级电影在线观看| 中文av一区特黄| 中文字幕在线不卡一区| 一区二区久久久久久| 五月婷婷激情综合网| 精品系列免费在线观看| 国产精品系列在线观看| 91麻豆国产福利精品| 91麻豆精品国产自产在线| 国产日本欧美一区二区| 亚洲人一二三区| 奇米影视一区二区三区| 成人成人成人在线视频| 91麻豆精品国产自产在线 | 91精品国产综合久久福利| 欧美xxxx老人做受| 亚洲婷婷综合色高清在线| 亚洲超丰满肉感bbw| 国产精品99久久久久久宅男| 一本久久a久久免费精品不卡| 日韩一区二区在线免费观看| 国产精品拍天天在线| 午夜激情久久久| 国产传媒久久文化传媒| 欧美三级电影网站| 久久久久成人黄色影片| 亚洲成人精品一区| 福利电影一区二区三区| 欧美日韩一区视频| 国产欧美一区二区精品性色| 亚洲第一福利视频在线| 国产精品自拍毛片| 欧美日韩视频在线观看一区二区三区 | 午夜日韩在线电影| 国产精品亚洲专一区二区三区| 色婷婷精品久久二区二区蜜臂av | 精品视频123区在线观看| 亚洲成a天堂v人片| 国产精品 欧美精品| 欧美一区二区在线视频| 亚洲情趣在线观看| 国产精品一区二区果冻传媒| 欧美另类z0zxhd电影| 中文字幕一区二区三区不卡| 老司机午夜精品99久久| 欧美日韩国产美| 最新不卡av在线| 国产成人夜色高潮福利影视| 欧美一区二区三区公司| 亚洲二区在线观看| 日本高清免费不卡视频| 日韩一区日韩二区| 成人毛片在线观看| 久久色在线视频| 免费观看30秒视频久久| 精品视频一区二区三区免费| 一区二区免费在线| 91国偷自产一区二区开放时间| 日本一区二区久久| 风间由美性色一区二区三区| 久久久另类综合| 国产精品456| 久久网站最新地址| 国产高清在线观看免费不卡| 久久久久久久久久久电影| 日本午夜精品一区二区三区电影| 欧美在线色视频| 亚洲蜜臀av乱码久久精品| 色综合天天在线| 亚洲欧美色图小说| 欧美少妇一区二区| 婷婷综合另类小说色区| 91精品在线免费观看| 另类小说图片综合网| www激情久久| 国产电影一区二区三区| 国产精品国产三级国产普通话蜜臀 | 最新成人av在线| 色一情一乱一乱一91av| 亚洲综合男人的天堂| 91黄色小视频| 日韩高清不卡一区二区三区| 欧美日韩精品一区二区三区蜜桃| 亚洲国产成人高清精品| 91精品国产综合久久精品app | 亚洲一区二区偷拍精品| 欧美日韩精品欧美日韩精品一| 亚洲成人av福利| 日韩欧美区一区二| 国产大陆亚洲精品国产| 国产精品久久久久9999吃药| 色综合天天综合网天天看片| 亚洲一区二区欧美激情| 欧美一区二区视频网站| 国产不卡视频在线播放| 有坂深雪av一区二区精品| 在线成人免费观看| 国产精品99久久久久久似苏梦涵| 最好看的中文字幕久久| 欧美日韩午夜精品| 国产精品亚洲午夜一区二区三区|