summaryrefslogtreecommitdiff
path: root/verilog/nbit_mux.v
diff options
context:
space:
mode:
authorMichael Abed <michaelabed@gmail.com>2012-12-02 12:13:10 -0500
committerMichael Abed <michaelabed@gmail.com>2012-12-02 12:13:10 -0500
commite64c18d0e30c33fe4609c881620fa937da7b8ce3 (patch)
tree1caab3c1934a97fbff1faef1076e34f06c994a6c /verilog/nbit_mux.v
downloadec413-lab5-master.tar.gz
ec413-lab5-master.tar.bz2
ec413-lab5-master.zip
make git repoHEADmaster
Diffstat (limited to 'verilog/nbit_mux.v')
-rwxr-xr-xverilog/nbit_mux.v19
1 files changed, 19 insertions, 0 deletions
diff --git a/verilog/nbit_mux.v b/verilog/nbit_mux.v
new file mode 100755
index 0000000..fb5cd14
--- /dev/null
+++ b/verilog/nbit_mux.v
@@ -0,0 +1,19 @@
+//n bit Mux
+// Specify the number of select lines as a parameter.
+module nbit_mux(MuxIn, // Mux input: 2^SELECT_WIDTH bits.
+ MuxOut, // Mux output: 1 bit.
+ MuxSel); // Mux select lines: SELECT_WIDTH bits.
+
+// Specifies the select line width.
+parameter SELECT_WIDTH = 3;
+
+//-------------Input Ports-----------------------------
+input [2 ** SELECT_WIDTH-1:0] MuxIn;
+input [SELECT_WIDTH-1:0] MuxSel;
+//-------------Output Ports----------------------------
+output MuxOut;
+//-------------Wires-----------------------------------
+//-------------Other-----------------------------------
+//------------Code Starts Here-------------------------
+assign MuxOut = MuxIn[MuxSel];
+endmodule