📄 simudata_generater.v
字号:
`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 21:50:20 10/28/2008 // Design Name: // Module Name: simudata_generater // Project Name: // Target Devices: // Tool versions: // Description: //// Dependencies: //// Revision: // Revision 0.01 - File Created// Additional Comments: ////////////////////////////////////////////////////////////////////////////////////module simudata_generater(clk, reset, simu_data,HS,VS); input clk; input reset; output [7:0] simu_data; output HS; output VS; reg HS; reg VS; reg field; reg [7:0] simu_data; reg [9:0] cccc; reg [10:0] ccc; reg [1:0] cc; reg [3:0] c;
reg fg; //parameter Y = 2'b0; //parameter CR = 2'b01; //parameter CB = 2'b10; always @(posedge clk) if(!reset) begin c <=0;cc <= 0; ccc <= 0; simu_data <= 0; HS <= 1; fg <=0;end else begin //////SAV if(ccc==11'd0)begin ccc <= ccc+1; simu_data <= 8'hFF;end if(ccc==11'd1)begin ccc <= ccc+1; simu_data <= 8'h00;end if(ccc==11'd2)begin ccc <= ccc+1; simu_data <= 8'h00;end if(ccc==11'd3)begin ccc <= ccc+1; simu_data <= field?(VS?8'hC7:8'hEC):(VS?8'h80:8'hAB);end //////viedio data if((ccc>=11'd4) && (ccc<=11'd723))begin
/* if(cc == 2'b01 ||cc == 2'b11)begin case (c) 0 : begin simu_data <= 8'h11; c <= c+1; end 1 : begin simu_data <= 8'h12; c <= c+1; end 2 : begin simu_data <= 8'h13; c <= c+1; end 3 : begin simu_data <= 8'h14; c <= c+1; end 4 : begin simu_data <= 8'h15; c <= c+1; end 5 : begin simu_data <= 8'h16; c <= c+1; end 6 : begin simu_data <= 8'h17; c <= c+1; end 7 : begin simu_data <= 8'h18; c <= c+1; end 8 : begin simu_data <= 8'h19; c <= 0; end default : begin simu_data <= 7'h00; c <= 0; end endcase cc <= cc+1; end
*/
if(cc == 2'b01 ||cc == 2'b11)begin
simu_data <= 8'h4C;
cc <= cc+1;
end
else begin simu_data <= 8'h54; cc <= cc+1; end
// if(fg) begin simu_data <= 8'h00; cc <= cc+1; end
// else if(!fg) begin simu_data <= 8'hFF; cc <= cc+1; end //else if(cc == 2'b00) begin simu_data <= 8'h09; cc <= cc+1; end //else if(cc == 2'b10) begin simu_data <= 8'h08; cc <= cc+1; end // else begin simu_data <= 8'h00; cc <= 2'b00; end ccc <= ccc+1; end
if((ccc>=11'd724) && (ccc<=11'd1443))begin
if(cc == 2'b01 ||cc == 2'b11)begin
simu_data <= 8'h4C;
cc <= cc+1;
end
else begin simu_data <= 8'hFF; cc <= cc+1; end
//else if(fg) begin simu_data <= 8'h00; cc <= cc+1; end
// else if(!fg) begin simu_data <= 8'hFF; cc <= cc+1; end
//else if(cc == 2'b00) begin simu_data <= 8'h09; cc <= cc+1; end
//else if(cc == 2'b10) begin simu_data <= 8'h08; cc <= cc+1; end
//else begin simu_data <= 8'h00; cc <= 2'b00; end
ccc <= ccc+1;
end ///////EAV if(ccc==11'd1444)begin ccc <= ccc+1; simu_data <= 8'hFF;end if(ccc==11'd1445)begin ccc <= ccc+1; simu_data <= 8'h00;end if(ccc==11'd1446)begin ccc <= ccc+1; simu_data <= 8'h00;end if(ccc==11'd1447)begin ccc <= ccc+1; simu_data <= field?(VS?8'hDA:8'hF1):(VS?8'h9D:8'hB6);end ///////blanking if(ccc==11'd1448)HS <= 0; if(ccc==11'd1727)HS <= 1; if((ccc>=11'd1448) && (ccc<=11'd1727))begin simu_data <= ccc[0]?8'h80:8'h10; if(ccc ==11'd1727) begin ccc <= 0; fg <= ~fg; end else ccc <= ccc+1; end end always @(posedge HS) //VS <= 1; if(!reset)begin field <=0;cccc <= 10'd300;VS <= 1;end else begin if (cccc == 10'd0) begin field<= 0; cccc <= cccc+1;end else if (cccc ==10'd310) begin VS <= 0; cccc <= cccc+1;end else if (cccc==10'd312) begin field <= 1; cccc <= cccc+1;end else if(cccc==10'd335) begin VS <= 1; cccc <= cccc+1;end else if(cccc==10'd623) begin VS <= 0; cccc <= 0; end else if(cccc==10'd22) begin VS <= 1; cccc <= cccc+1;end else cccc <= cccc+1; end endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -