Wednesday, February 16, 2022

Building the MEGA65 core for NEXYS4-DDR ( A7 )

The question here is, why build your own core?  Well there really isn't any reason for the average user to do this.  However if you're interested in dabbling with the code and trying to see how it works, building your own core is really the only way to learn.

If you don't want to build your own core, just get the official core from here:

https://files.mega65.org/html/main.php

So without further-a-do here it is, I hope you find it interesting even if it's not useful to you.

Development Board : NEXYS4-DDR

 

The NEXYS4-DDR development board uses the XC7A100T-1CSG324C fpga
 
It should be noted that this board has been replaced by the NEXYS A7.  
The website suggests this board is nearly identical. 
There are TWO versions of the A7 a 100T and a cheaper 50T.
You will need to more expensive100T version. 

Virtual Machine : VMware Workstation

 
For this exercise I will building my Dev box using VMware Workstation, simply because I have a workstation license and I build all of my Dev machines in individual VM's to stop software bloat. Feel free to use a virtual ( or bare metal ) platform of your choice.
 

Host VM OS : Ubuntu 20.04.3 LTS

 

Ubuntu 20.04.3 LTS is supported by Vivado so install this. I installed an older LTS version then upgraded, save yourself the hassle and just go straight to this version.


Vivado Software : Vivado ML Standard 2021.2


Free Standard version of Vivado ML.  Vivado ML Standard supports the XC7A100T.
You will need to make a free account on the website first. 

Let's do it!


Create a VM

 
The screenshots are pretty self explanatory.  Please use Ubuntu 20.04.3 LTS!
 



Vivado is BIG, so be sure to allocate enough disk space to install it.

Compiling cores is a very intensive process.  Allocate as much CPU and Memory as you can.

Installing Vivado ML

 
Before you start you need to create yourself a free account and then sign in.

Once complete you can go to this URL : 

The Free Standard edition is all that you need.

Grab the Linux Web Installer ( the full install is huge and you just don't need it ).

Once you have downloaded it, run the following commands to start the installer.



This is the same account you made right at the start to download the installer.

Just choose Vivado.

Standard Edition is what you need.

Remove all of the items you will not need to keep the install small.


The Mega65 Makefile expects the install to be in "/opt/Xilinx"



Installing other required software

 
Become the root user

Install the following software using apt:

  • apt install git
  • apt install libpng-dev 


 
You may also need to install "make" and "gcc" via apt, I did not need to for some reason (I may have installed them and forgotten)
  • apt install make
  • apt install gcc
 

Download, compile and install "exomizer"

 
This is a separate piece of software that you will need to manually download, compile and install







 

Finally time to get and compile the MEGA65 core

 
Clone the MEGA65 github repository 
 

 
You are now ready to build the core, start it, walk away and watch TV.

 
When complete the bin file will be here.