|
|
|
|
Multiplexers
Multiplexers are heavily used in computer architecture, but are
basically simple devices. You'd have no trouble writing your own versions. The
advantage of using these comes from the symbols. We designed the symbols
to look like the multiplexers in the textbook, and to take up minimal screen
real estate. Most muxes have two variants, one with a select input port on the top, and one with the same port on the bottom.
Module: mVw_2_1_top, mVw_2_1_bot
Parameters:
|
|
Name |
Default |
Description |
WIDTH |
32 |
bit width of inputs and outputs |
|
|
Port Description:
|
|
Name |
Dir |
Width |
Description |
in0 |
In |
WIDTH |
input selected when sel = 0 |
in1 |
In |
WIDTH |
input selected when sel = 1 |
sel |
In |
1 |
selects between in0 and in1 |
out |
Out |
WIDTH |
output of the multiplexer |
|
|
Symbols:
|
|
This is a variable width multiplexor. Note the red "V" in the center of the symbol. When using this mux, be sure to specify the width of any bus connected to it or the bus will default to being 8 bits wide.
|
|
Module: mVw_4_1_top, mVw_4_1_bot
Parameters:
|
|
Name |
Default |
Description |
WIDTH |
32 |
bit width of inputs and outputs |
|
|
Port Description:
|
|
Name |
Dir |
Width |
Description |
in0 |
In |
WIDTH |
input selected when sel = 0 |
in1 |
In |
WIDTH |
input selected when sel = 1 |
in2 |
In |
WIDTH |
input selected when sel = 2 |
in3 |
In |
WIDTH |
input selected when sel = 3 |
sel |
In |
2 |
selects between in0, in1, in2, and in3 |
out |
Out |
WIDTH |
output of the multiplexer |
|
|
Symbols:
|
|
This is a variable width multiplexor. Note the red "V" in the center of the symbol. When using this mux, be sure to specify the width of any bus connected to it or the bus will default to being 8 bits wide.
|
|
Module: m32w_2_1_top, m32w_2_1_bot
|
Port Description:
|
|
Name |
Dir |
Width |
Description |
in0 |
In |
32 |
input selected when sel = 0 |
in1 |
In |
32 |
input selected when sel = 1 |
sel |
In |
1 |
selects between in0 and in1 |
out |
Out |
32 |
output of the multiplexer |
|
|
Symbols:
|
|
|
|
Module: m32w_4_1_top, m32w_4_1_bot
|
Port Description:
|
|
Name |
Dir |
Width |
Description |
in0 |
In |
32 |
input selected when sel = 0 |
in1 |
In |
32 |
input selected when sel = 1 |
in2 |
In |
32 |
input selected when sel = 2 |
in3 |
In |
32 |
input selected when sel = 2 |
sel |
In |
2 |
selects between in0, in1, in2, and in3 |
out |
Out |
32 |
output of the multiplexer |
|
|
Symbols:
|
|
|
|
Module: m6w_2_1
|
Port Description:
|
|
Name |
Dir |
Width |
Description |
in0 |
In |
6 |
input selected when sel = 0 |
in1 |
In |
6 |
input selected when sel = 1 |
sel |
In |
1 |
selects between in0 and in1 |
out |
Out |
6 |
output of the multiplexer |
|
|
Symbols:
|
|
|
|
Module: m5w_2_1
|
Port Description:
|
|
Name |
Dir |
Width |
Description |
in0 |
In |
5 |
input selected when sel = 0 |
in1 |
In |
5 |
input selected when sel = 1 |
sel |
In |
1 |
selects between in0 and in1 |
out |
Out |
5 |
output of the multiplexer |
|
|
Symbols:
|
|
|
|
Module: dm32w_1_4_top, dm32w_1_4_bot
|
Port Description:
|
|
Name |
Dir |
Width |
Description |
in |
In |
32 |
demultiplexor input |
sel |
In |
2 |
selects which output to route the input to. All other outputs are set to 0 |
out0 |
Out |
32 |
output set to input when sel = 0 |
out1 |
Out |
32 |
output set to input when sel = 1 |
out2 |
Out |
32 |
output set to input when sel = 2 |
out3 |
Out |
32 |
output set to input when sel = 3 |
|
|
Symbols:
|
|
|
|
|