Includes 2-1, 4-1, and 8-1 Muxes. 

Github Link: https://github.com/cornellcustomsiliconsystems/C2S2-Module-Library/tree/main/lib/sim/muxes

Design:

These muxes all take 32-bit wide input data values and a selection input that varies width depending on what mux you are using. The 2-1 has a 1 bit selection, 4-1 a 2 bit selection, and 8-1 a 3 bit selection. The idea of the mux is that the selection bit chooses one data input to be sent to the output, depending on what the user wants. I designed the muxes to take in 32 bits for input data values, but it could be easily changed depending on whatever is required of the mux for use. 


Testing Strategy: 

The testing for muxes is relatively simple. You send in respective amounts of data inputs depending on what mux you are testing and make tests for selecting each different input number. The test ensures that the proper data input is being sent to the output, depending on what the selection bit(s) was. 

This shows the tests for the 2-1 mux, but the other tests are the same just with varying numbers of data inputs. 


Evaluation:

  • No labels