48 4-bits sequential ALU

48 : 4-bits sequential ALU

Design renderSelect Project123456789ONSW2
  • Author: Diego Satizabal
  • Description: A 4-bits sequential ALU that takes operands and opcode seqentially and performs operations and outputs results
  • GitHub repository
  • Clock: 0 Hz

How it works

The ALU takes 4-bits wide Operators and Operation sequentially with every clock cycle if the enabled signal is set to high, it takes an additional clock to output the result

How to test

Run make from the command line in the src directory to perform all tests suites, you must have Python, cocotb and Icarus Verilog installed If you have GTK Wave installed you can run the command make test_gtkwave to generate the VCD output, the run gtkwave tb.vcd to see the waveforms

IO

#InputOutput
0clockresult_0
1resetresult_1
2enabledresult_2
3result_3
4Opx_opcode_0done_flag
5Opx_opcode_1carry_flag
6Opx_opcode_2zero_flag
7Opx_opcode_3sign_flag