summaryrefslogtreecommitdiff
path: root/A5.1/Verilog/Piotr/majority.v
diff options
context:
space:
mode:
authorAndreas Bogk <andreas@pt141.(none)>2009-01-24 17:06:16 +0100
committerAndreas Bogk <andreas@pt141.(none)>2009-01-24 17:06:16 +0100
commitc8747f28d85fcc6c9f431fb2afc9627c4356826d (patch)
treee584a3eb0b40ae9c034b158ca0308eea47198a82 /A5.1/Verilog/Piotr/majority.v
parent3293cd52b23a1f0736aff7b0a8c9078dc976c04f (diff)
Piotr's pipelined implementation.
Diffstat (limited to 'A5.1/Verilog/Piotr/majority.v')
-rw-r--r--A5.1/Verilog/Piotr/majority.v35
1 files changed, 35 insertions, 0 deletions
diff --git a/A5.1/Verilog/Piotr/majority.v b/A5.1/Verilog/Piotr/majority.v
new file mode 100644
index 0000000..c957d93
--- /dev/null
+++ b/A5.1/Verilog/Piotr/majority.v
@@ -0,0 +1,35 @@
+// -*- Mode: Verilog -*-
+// Filename : majority.v
+// Description : Majority function
+// Author : piotr
+// Created On : Sun Jan 18 23:16:04 2009
+// Last Modified By: .
+// Last Modified On: .
+// Update Count : 0
+// Status : Unknown, Use with caution!
+
+module majority(
+ R1_clk_bit,
+ R2_clk_bit,
+ R3_clk_bit,
+ R1_clk_out,
+ R2_clk_out,
+ R3_clk_out,
+ );
+
+ input R1_clk_bit;
+ input R2_clk_bit;
+ input R3_clk_bit;
+ output R1_clk_out;
+ output R2_clk_out;
+ output R3_clk_out;
+
+ wire majority_bit;
+
+ assign majority_bit = ( R1_clk_bit & R2_clk_bit ) ^ ( R2_clk_bit & R3_clk_bit ) ^ ( R1_clk_bit & R3_clk_bit );
+
+ assign R1_clk_out = ! majority_bit ^ R1_clk_bit;
+ assign R2_clk_out = ! majority_bit ^ R2_clk_bit;
+ assign R3_clk_out = ! majority_bit ^ R3_clk_bit;
+
+endmodule \ No newline at end of file
personal git repositories of Harald Welte. Your mileage may vary