/16-bit-alu

16 Bit ALU (Arithmetic Logic Unit) with automated and manual testing implemented on a MOJO FPGA

Primary LanguageJupyter Notebook

MOJO FPGA : 16-Bit ALU & Automated & Manual Tester

SUTD - 50.002 Computation Structures 1D Project

mojo_top - switches between automated and manual testing modes : mojo_top.luc

manual ALU tester - for testing the ALU manually using the 24 dip switches on the MOJO FPGA IO Shield : alu_tester.luc

automated ALU tester - for automatically running the test cases for each ALU operation implemented, terminates at error state and displays 'E' on the seven-segment display if the particular test case does not produce the expected output : alu_tester_auto.luc

ALU statement tester - displays the input A, B, opcode and ALU output values in sequence, terminates at error state and displays 'E' on the seven-segment display if the particular test case does not produce the expected output : alu_statement_tester.luc

16-Bit ALU - Implemented functions :

ADD, SUB, AND, OR, XOR, "A", SHL, SHR, SRA, CMPEQ, CMPLT, CMPLE

Additional functions implemented: MULT, NAND, NOR, XNOR, MODULO

alu_16_bit.luc

Helper Scripts - Python helper scripts used to generate some portions of the automated tester here