User`s manual
87 .addr(ntsc_out_addr));
88
89 parameter NEXT_PIXEL_ST = 2’b00;
90 parameter WAIT_FOR_DIV_ST = 2’b01;
91 parameter WAIT_FOR_MEM_ST = 2’b10;
92 parameter BLACK = 12’d0;
93 reg[1:0] cur_state = NEXT_PIXEL_ST;
94 always @(posedge clk) begin
95 case (cur_state)
96 NEXT_PIXEL_ST: begin
97 vga_in_wr <= 0;
98 div_start <= 1;
99 cur_state <= WAIT_FOR_DIV_ST;
100 if ((cur_x == 639) && (cur_y == 479)) begin
101 cur_x <= 0;
102 cur_y <= 0;
103 num_x <= p3_inv;
104 num_y <= p6_inv;
105 denom <= p9_inv;
106 end
107 else if ((cur_x == 639) && (cur_y != 479)) begin
108 cur_x <= 0;
109 cur_y <= cur_y + 1;
110 num_x <= num_x - dec_numx_horiz + p2_inv;
111 num_y <= num_y - dec_numy_horiz + p5_inv;
112 denom <= denom - dec_denom_horiz + p8_inv;
113 end
114 else if (cur_x != 639) begin
115 cur_x <= cur_x + 1;
116 cur_y <= cur_y;
117 num_x <= num_x + p1_inv;
118 num_y <= num_y + p4_inv;
119 denom <= denom + p7_inv;
120 end
121 end
122
123 WAIT_FOR_DIV_ST: begin
124 vga_in_wr <= 0;
125 div_start <= 0;
126 if (div_done_x == 1) begin
127 cur_state <= WAIT_FOR_MEM_ST;
128 end
129 end
130
131 WAIT_FOR_MEM_ST: begin
132 if ((inv_x < 0) || (inv_x > 639) || (inv_y < 0) || (inv_y > 479)) begin
234