Source: https://paginas.fe.up.pt/~electro2/labs/psim-manual.pdf