This is my implementation of a simple Arithmetic and Logic Unit (ALU). It consists of four different blocks, each performing a specific functionality. A block can be selected with the "select" (S) input. Within each block, a specific operation can be chosen with the "mode" (M) input. The available operations of the ALU can be seen in the function table below.