You are going to need a character set definition store, and some method to determining what you want displayed where. I dont think your CPLD has internal memory (though I may be wrong), but as a (very) rough guide, you are going to need approx 16k bits to store a character set (upper case and punctuation @ 16 x 16 bits per char). You could possibly use some external memory.
Then you need some sort of logic or statemachine that will take what you want displayed, and display it at the correct time and place within a VGA 'frame'. Try looking at google, searching for VGA driver. This will give you the specs of how to drive your VGA output with the correct timings for the display mode that you require.
Then you just drive the R,G & B outputs at the right time - and it will appear on your display.