//如果是8位的话,只选择低8位传输
//因为同步码也是可以自己设置,所以把同步码设置成parameter最好
module embeded_2_separate_sync(
input clk,
input [:] din,
output[:] dout,
output h_black_out,//包括同步码在内的Black
output v_black_out,//包括同步码在内的Black
output h_no_sync_black_out,//不包括同步码在内的Black
output h_sync_black_out,//只在4个同步码周期为高电平
output de_o,
output reg [:] line_cnt//计算行数 );
parameter VAL_SAV = 'h80;
parameter VAL_EAV = 'h9d;
parameter IVAL_SAV = 'hab;
parameter IVAL_EAV = 'hb6; parameter DATA_WIDTH = ;
reg [DATA_WIDTH-:] v_data [:] ; always @( posedge clk )
begin
v_data[] <= din;
end
genvar i ;
generate for( i = ;i <= ;i = i+ )
begin :data_dly
always@( posedge clk )begin
v_data[i+] <= v_data[i];
end
assign dout = v_data[]; end
endgenerate
wire [:] time_ref_code;
reg [:] time_ref_code_r = ;
assign time_ref_code[] = (v_data[][:] == 'hff ) ? 1'b1 : 'b0;
assign time_ref_code[] = (v_data[][:] == 'h00 ) ? 1'b1 : 'b0;
assign time_ref_code[] = (v_data[][:] == 'h00 ) ? 1'b1 : 'b0;
assign time_ref_code[] = (v_data[][:] ==VAL_SAV ) ?'b1 : 1'b0;
assign time_ref_code[] = (v_data[][:] ==VAL_EAV ) ?'b1 : 1'b0;
assign time_ref_code[] = (v_data[][:] ==IVAL_SAV) ?'b1 : 1'b0;
assign time_ref_code[] = (v_data[][:] ==IVAL_EAV) ?'b1 : 1'b0; always @( posedge clk )
begin
time_ref_code_r <= time_ref_code;
end // reg h_sync;
// reg v_sync;
reg h_sync_r = ;
reg v_sync_r = ;
always @( posedge clk )
begin
case(time_ref_code_r )
'h71 :begin h_sync_r = 1'b0; v_sync_r = 'b0; end
'h72 :begin h_sync_r = 1'b1; v_sync_r = 'b0; end
'h74 :begin h_sync_r = 1'b0; v_sync_r = 'b1; end
'h78 :begin h_sync_r = 1'b1; v_sync_r = 'b1; end
default : begin h_sync_r = h_sync_r; v_sync_r = v_sync_r; end
endcase
end reg [:] h_sync_dly = ;
reg [:] v_sync_dly = ;
always @( posedge clk )
begin
h_sync_dly[:] <= {h_sync_dly[:],h_sync_r};
v_sync_dly[:] <= {v_sync_dly[:],v_sync_r};
end reg [:] h_sync_r2 = 'b00;
reg [:] v_sync_r2 = 'b00;
always @( posedge clk )
begin
v_sync_r2[:] <= {v_sync_r2[],v_sync_r};
h_sync_r2[:] <= {h_sync_r2[],h_sync_r};
end
wire pos_h = (h_sync_r2 == 'b01);
wire pos_v = (v_sync_r2 == 'b01);
always @( posedge clk )
begin
if( pos_v )
line_cnt <= ;
else if( pos_h )
line_cnt <= line_cnt + 'b1;
else
line_cnt <= line_cnt;
end wire h_black ;
wire h_no_sync_black;
wire h_sync_black;
reg h_black_r = ;
reg v_black_r = ;
reg h_no_sync_black_r = ;
reg h_sync_black_r = ;
reg h_sync_orign_r = ;
reg de_r = ;
assign h_black = h_sync_r | h_sync_dly[] ;
assign h_no_sync_black = h_sync_r & h_sync_dly[] ;
assign h_sync_black = h_black^h_no_sync_black ;
always @( posedge clk )
begin
h_black_r <= h_black;
de_r <= v_sync_r ? :~h_black;
v_black_r <= v_sync_r;
h_no_sync_black_r <= h_no_sync_black;
h_sync_black_r <= h_sync_black;
h_sync_orign_r <= h_sync_r;
end assign h_black_out = h_black_r;
assign v_black_out = v_black_r;
assign h_no_sync_black_out = h_no_sync_black_r;
assign h_sync_black_out = h_sync_black_r;
assign de_o = de_r;
endmodule

embeded_2_separate_sync的更多相关文章

随机推荐

  1. StringBuffer 和 StringBuilder 类

    当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类. 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够 ...

  2. webpack(一) 安装使用 之css使用注意

    在webpackDemo 文件夹中新建 style.css,index.html style.css 中将背景色设为红色. body{ background-color: red; } he'llWo ...

  3. c# 24种设计模式

    备忘录模式(Memento Pattern) 策略模式(Strategy Pattern) 抽象工厂模式(Abstract Factory Pattern) 代理模式(Proxy Pattern) 单 ...

  4. ListView的自定义适配器及其优化(listView序号混乱问题的处理)

    ListView是最常使用的android组件之一,关于listView的优化问题刚刚了解了一些,在这里做出总结. PS:如果想让ListView中的item根据数据内容显示item的大小,需要在it ...

  5. Liunx Pwd

    Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. ...

  6. poj 2528(线段树+离散化) 市长的海报

    http://poj.org/problem?id=2528 题目大意是市长竞选要贴海报,给出墙的长度和依次张贴的海报的长度区间(参考题目给的图),问最后你能看见的海报有几张 就是有的先贴的海报可能会 ...

  7. java8 数据结构的改变(一)

    在JDK1.6,JDK1.7中,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里.但是当数组中一个位置上的元素较多,即hash值相等的元素较多时,通过key ...

  8. iOS.NS_DEPRECATED_IOS

    如何处理被NS_DEPRECATED_IOS标记的selector, 例如:类 AVAudioSession中有: - (BOOL)setPreferredHardwareSampleRate:(do ...

  9. 转录本组装软件StringTie的使用说明

    转录本组装软件StringTie的使用说明 StringTie 转录本组装软件StringTie的使用说明 转录组分析流程 HISTA + StringTie 组合.其Protocol 发表在Natu ...

  10. Java中的权限修饰符

    What:访问控制权限是可以设置代码的访问范围. Where:访问权限既可以修饰类中的属性,又可以修饰类中的方法,而public和default还可以修饰类. 在同一个java文件里,公有类有且仅有一 ...