Skip to content

Commit 1513366

Browse files
Docs: Adding mux cell descriptions
Also making ver2 cell descriptions consistently spaced.
1 parent dfe803b commit 1513366

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

techlibs/common/simlib.v

+14-13
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
*/
3333

3434
// --------------------------------------------------------
35-
3635
//* ver 2
3736
//* title Bit-wise inverter
3837
//* group unary
@@ -526,14 +525,12 @@ endgenerate
526525
endmodule
527526

528527
// --------------------------------------------------------
529-
530528
//* ver 2
531529
//* title Variable shifter
532530
//* group binary
533531
//- Performs a right logical shift if the second operand is positive (or
534532
//- unsigned), and a left logical shift if it is negative.
535533
//-
536-
537534
module \$shift (A, B, Y);
538535

539536
parameter A_SIGNED = 0;
@@ -565,14 +562,12 @@ endgenerate
565562
endmodule
566563

567564
// --------------------------------------------------------
568-
569565
//* ver 2
570566
//* title Indexed part-select
571567
//* group binary
572568
//* tags x-output
573569
//- Same as the `$shift` cell, but fills with 'x'.
574570
//-
575-
576571
module \$shiftx (A, B, Y);
577572

578573
parameter A_SIGNED = 0;
@@ -649,7 +644,6 @@ end
649644
endmodule
650645

651646
// --------------------------------------------------------
652-
653647
//* ver 2
654648
//* title Arithmetic logic unit
655649
//* group arith
@@ -839,7 +833,6 @@ endgenerate
839833
endmodule
840834

841835
// --------------------------------------------------------
842-
843836
//* ver 2
844837
//* title Case equality
845838
//* group binary
@@ -873,7 +866,6 @@ endgenerate
873866
endmodule
874867

875868
// --------------------------------------------------------
876-
877869
//* ver 2
878870
//* title Case inequality
879871
//* group binary
@@ -1215,7 +1207,6 @@ end
12151207
endmodule
12161208

12171209
// --------------------------------------------------------
1218-
12191210
//* ver 2
12201211
//* title Divider
12211212
//* group binary
@@ -1246,7 +1237,6 @@ endgenerate
12461237
endmodule
12471238

12481239
// --------------------------------------------------------
1249-
12501240
//* ver 2
12511241
//* title Modulo
12521242
//* group binary
@@ -1544,8 +1534,12 @@ assign Y = S ? B : A;
15441534
endmodule
15451535

15461536
// --------------------------------------------------------
1537+
//* ver 2
1538+
//* title Binary-encoded multiplexer
15471539
//* group mux
1548-
1540+
//- Selects between 'slices' of A where each value of S corresponds to a unique
1541+
//- slice.
1542+
//-
15491543
module \$bmux (A, S, Y);
15501544

15511545
parameter WIDTH = 0;
@@ -1572,9 +1566,13 @@ endgenerate
15721566
endmodule
15731567

15741568
// --------------------------------------------------------
1569+
//* ver 2
1570+
//* title Priority-encoded multiplexer
15751571
//* group mux
15761572
//* tags x-output
1577-
1573+
//- Selects between 'slices' of B where each slice corresponds to a single bit
1574+
//- of S. Outputs A when all bits of S are low.
1575+
//-
15781576
module \$pmux (A, B, S, Y);
15791577

15801578
parameter WIDTH = 0;
@@ -1881,7 +1879,6 @@ endspecify
18811879
endmodule
18821880

18831881
// --------------------------------------------------------
1884-
18851882
//* ver 2
18861883
//* title Bit-wise case equality
18871884
//* group binary
@@ -1905,7 +1902,11 @@ endgenerate
19051902
endmodule
19061903

19071904
// --------------------------------------------------------
1905+
//* ver 2
1906+
//* title Bit-wise multiplexer
19081907
//* group mux
1908+
//- Equivalent to a series of 1-bit wide `$mux` cells.
1909+
//-
19091910
module \$bwmux (A, B, S, Y);
19101911

19111912
parameter WIDTH = 0;

0 commit comments

Comments
 (0)