Using the VGA controller with block ram generator and clock wizard

From ift

If you want to use the vga controller remember to

  • copy-paste the vga.txt file and save it as vga.vhd
  • copy-paste the Nexys4_Master.txt file and save it as Nexys4_Master.xdc

The vga controller is using a BRAM block to store pixel values. Each pixel has 12-bits and number of pixels projected to the screen is 480x640=307200

  • sw_i(15) -- active high, write enable
  • sw_i(11 downto 0) -- 12-bits for colour changing the screen

CREATING NEW PROJECT

Press create new project

16.png

Press next on the first window that pops up, then you can choose were you want to store your project, click next.

17.png

Choose RTL project and click next

18.png

Add your VHDL file if you have one, if you don’t you can add the VGA-controller file just to make sure that everything works properly. Click next

19.png

Click next

20.png

Add the Nexys4_Master.xdc , this will connect all your I/O, LED, SW etc.

21.png

Choose the xca100tcsg324-1 and click next and then finish.

22.png

Vivado will open, now you can make your own VHDL code or you can follow instruction further if you want to use the VGA controller. If you want to make your own code you can skip the IP part and go to generate bitstream to see how you should implement your code on the FPGA.

23.png

Adding IP’s, clk generator 25.2MHz and BRAM. Click IP Catalog and then

24.png


Search for Clocking Wizard and enter and this will pop up, clocking option should look like this, remember to change the Component name!

25.png

Change the output clock to 25.2MHz

26.png

Port renaming: use names that explains your component, and click OK

27.png

This should pop up, click generate

28.png

Adding BRAM, search for bram and enter the Block Memory Generator and this should pop up. Remember component name

29.png

Port A Options, write width = 12bits, write depth = 307200=(480*640 pixels projected on screen), then click OK and then generate as before and wait until the synthesis is done.

30.png

GENERATE BITSTREAM: click generate bitstream

31.png

If this pops up click yes

32.png

If this message shows, just click ok, it only means that you have pins activated in your Nexys4_Master.xdc that are not in use.

33.png

If later on want to change witch pins are active on your board you can configure this by entering the Nexys4_Master.xdc

34.png

When completed, choose “Open Hardware Manager” and click ok

35.png

At this point connect your NEXY4 board . In the left menu under “program and debug”, click open target => open new target

36.png

Open new Hardware target will pop up, click next two times and this will show. Choose JTAG clock freq. 30 000 000, click next and then finish

37.png

Now you can program your device, click program device and choose your FPGA

38.png

Click program and your device is ready to go.

39.png