VGA (Video Graphics Array)

VGA stands for Video Graphics Adapter or Video Graphics Array,. It was first introduced with IBM® PS/2 computer in 1987. VGA Controller is the digital circuit designed to drive VGA displays. It reads from Frame Buffer (VGA Memory) which represents the frame to be displayed, and generates necessary data and sync signals for display purpose.

VGA provides 640 x 480 resolution color display screens with a refresh rate of 60 Hz and 16 colors displayed at a time. If the resolution is lowered to 320 x 200, 256 colors are shown, we will do the calculations later. VGA utilizes analog signals, which means it's only capable of lower resolutions and a lower quality display on screens.

How do VGA Monitors Work?

A VGA Monitor can be thought of as a grid of pixels where each pixel is a picture elements that can be set to a specific color. There are 480 rows and each row consists of 640 pixels. The VGA interface works serially, that is, color information for each respective pixels is sent one after the other, as opposed to all at once.

Colors can be represented using a triplet consisting of the intensities of each fundamental color (Red, Green, Blue). The monitor expects these values to be analog, and thus a DAC (Digital to Analog Convertor) is used. The DE2 Educational Board has a 10-bit DAC, that is, it uses 10 bits to represent the intensity of each channel (Red, Green, or Blue), for a total of 30 bits. Depending on the type of monitor and video card you use at home, your computer uses either 16, 24, or 32 bits to encode this color information.

An important fact to realize is that the VGA monitor does not have memory and thus will not store the pixel information being written to it. Instead, the pixels must be continuously sent to the display to achieve a stable image. The VGA Adapter does have memory and will be responsible for constantly sending out the pixel information.

VGA connector

A DE-15 connector, commonly known as a VGA connector, is a three row 15-pin D-subminiature Connector (named after their D-shaped metal shield). The name of each pin is shown in Fig. 1 below. We will only concentrate on the 5 signals out of 15 pins in this project. These signals are Red, Grn, Blue, HS, and VS. Red, Grn, and Blue are three analog signals that specify the color of a point on the screen, while HS and VS provide a positional reference of where the point should be displayed on the screen. By properly driving these five signals according to the VGA timing specification, we can display everything we want on any monitors.

Pin Description of VGA connector:

PIN SIGNAL NAME DESCRIPTION
1 Red Red video signal
2 Green Green video signal
3 Blue Blue video signal
4 MONID(0) Monitor ID signal 0
5 GND DDCReturn
6, 7, 8 A GND_VID Analog video ground
9 +5V_IO 5 VPower for I/O device
10 GND HSYNC and VSYNC ground
11 VGA_ID VGA ID signal
12 MONID(2) Monitor ID signal 2
13 HSYNC Horizontal synchronization signal
14 VSYNC Vertical synchronization signal
15 MONID(1) Monitor ID signal 1

What has replaced the VGA connector?

It is not uncommon to still find the VGA cable and connector with today's computers, monitors, projectors, and TVs. However, this type of connector is becoming obsolete and being replaced by the DVI, HDMI, DisplayPort cable and connector.

How can I connect an older VGA monitor to a newer computer?

Newer video cards no longer have VGA connectors, which makes it difficult to use older displays. However, converters can take the VGA signal to a connector supported by the video card.

VGA Calculation

A frame which is the smallest unit of display consists of a number of scan lines. A single frame usually consists of :

  • Horizontal and Vertical Frontporch pixels
  • Horizontal and Vertical Backporch pixels
  • Horizontal and Vertical Display Pixels
  • Horizontal and Vertical Sync Pulse Widths and Polarities.
The horizontal and vertical scan line together makes a single frame of display, this is shown below.

For any VGA display chosen, you have to first calculate the frequency of Pixel Clock needed to drive it if it is not given or you have to calculate it and It depends on 3 parameters:

  • Total Horizontal Pixels,
  • Total Vertical Pixels,
  • Screen Refresh Rate.
Typically, F = THP * TVP * Refresh Rate

HSYNC and VSYNC signals are generated from Pixel clock and they are the signals which mark the end and beginning of the display area in both the horizontal and vertical scan lines, the VGA signal only displays on the display area. The timing of HSYNC and VSYNC signals depend on number of parameters: Horizontal and Vertical Frontporch, Horizontal and Vertical Backporch, Horizontal and Vertical Display Pixels, Horizontal and Vertical Sync Pulse Widths and Polarities.

Example Timing Calculation for 640x480@60Hz

So, if given:
Pixel clock = approx. 25MHz
Refresh rate = 60 Hz
Horizontal display area = 640 Pixels
Horizontal Back porch BP = 16 Pixels
Horizontal Front porch FP = 16 Pixels
Horizontal Sync Pulse SP = 128 Pixels
Vertical display area = 480 Pixels
Vertical Back porch BP = 29 Pixels
Vertical Front porch FP = 10 Pixels
Vertical Sync Pulse SP = 2 Pixels
Calculate:
Refresh time = 1/60 Hz = 16.67ms
(Refresh rate is 60hz, refresh time is how long it takes to scan one frame)
Pixel time = 1/25 MHz = 0.04µs
(Pixel time, is how long it takes to scan one pixel)
Total horizontal Pixels = 640 + 16 + 16 + 128 = 800 Pixels
Horizontal scan time = 800 * 0.04 µs = 32 µs
(Horizontal scan time is how long it takes to scan one line)
Therefore 16.67ms / 32 µs = 521 Horizontal scan lines per frame
Total Vertical Pixels = 480 + 29 + 10 + 2 = 521 Pixels
Vertical back porch time = 29 Pixels * 32 µs = 0.928ms
Vertical front porch time = 10 Pixels * 32 µs = 0.320ms
Vertical sync time = 2 Pixels * 32 µs = 0.064ms
Vertical display time = 480 Pixels * 32 µs = 15.360ms
Refresh time = (0.928 + 0.320 + 0.064 + 15.360)ms = 16.67 ms
Refresh rate = 1/16.67ms = 60Hz
Frame size = 800 * 521 = 416,800 Pixels
Therefore 416,800 * 0.04 µs = 16.67 ms Refresh time

s/n DESCRIPTION TIME WIDTH/FREQ
1 Pixel Clock 0.04µs 25MHz
2 Refresh rate 16.67ms 60Hz
3 Hor. Sync time 5.12µs 128 Pixels/Line
4 Hor. Back porch 0.64µs 16 Pixels/Line
5 Hor. Front porch 0.64µs 16 Pixels/Line
6 Hor. Display area 25.60µs 640 Pixels/Line
6 Total Hor. Pixel 32µs 800 Pixels/Line
7 Vert. Sync time 0.064ms 2 Pixels
8 Vert. Back porch 0.928ms 29 Pixels
9 Vert. Front porch 0.320ms 10 Pixels
10 Vert. Display area 15.360ms 480 Pixels
11 Total Vert. Pixel 16.67ms 521 Pixels

Hints

First of all, you need a clock divider to generate the pixel clock, which provides a timing reference to HS and VS signals. The pixel clock frequency is 25.175MHz in the specification. However, with ±0.5% accuracy, 25MHz can be acceptable as well. And obviously, 25MHz is easy to generate on your FPGA boards with the clock divider you implemented in previous projects.

Secondly, you need two counters, a counter (horizontal counter) to count pixels in each line and another counter (vertical counter) to count lines in a frame. The horizontal counter needs to reset itself when it reaches the end of the line (799 in this case), and when it resets itself, it needs to provide a Terminal Count signal to the Enable input of vertical counter so that vertical counter can add 1 when a new line begins. Similarly, vertical counter needs to reset itself when it reaches the end of the frame. So, some changes need to be adapted into the counter you implemented in previous projects into this design.

Based on the counter values, we can compare them to the constant defined in the specification to generate HS and VS signals. Note that you have to drive Red, Grn, and Blue to GND outside the display area.

The figure shows how to integrate VGA Controller with a VGA display. You need two more components to complete the system:

  • Frame Buffer : Memory that holds the frame to be displayed.
  • Video DAC : DAC that converts RGB digital data and drives the VGA Display with RGB analog signals at appropriate voltage level.

One of the simplest and popular Video DACs is ADV7125. It is an 8-bit DAC that converts RGB digital words to 0-0.7 V analog signals and drive the VGA display.

Frame Buffer Design

It is the memory that 'stores' the image to be displayed. It is typically a RAM or sometimes ROM. We will discuss how to design a frame buffer to represent an image. Frame buffer passes this digital info to a Video DAC on command from VGA Controller.

First we have to decide the pixel depth needed. It decides the quality of the image, the variety of colors a pixel can represent. For an 8-bit DAC, we need to represent the primary color components of a pixel: R, G, and B in 8 bits each. It means, a pixel is of 24-bit.

Each pixel is stored in a contiguous manner in Frame Buffer memory locations.
Suppose an image to be displayed is 800x600 pixels.
Therefore Frame Buffer needed is 800x600 = 480000 x 24 bits memory
Total size of the memory is 800x600x24 = 1400 kB approx.
If black and white image, 800x600x1 = 60 kB approx.
Block RAMs maybe used to represent a Frame Buffer in Xilinx FPGAs.

How do Our Monitors Work?

CRT-based VGA displays use amplitude-modulated moving electron beams (or cathode rays) to display information on a phosphor-coated screen. LCD displays use an array of switches that can impose a voltage across a small amount of liquid crystal, thereby changing light permittivity through the crystal on a pixel-by-pixel basis. Although the following description is limited to CRT displays, LCD displays have evolved to use the same signal timings as CRT displays (so the “signals” discussion below pertains to both CRTs and LCDs). Color CRT displays use three electron beams (one for red, one for blue, and one for green) to energize the phosphor that coats the inner side of the display end of a cathode ray tube (see Fig. 2 below).

Electron beams emanate from “electron guns” which are finely-pointed, heated cathodes placed in close proximity to a positively charged annular plate called a “grid.” The electrostatic force imposed by the grid pulls rays of energized electrons from the cathodes, and those rays are fed by the current that flows into the cathodes. These particle rays are initially accelerated towards the grid, but they soon fall under the influence of the much larger electrostatic force that results from the entire phosphor-coated display surface of the CRT being charged to 20kV (or more). The rays are focused to a fine beam as they pass through the center of the grids, and then they accelerate to impact on the phosphor-coated display surface. The phosphor surface glows brightly at the impact point, and it continues to glow for several hundred microseconds after the beam is removed. The larger the current fed into the cathode, the brighter the phosphor will glow.

Between the grid and the display surface, the beam passes through the neck of the CRT where two coils of wire produce orthogonal electromagnetic fields. Because cathode rays are composed of charged particles (electrons), they can be deflected by these magnetic fields. Current waveforms are passed through the coils to produce magnetic fields that interact with the cathode rays and cause them to transverse the display surface in a “raster” pattern, horizontally from left to right and vertically from top to bottom, as shown in Fig. 3. As the cathode ray moves over the surface of the display, the current sent to the electron guns can be increased or decreased to change the brightness of the display at the cathode ray impact point.

Information is only displayed when the beam is moving in the “forward” direction (left to right and top to bottom), and not during the time the beam is reset back to the left or top edge of the display. Much of the potential display time is therefore lost in “blanking” periods when the beam is reset and stabilized to begin a new horizontal or vertical display pass. The size of the beams, the frequency at which the beam can be traced across the display, and the frequency at which the electron beam can be modulated determine the display resolution.

VGA Timing Specification

Modern VGA displays can accommodate different resolutions, and a VGA controller circuit dictates the resolution by producing timing signals to control the raster patterns. The controller must produce synchronizing pulses at 3.3V (or 5V) to set the frequency at which current flows through the deflection coils, and it must ensure that video data is applied to the electron guns at the correct time. Raster video displays define a number of “rows” that corresponds to the number of horizontal passes the cathode makes over the display area, and a number of “columns” that corresponds to an area on each row that is assigned to one “picture element”, or pixel. Typical displays use from 240 to 1200 rows and from 320 to 1600 columns. The overall size of a display and the number of rows and columns determines the size of each pixel.

Video data typically comes from a video refresh memory; with one or more bytes assigned to each pixel location (the Nexys4 uses 12-bits per pixel, Nexys 2, Nexys 3 and Basys2 uses 8-bits). The controller must index into video memory as the beams move across the display, and retrieve and apply video data to the display at precisely the time the electron beam is moving across a given pixel.

A VGA controller circuit must generate the HS and VS timings signals and coordinate the delivery of video data based on the pixel clock. The pixel clock defines the time available to display one pixel of information. The VS signal defines the “refresh” frequency of the display, or the frequency at which all information on the display is redrawn. The minimum refresh frequency is a function of the display's phosphor and electron beam intensity, with practical refresh frequencies falling in the 50Hz to 120Hz range. The number of lines to be displayed at a given refresh frequency defines the horizontal “retrace” frequency.

Cable Quality

The same VGA cable can be used for various supported VGA resolutions, ranging from 320 × 400px @70 Hz, or 320 × 480px @60 Hz (signal bandwidth is 12.6 MHz) to 1280 × 1024px (SXGA) @85 Hz (160 MHz) and up to 2048 × 1536px (QXGA) @85 Hz (388 MHz).

There is no standard that defines the quality required for each resolution, but high-quality cables usually conclude coaxial wiring and insulation, making them thicker. Shorter VGA cables are unlikely to cause significant signal attenuation.

High-quality cables should not be affected by signal crosstalk so that signals in one wire can induce an unwanted current in adjacent wires or ghosting. Ghosting occurs when the impedance does not match, and the ohm (Ω) in the 75 specification causes the signal to be reflected. However, ghosting with long cables may be caused by incorrectly terminated devices or passive cable splitters rather than the cables themselves.

Some high-end monitors and video cards have five independent BNC connectors for RGBHV signals, and five 75-ohm coaxial cables can be used to achieve the highest quality connection. In the 15-pin connector, the red, green, and blue signals (pins 1, 2, and 3) cannot be shielded from each other, so crosstalk may occur in the 15-pin interconnect.

The BNC maintains complete coaxial shielding with circular connectors to prevent crosstalk, but the connectors are very large and bulky. The requirement to press and turn the plug shell to disconnect the connection requires access space around each connector to allow the grasping of each BNC plug shell. BNC usually does not support supplementary signals, such as DDC.

Availability

Newer video cards usually do not have VGA output. The DVI-I output, still containing analog VGA compatible signals, is usually omitted. Thus, if the user wants to connect a monitor or projector with only a VGA input, the user will usually need to use an active converter to receive digital signals from a DVI-D or HDMI or DisplayPort connector and convert them to VGA analog signals. Only older series video cards and motherboards (used with integrated GPUs) may still have VGA or DVI-I connectors.





John Doe
06:36:31pm On 2021.01.18
Thank you so much for such a great lecture..
John Doe
06:37:42pm On 2021.01.18
I came looking for help getting some old drivers working. holy shit, this is some in depth stuff. nice videos man.
John Doe
06:38:08pm On 2021.01.18
Thank you very much. Outstanding explanation.
John Doe
06:39:43pm On 2021.01.18
How you get every pixel size in different regions for example in porchs.
John Doe
06:43:28pm On 2021.01.18
nice one tbro.
John Doe
11:03:23pm On 2021.01.20
Sir , Can you also post a tutorial on how to use the HDMI. Boards having ADV7511 Chip. Which is little bit easier.
John Doe
07:38:33am On 2022.01.24
I think the figure "VGA Horizontal Synchronization" is not completely correct. The same section on the horizontal sync. signal is first named front porch and the then back porch. The 2nd section should be right before the falling edge of the syn.
John Doe
01:20:13pm On 2022.05.06
how safe is hydroxychloroquine <a href="https://keys-chloroquinehydro.com/#">chloroquine buy</a>.
John Doe
10:55:08am On 2022.06.08
Wwepgy cialis free voucher https://newfasttadalafil.com/ - Cialis Fnvvrp <a href=https://newfasttadalafil.com/>Cialis</a> Drug Study About Amoxicillin https://newfasttadalafil.com/ - Cialis Ubrhln.
John Doe
08:09:18pm On 2022.09.26
hitch delude workshop <a href=http://bag33ondu.com>bag33ondu.com</a> <a href= http://bag33ondu.com >bag33ondu.com</a> http://bag33ondu.com governor incidentally eskimo .
Jane Doe
12:01:26am On 2024.01.17
vtPQ
Jane Doe
12:01:33am On 2024.01.17
vtPQ
Jane Doe
12:01:36am On 2024.01.17
vtPQ
Jane Doe
12:01:38am On 2024.01.17
vtPQ
Jane Doe
12:01:40am On 2024.01.17
vtPQ
Jane Doe
12:01:42am On 2024.01.17
vtPQ
Jane Doe
12:01:43am On 2024.01.17
vtPQ
Jane Doe
12:01:47am On 2024.01.17
vtPQ
Jane Doe
12:01:50am On 2024.01.17
vtPQ
Jane Doe
12:01:51am On 2024.01.17
vtPQ
Jane Doe
12:01:53am On 2024.01.17
vtPQ
Jane Doe
12:01:55am On 2024.01.17
vtPQ
Jane Doe
12:01:56am On 2024.01.17
vtPQ
Jane Doe
12:01:58am On 2024.01.17
vtPQ
Jane Doe
12:01:59am On 2024.01.17
vtPQ
Jane Doe
12:02:01am On 2024.01.17
vtPQ
Jane Doe
12:02:02am On 2024.01.17
vtPQ
Jane Doe
12:02:04am On 2024.01.17
vtPQ
Jane Doe
12:02:06am On 2024.01.17
vtPQ
Jane Doe
12:02:07am On 2024.01.17
vtPQ
Jane Doe
12:02:09am On 2024.01.17
vtPQ
Jane Doe
12:02:11am On 2024.01.17
vtPQ
Jane Doe
12:02:13am On 2024.01.17
vtPQ
Jane Doe
12:02:15am On 2024.01.17
vtPQ
Jane Doe
12:02:16am On 2024.01.17
vtPQ
Jane Doe
12:02:20am On 2024.01.17
vtPQ
Jane Doe
12:02:21am On 2024.01.17
vtPQ
Jane Doe
12:02:23am On 2024.01.17
vtPQ
Jane Doe
12:02:24am On 2024.01.17
vtPQ
Jane Doe
12:02:27am On 2024.01.17
vtPQ
Jane Doe
12:02:28am On 2024.01.17
vtPQ
Jane Doe
12:02:30am On 2024.01.17
vtPQ
Jane Doe
12:02:32am On 2024.01.17
vtPQ
Jane Doe
12:02:34am On 2024.01.17
vtPQ
Jane Doe
12:02:35am On 2024.01.17
vtPQ
Jane Doe
12:02:37am On 2024.01.17
vtPQ
Jane Doe
12:02:38am On 2024.01.17
vtPQ
Jane Doe
12:02:40am On 2024.01.17
vtPQ
Jane Doe
12:02:42am On 2024.01.17
vtPQ
Jane Doe
12:02:45am On 2024.01.17
vtPQ
Jane Doe
12:02:47am On 2024.01.17
vtPQ
Jane Doe
12:02:48am On 2024.01.17
vtPQ
Jane Doe
12:02:50am On 2024.01.17
vtPQ
Jane Doe
12:02:51am On 2024.01.17
vtPQ
Jane Doe
12:02:58am On 2024.01.17
vtPQ
Jane Doe
12:02:59am On 2024.01.17
vtPQ
Jane Doe
12:03:01am On 2024.01.17
vtPQ
Jane Doe
12:03:02am On 2024.01.17
vtPQ
Jane Doe
12:03:04am On 2024.01.17
vtPQ
Jane Doe
12:03:06am On 2024.01.17
vtPQ
Jane Doe
12:03:08am On 2024.01.17
vtPQ
Jane Doe
12:03:10am On 2024.01.17
vtPQ
Jane Doe
12:03:11am On 2024.01.17
vtPQ
Jane Doe
12:03:13am On 2024.01.17
vtPQ
Jane Doe
12:03:16am On 2024.01.17
vtPQ
Jane Doe
12:03:18am On 2024.01.17
vtPQ
Jane Doe
12:03:20am On 2024.01.17
vtPQ
Jane Doe
12:03:21am On 2024.01.17
vtPQ
Jane Doe
12:03:23am On 2024.01.17
vtPQ
Jane Doe
12:03:24am On 2024.01.17
vtPQ
Jane Doe
12:03:26am On 2024.01.17
vtPQ
Jane Doe
12:03:28am On 2024.01.17
vtPQ
Jane Doe
12:03:29am On 2024.01.17
vtPQ
Jane Doe
12:03:31am On 2024.01.17
vtPQ
Jane Doe
12:03:33am On 2024.01.17
vtPQ
Jane Doe
12:03:35am On 2024.01.17
vtPQ
Jane Doe
12:03:37am On 2024.01.17
vtPQ
Jane Doe
12:03:39am On 2024.01.17
vtPQ
Jane Doe
12:03:41am On 2024.01.17
vtPQ
Jane Doe
12:03:42am On 2024.01.17
vtPQ
Jane Doe
12:03:44am On 2024.01.17
vtPQ
Jane Doe
12:03:45am On 2024.01.17
vtPQ
Jane Doe
12:03:47am On 2024.01.17
vtPQ
Jane Doe
12:03:48am On 2024.01.17
vtPQ
Jane Doe
12:03:50am On 2024.01.17
vtPQ
Jane Doe
12:03:53am On 2024.01.17
vtPQ
Jane Doe
12:03:55am On 2024.01.17
vtPQ
Jane Doe
12:03:56am On 2024.01.17
vtPQ
Jane Doe
12:03:58am On 2024.01.17
vtPQ
Jane Doe
12:04:00am On 2024.01.17
vtPQ
Jane Doe
12:04:03am On 2024.01.17
vtPQ
Jane Doe
12:04:07am On 2024.01.17
vtPQ
Jane Doe
12:04:08am On 2024.01.17
vtPQ
Jane Doe
12:04:10am On 2024.01.17
vtPQ
Jane Doe
12:04:12am On 2024.01.17
vtPQ
Jane Doe
12:04:13am On 2024.01.17
vtPQ
Jane Doe
12:04:15am On 2024.01.17
vtPQ
Jane Doe
12:04:17am On 2024.01.17
vtPQ
Jane Doe
12:04:18am On 2024.01.17
vtPQ
Jane Doe
12:04:20am On 2024.01.17
vtPQ
Jane Doe
12:04:21am On 2024.01.17
vtPQ
Jane Doe
12:04:23am On 2024.01.17
vtPQ
Jane Doe
12:04:24am On 2024.01.17
vtPQ
Jane Doe
12:04:26am On 2024.01.17
vtPQ
Jane Doe
12:04:28am On 2024.01.17
vtPQ
Jane Doe
12:04:30am On 2024.01.17
vtPQ
Jane Doe
12:04:32am On 2024.01.17
vtPQ
Jane Doe
12:04:33am On 2024.01.17
vtPQ
Jane Doe
12:04:37am On 2024.01.17
vtPQ
Jane Doe
12:04:39am On 2024.01.17
vtPQ
Jane Doe
12:04:40am On 2024.01.17
vtPQ
Jane Doe
12:04:42am On 2024.01.17
vtPQ
Jane Doe
12:04:44am On 2024.01.17
vtPQ
Jane Doe
12:04:45am On 2024.01.17
vtPQ
Jane Doe
12:04:48am On 2024.01.17
vtPQ
Jane Doe
12:04:49am On 2024.01.17
vtPQ
Jane Doe
12:04:51am On 2024.01.17
vtPQ
Jane Doe
12:04:53am On 2024.01.17
vtPQ
Jane Doe
12:04:54am On 2024.01.17
vtPQ
Jane Doe
12:04:56am On 2024.01.17
vtPQ
Jane Doe
12:04:57am On 2024.01.17
vtPQ
Jane Doe
12:04:59am On 2024.01.17
vtPQ
Jane Doe
12:05:02am On 2024.01.17
vtPQ
Jane Doe
12:05:04am On 2024.01.17
vtPQ
Jane Doe
12:05:06am On 2024.01.17
vtPQ
Jane Doe
12:05:07am On 2024.01.17
vtPQ
Jane Doe
12:05:09am On 2024.01.17
vtPQ
Jane Doe
12:05:16am On 2024.01.17
vtPQ
Jane Doe
12:05:17am On 2024.01.17
vtPQ
Jane Doe
12:05:19am On 2024.01.17
vtPQ
Jane Doe
12:05:21am On 2024.01.17
vtPQ
Jane Doe
12:05:22am On 2024.01.17
vtPQ
Jane Doe
12:05:24am On 2024.01.17
vtPQ
Jane Doe
12:05:26am On 2024.01.17
vtPQ
Jane Doe
12:05:28am On 2024.01.17
vtPQ
Jane Doe
12:05:29am On 2024.01.17
vtPQ
Jane Doe
12:05:31am On 2024.01.17
vtPQ
Jane Doe
12:05:33am On 2024.01.17
vtPQ
Jane Doe
12:05:35am On 2024.01.17
vtPQ
Jane Doe
12:05:38am On 2024.01.17
vtPQ
Jane Doe
12:05:39am On 2024.01.17
vtPQ
Jane Doe
12:05:41am On 2024.01.17
vtPQ
Jane Doe
12:05:43am On 2024.01.17
vtPQ
Jane Doe
12:05:44am On 2024.01.17
vtPQ
Jane Doe
12:05:46am On 2024.01.17
vtPQ
Jane Doe
12:05:48am On 2024.01.17
vtPQ
Jane Doe
12:05:49am On 2024.01.17
vtPQ
Jane Doe
12:05:51am On 2024.01.17
vtPQ
Jane Doe
12:05:53am On 2024.01.17
vtPQ
Jane Doe
12:05:54am On 2024.01.17
vtPQ
Jane Doe
12:05:57am On 2024.01.17
vtPQ
Jane Doe
12:05:58am On 2024.01.17
vtPQ
Jane Doe
12:06:00am On 2024.01.17
vtPQ
Jane Doe
12:06:02am On 2024.01.17
vtPQ
Jane Doe
12:06:03am On 2024.01.17
vtPQ
Jane Doe
12:06:05am On 2024.01.17
vtPQ
Jane Doe
12:06:06am On 2024.01.17
vtPQ
Jane Doe
12:06:08am On 2024.01.17
vtPQ
Jane Doe
12:06:11am On 2024.01.17
vtPQ
Jane Doe
12:06:13am On 2024.01.17
vtPQ
Jane Doe
12:06:15am On 2024.01.17
vtPQ
Jane Doe
12:06:16am On 2024.01.17
vtPQ
Jane Doe
12:06:18am On 2024.01.17
vtPQ
Jane Doe
12:06:25am On 2024.01.17
vtPQ
Jane Doe
12:06:26am On 2024.01.17
vtPQ
Jane Doe
12:06:28am On 2024.01.17
vtPQ
Jane Doe
12:06:29am On 2024.01.17
vtPQ
Jane Doe
12:06:31am On 2024.01.17
vtPQ
Jane Doe
12:06:33am On 2024.01.17
vtPQ
Jane Doe
12:06:34am On 2024.01.17
vtPQ
Jane Doe
12:06:36am On 2024.01.17
vtPQ
Jane Doe
12:06:37am On 2024.01.17
vtPQ
Jane Doe
12:06:39am On 2024.01.17
vtPQ
Jane Doe
12:06:42am On 2024.01.17
vtPQ
Jane Doe
12:06:43am On 2024.01.17
vtPQ
Jane Doe
12:06:45am On 2024.01.17
vtPQ
Jane Doe
12:06:47am On 2024.01.17
vtPQ
Jane Doe
12:06:50am On 2024.01.17
vtPQ
Jane Doe
12:06:52am On 2024.01.17
vtPQ
Jane Doe
12:06:53am On 2024.01.17
vtPQ
Jane Doe
12:06:55am On 2024.01.17
vtPQ
Jane Doe
12:06:57am On 2024.01.17
vtPQ
Jane Doe
12:06:59am On 2024.01.17
vtPQ
Jane Doe
12:07:01am On 2024.01.17
vtPQ
Jane Doe
12:07:03am On 2024.01.17
vtPQ
Jane Doe
12:07:04am On 2024.01.17
vtPQ
Jane Doe
12:07:06am On 2024.01.17
vtPQ
Jane Doe
12:07:07am On 2024.01.17
vtPQ
Jane Doe
12:07:09am On 2024.01.17
vtPQ
Jane Doe
12:07:10am On 2024.01.17
vtPQ
Jane Doe
12:07:12am On 2024.01.17
vtPQ
Jane Doe
12:07:15am On 2024.01.17
vtPQ
Jane Doe
12:07:16am On 2024.01.17
vtPQ
Jane Doe
12:07:18am On 2024.01.17
vtPQ
Jane Doe
12:07:19am On 2024.01.17
vtPQ
Jane Doe
12:07:21am On 2024.01.17
vtPQ
Jane Doe
12:07:27am On 2024.01.17
vtPQ
Jane Doe
12:07:29am On 2024.01.17
vtPQ
Jane Doe
12:07:31am On 2024.01.17
vtPQ
Jane Doe
12:07:32am On 2024.01.17
vtPQ
Jane Doe
12:07:34am On 2024.01.17
vtPQ
Jane Doe
12:07:36am On 2024.01.17
vtPQ
Jane Doe
12:07:37am On 2024.01.17
vtPQ
Jane Doe
12:07:39am On 2024.01.17
vtPQ
Jane Doe
12:07:40am On 2024.01.17
vtPQ
Jane Doe
12:07:42am On 2024.01.17
vtPQ
Jane Doe
12:07:44am On 2024.01.17
vtPQ
Jane Doe
12:07:46am On 2024.01.17
vtPQ
Jane Doe
12:07:48am On 2024.01.17
vtPQ
Jane Doe
12:07:50am On 2024.01.17
vtPQ
Jane Doe
12:07:53am On 2024.01.17
vtPQ
Jane Doe
12:07:54am On 2024.01.17
vtPQ
Jane Doe
12:07:56am On 2024.01.17
vtPQ
Jane Doe
12:07:58am On 2024.01.17
vtPQ
Jane Doe
12:08:00am On 2024.01.17
vtPQ
Jane Doe
12:08:02am On 2024.01.17
vtPQ
Jane Doe
12:08:04am On 2024.01.17
vtPQ
Jane Doe
12:08:06am On 2024.01.17
vtPQ
Jane Doe
12:08:07am On 2024.01.17
vtPQ
Jane Doe
12:08:09am On 2024.01.17
vtPQ
Jane Doe
12:08:10am On 2024.01.17
vtPQ
Jane Doe
12:08:12am On 2024.01.17
vtPQ
Jane Doe
12:08:13am On 2024.01.17
vtPQ
Jane Doe
12:08:15am On 2024.01.17
vtPQ
Jane Doe
12:08:18am On 2024.01.17
vtPQ
Jane Doe
12:08:20am On 2024.01.17
vtPQ
Jane Doe
12:08:21am On 2024.01.17
vtPQ
Jane Doe
12:08:23am On 2024.01.17
vtPQ
Jane Doe
12:08:24am On 2024.01.17
vtPQ
Jane Doe
12:08:28am On 2024.01.17
vtPQ
Jane Doe
12:08:31am On 2024.01.17
vtPQ
Jane Doe
12:08:33am On 2024.01.17
vtPQ
Jane Doe
12:08:34am On 2024.01.17
vtPQ
Jane Doe
12:08:36am On 2024.01.17
vtPQ
Jane Doe
12:08:38am On 2024.01.17
vtPQ
Jane Doe
12:08:39am On 2024.01.17
vtPQ
Jane Doe
12:08:41am On 2024.01.17
vtPQ
Jane Doe
12:08:42am On 2024.01.17
vtPQ
Jane Doe
12:08:44am On 2024.01.17
vtPQ
Jane Doe
12:08:45am On 2024.01.17
vtPQ
Jane Doe
12:08:47am On 2024.01.17
vtPQ
Jane Doe
12:08:48am On 2024.01.17
vtPQ
Jane Doe
12:08:50am On 2024.01.17
vtPQ
Jane Doe
12:08:52am On 2024.01.17
vtPQ
Jane Doe
12:08:54am On 2024.01.17
vtPQ
Jane Doe
12:08:56am On 2024.01.17
vtPQ
Jane Doe
12:08:58am On 2024.01.17
vtPQ
Jane Doe
12:09:01am On 2024.01.17
vtPQ
Jane Doe
12:09:02am On 2024.01.17
vtPQ
Jane Doe
12:09:04am On 2024.01.17
vtPQ
Jane Doe
12:09:05am On 2024.01.17
vtPQ
Jane Doe
12:09:07am On 2024.01.17
vtPQ
Jane Doe
12:09:09am On 2024.01.17
vtPQ
Jane Doe
12:09:11am On 2024.01.17
vtPQ
Jane Doe
12:09:13am On 2024.01.17
vtPQ
Jane Doe
12:09:14am On 2024.01.17
vtPQ
Jane Doe
12:09:16am On 2024.01.17
vtPQ
Jane Doe
12:09:18am On 2024.01.17
vtPQ
Jane Doe
12:09:19am On 2024.01.17
vtPQ
Jane Doe
12:09:21am On 2024.01.17
vtPQ
Jane Doe
12:09:23am On 2024.01.17
vtPQ
Jane Doe
12:09:25am On 2024.01.17
vtPQ
Jane Doe
12:09:27am On 2024.01.17
vtPQ
Jane Doe
12:09:28am On 2024.01.17
vtPQ
Jane Doe
12:09:30am On 2024.01.17
vtPQ
Jane Doe
12:09:31am On 2024.01.17
vtPQ
Jane Doe
12:09:37am On 2024.01.17
vtPQ
Jane Doe
12:09:39am On 2024.01.17
vtPQ
Jane Doe
12:09:41am On 2024.01.17
vtPQ
Jane Doe
12:09:43am On 2024.01.17
vtPQ
Jane Doe
12:09:44am On 2024.01.17
vtPQ
Jane Doe
12:09:46am On 2024.01.17
vtPQ
Jane Doe
12:09:48am On 2024.01.17
vtPQ
Jane Doe
12:09:49am On 2024.01.17
vtPQ
Jane Doe
12:09:51am On 2024.01.17
vtPQ
Jane Doe
12:09:53am On 2024.01.17
vtPQ
Jane Doe
12:09:54am On 2024.01.17
vtPQ
Jane Doe
12:09:57am On 2024.01.17
vtPQ
Jane Doe
12:09:59am On 2024.01.17
vtPQ
Jane Doe
12:10:01am On 2024.01.17
vtPQ
Jane Doe
12:10:02am On 2024.01.17
vtPQ
Jane Doe
12:10:04am On 2024.01.17
vtPQ
Jane Doe
12:10:06am On 2024.01.17
vtPQ
Jane Doe
12:10:08am On 2024.01.17
vtPQ
Jane Doe
12:10:09am On 2024.01.17
vtPQ
Jane Doe
12:10:11am On 2024.01.17
vtPQ
Jane Doe
12:10:12am On 2024.01.17
vtPQ
Jane Doe
12:10:14am On 2024.01.17
vtPQ
Jane Doe
12:10:16am On 2024.01.17
vtPQ
Jane Doe
12:10:18am On 2024.01.17
vtPQ
Jane Doe
12:10:20am On 2024.01.17
vtPQ
Jane Doe
12:10:22am On 2024.01.17
vtPQ
Jane Doe
12:10:23am On 2024.01.17
vtPQ
Jane Doe
12:10:25am On 2024.01.17
vtPQ
Jane Doe
12:10:27am On 2024.01.17
vtPQ
Jane Doe
12:10:29am On 2024.01.17
vtPQ
Jane Doe
12:10:30am On 2024.01.17
vtPQ
John Doe
04:17:24pm On 2022.09.30
terleme kilo kaybД±aids kilo kaybД± ne zaman baЕџlar <a href="https://kilo-kayb-stres.thehottrader.online/">kilo kayb? stres</a> safra kesesi taЕџ veya iltihap varsa kilo kaybД± yaЕџanДÂ.
John Doe
04:41:02pm On 2022.10.13
<a href="https://turhaberleri.online/">Türkiye Haberleri</a>.
Jane Doe
06:50:20am On 2023.01.19
ProjectFpga.com [url=http://www.gei625gn96c194b2vaf56jy1v4oqm990s.org/]ufjjmzqqn[/url] fjjmzqqn http://www.gei625gn96c194b2vaf56jy1v4oqm990s.org/ <a href="http://www.gei625gn96c194b2vaf56jy1v4oqm990s.org/">afjjmzqqn</a>
Jane Doe
02:11:17pm On 2023.04.09
For over the years, we have collected thousands and thousands of internet marketing training courses on every single topic like Ecommerce, Drop Shipping, Facebook Marketing, Digital Marketing, SEO, CPA, PPC etc, from all the top gurus worth more then 500k
John Doe
02:09:54am On 2023.07.11
<a href=https://megaremont.pro/grodno-restavratsiya-vann>megaremont restoration of baths</a>.
Jane Doe
06:33:47pm On 2023.07.18
ProjectFpga.com <a href="http://www.gyv495gzn522hcxo8t6j9152n33p03des.org/">aljgllpbzl</a> ljgllpbzl http://www.gyv495gzn522hcxo8t6j9152n33p03des.org/ [url=http://www.gyv495gzn522hcxo8t6j9152n33p03des.org/]uljgllpbzl[/url]
John Doe
06:24:14pm On 2023.08.22
cialis gel capsules <a href="https://tadalafilise.cyou/">wholesale cialis suppliers</a> tadalafil von cipla versus lily cialis .
Jane Doe
07:10:24am On 2023.09.25
Hey,projectfpga.com Admin As a small business owner, “be a graphic design expert” probably wasn’t what you signed up for. AdCreative.ai takes this process off your hands, giving you incredible wallet-opening ad creatives. Test,
Jane Doe
05:24:17pm On 2023.10.09
Dear projectfpga.com Webmaster, Are you struggling to improve your online presence and reach your target audience? Look no further than my expert SEO services at https://fiverrseoer.com/. With over 8 years of experience and a focus on competitor resear
Jane Doe
11:46:56pm On 2023.11.25
Hello there, Are you ready to take your online business to the next level? Our website offers thousands of most comprehensive collection of make money online training courses on every topics, from affiliate marketing and eCommerce to social media adver
Jane Doe
11:41:06am On 2023.12.06
Are you ready to take your online business to the next level? Our website offers thousands of most comprehensive collection of make money online training courses on every topics, from affiliate marketing and eCommerce to social media advertising and SEO.
Jane Doe
06:07:57pm On 2023.12.07
Are you ready to take your online business to the next level? Our website offers thousands of most comprehensive collection of make money online training courses on every topics, from affiliate marketing and eCommerce to social media advertising and SEO.
Jane Doe
05:03:02pm On 2023.12.10
Are you ready to take your online business to the next level? Our website offers thousands of most comprehensive collection of make money online training courses on every topics, from affiliate marketing and eCommerce to social media advertising and SEO.
Jane Doe
03:12:28pm On 2023.12.15
Are you ready to take your online business to the next level? Our website offers thousands of most comprehensive collection of make money online training courses on every topics, from affiliate marketing and eCommerce to social media advertising and SEO.
Jane Doe
08:54:50pm On 2023.12.21
Hello: Looking to make money as an affiliate marketer? https://youtu.be/Fns8D7wzswU?si=aLsG9uvOVJU9BA1E or: https://affiliates-corners.com Opt out of future messages by replying to this message and stating opt out. projectfpga.com
Jane Doe
08:51:18am On 2023.12.25
Are you ready to take your online business to the next level? Our website offers thousands of most comprehensive collection of make money online training courses on every topics, from affiliate marketing and eCommerce to social media advertising and SE
Jane Doe
08:12:43am On 2023.12.29
Hello, I hope this email finds you well. We re reaching out to share an incredible opportunity that could change the game for you, our platform offers a wide range of training courses, covering everything from affiliate marketing and e-commerce to freela
John Doe
01:43:34pm On 2024.01.01
We wish to thank you just as before for the lovely ideas you offered Jeremy when preparing a post-graduate research as well as, most importantly, with regard to providing many of the ideas within a blog post. If we had known of your web page a year a.
Jane Doe
04:47:46am On 2024.01.04
Over the years we have collected thousands and thousands of digital marketing training couses and softwares, worth more then million dollor. For just one-time investment of $39 you will get lifetime access to everything we offer for a limited time.
John Doe
07:49:05pm On 2024.01.05
We wish to thank you once again for the wonderful ideas you gave Jeremy when preparing a post-graduate research in addition to, most importantly, pertaining to providing the many ideas in a blog post. In case we had been aware of your web page a year.
John Doe
04:19:52am On 2024.01.15
There is not enough reliable information about the safety of taking barley if you are breast feeding <a href=https://cialiss.skin>cheap cialis no prescription</a>.
Jane Doe
01:26:24pm On 2024.01.15
Take Your Internet Marketing Business To Next Level With Our Huge Collection Of Training Courses and softwares. NEW COURSES ADDED TODAY * Anthony Rousek – Super Affiliate Sniper * Gabe Legion Schillinger – Producer Funnel Secrets+SCORPI
Jane Doe
07:03:44pm On 2024.01.23
Take Your Internet Marketing Business To Next Level With Our Huge Collection Of Training Courses and softwares. If you can t find what you are looking for in our collection, you can always send us a request we will try to get it for you within 48hours.
Jane Doe
05:42:18pm On 2024.01.24
Take Your Internet Marketing Business To Next Level With Our Huge Collection Of Training Courses and softwares. New Courses Added Today Ricky Mataka – Auto Drop Servicing Paul James – 4 Week Automated Income Workshop Chris Naugle â
Jane Doe
02:59:44pm On 2024.01.27
Take Your Internet Marketing Business To Next Level With Our Huge Collection Of Training Courses and softwares. Visit our Site to download Million Dolllos Worth of Courses. https://procrackteam.com To your success Procrack Team
Jane Doe
02:54:00pm On 2024.01.30
Take Your Internet Marketing Business To Next Level With Our Million Dollor Database, With Huge Collection Of Training Courses and softwares. Do Visit Our Site https://procrackteam.com To your success Procrack Team
Jane Doe
04:08:19pm On 2024.02.04
Take Your Internet Marketing Business To Next Level With Our Million Dollor Database, With Huge Collection Of Training Courses and softwares. Do Visit Our Site https://procrackteam.com To your success Procrack Team
John Doe
06:06:24pm On 2024.02.07
Wow, superb blog layout! How lengthy have you been running a blog for? you make running a blog look easy. The overall look of your site is fantastic, let alone the content material! You can see similar: https://evolusta.top and here Evolusta.top.
Jane Doe
06:58:43pm On 2024.02.15
New Courses Added Today Perry Belcher – Email Stacking Formula Philipe Reis – Youtuber Pro Club Life Design – The Power Of Instagram Paul Roetzer – Piloting AI for Marketers Series Jordan Mackey – Tube Monetization & Automation Progra
John Doe
12:55:54pm On 2024.03.02
Hello There. I found your blog using msn. This is an extremely well written article. I will make sure to bookmark it and come back to read more of your useful info. Thanks for the post. I will definitely comeback. I saw similar here: najlepszy skl.
Jane Doe
10:32:18pm On 2024.03.14
Take Your Internet Marketing Business To Next Level With Our Huge Collection Of Training Courses and software s, from All the Top Gurus. Do Visit Our Site https://procrackteam.com To your success Procrack Team
John Doe
11:59:04pm On 2024.03.21
Can I simply say what a relief to uncover an individual who truly understands what they re discussing over the internet. You certainly realize how to bring a problem to light and make it important. More and more people have to read this and understa.
John Doe
01:07:35am On 2024.03.22
It is actually a nice and useful piece of information. I m satisfied that you shared this helpful info with us. Please keep us up to date like this. Thanks for sharing. I saw similar here: Sklep internetowy.
John Doe
03:48:54am On 2024.03.22
Thanks in favor of sharing such a good thought, article is fastidious, thats why i have read it completely I saw similar here: Sklep online.
John Doe
12:52:20am On 2024.03.29
Hey there! Do you know if they make any plugins to assist with Search Engine Optimization? I m trying to get my blog to rank for some targeted keywords but I m not seeing very good gains. If you know of any please share. Many thanks! You can read sim.
John Doe
07:44:23pm On 2024.03.29
Hey there! Do you know if they make any plugins to assist with SEO? I m trying to get my blog to rank for some targeted keywords but I m not seeing very good results. If you know of any please share. Kudos! You can read similar blog here: Sklep inte.
John Doe
05:05:48pm On 2024.04.03
Hey! Do you know if they make any plugins to help with Search Engine Optimization? I m trying to get my blog to rank for some targeted keywords but I m not seeing very good results. If you know of any please share. Appreciate it! You can read similar.
John Doe
11:39:23am On 2024.04.04
Hello there! Do you know if they make any plugins to help with Search Engine Optimization? I m trying to get my blog to rank for some targeted keywords but I m not seeing very good gains. If you know of any please share. Kudos! I saw similar article he.