vVideo Schematic Module
Specification
Inputs
· clk 10 megahertz, 50% duty-cycle clock.
·
nRst
asynchronous reset when low.
· vCntEna valid for one clock cycle (100 nsec) indicating that the vertical counter should change.
Outputs
Suggested implementation
vVideo should be based on 10 bit counter that changes value only when vCntEna is asserted (with the obvious exception of clearing when the asynchronous reset signal, nRst, is low). This counter will be used to create the timing cycle depicted in this waveform. Notice the relationship between vSync and hBright. A closer view of the beginning of the cycle is given in this waveform notice that the 10 bit counter, Vcnt[9:0], at 000 and counts up to 10h22B which is 555. Notice that the count changes only in the cycle after vCntEna is asserted. Since vCntEna is asserted every 30 microseconds, the period of each frame is 16.68 milliseconds (30 microseconds/line * 556 lines). vBright starts when Vcnt is 0 and ends when it is 10h0ff as shown in this waveform. vSync is asserted for three line times between Vcnt[9:0] == 10h187 and Vcnt[9:0]==10h189 as shown here
An asynchronous reset cycle is shown here.
The test bench for vVideo can be similar to the one created for hVideo with the addition of an always block for vCntEna.