31
037- hcnt <= hcnt + 1;
038- ELSE
039-
hcnt <= "000000000";
040- END IF;
041- END IF;
042- END PROCESS;
043-
044- inc_vert_line_counter:
045- PROCESS(int_hsyncb,reset)
046- BEGIN
047- IF reset='1' THEN -- reset asynchronously clears line counter
048- vcnt <= "0000000000";
049- ELSIF (int_hsyncb'EVENT AND int_hsyncb='1') THEN
050- IF vcnt<527
THEN -- vert. line counter rolls-over after 528 lines
051-
vcnt <= vcnt + 1;
052- ELSE
053-
vcnt <= "0000000000";
054- END IF;
055- END IF;
056- END PROCESS;
057-
058- generate_horiz_sync:
059- PROCESS(clk,reset)
060- BEGIN
061- IF reset='1' THEN -- reset asynchronously inactivates horiz sync
062- int_hsyncb <= '1';
063- ELSIF (clk'EVENT AND clk='1') THEN
064- IF (hcnt>=291 AND hcnt<337) THEN
065-
-- horiz. sync is low in this interval to signal start of new line
066- int_hsyncb <= '0';
067- ELSE
068-
int_hsyncb <= '1';
069- END IF;
070- END IF;
071- hsyncb <= int_hsyncb; -- output the horizontal sync signal
072- END PROCESS;
073-
074- generate_vert_sync:
075- PROCESS(int_hsyncb,reset)
076- BEGIN
077- IF reset='1' THEN -- reset inactivates vertical sync
078- vsyncb <= '1';
079- -- vertical sync is recomputed at the end of every line of pixels
080- ELSIF (int_hsyncb'EVENT AND int_hsyncb='1') THEN
081- IF (vcnt>=490 AND vcnt<492) THEN
082-
-- vert. sync is low in this interval to signal start of new frame
083- vsyncb <= '0';
084- ELSE
085-
vsyncb <= '1';
086- END IF;
087- END IF;
088- END PROCESS;
089-
090- -- blank video outside of visible region: (0,0) -> (255,479)
Summary of Contents for XStend XS40
Page 17: ...16 Figure 5 Programmer s model of the XS40 XStend Board combination...
Page 18: ...17...
Page 20: ......
Page 31: ......
Page 33: ......
Page 41: ......
Page 58: ...Appendix A XStend Schematics...
Page 59: ...XStend V1 3 XS Board Connectors...
Page 60: ...XStend V1 3 RAM...
Page 61: ......
Page 62: ...XStend V1 3 Stereo Codec...
Page 63: ......