Source: https://easytp.cnam.fr/alexandre/index_fichiers/support/zynq_cours_tp_vivado_basys3.pdf