summaryrefslogtreecommitdiff
path: root/BCD2Bin.v
diff options
context:
space:
mode:
authorMichael Abed <michaelabed@gmail.com>2012-03-21 13:17:47 -0400
committerMichael Abed <michaelabed@gmail.com>2012-03-21 13:17:47 -0400
commit2ac48fa0e44016a6cb49cab84a154eb7ec2dcab4 (patch)
tree9819721233275cee6e39483867818a54299a4fc1 /BCD2Bin.v
downloadec311-lab4-2ac48fa0e44016a6cb49cab84a154eb7ec2dcab4.tar.gz
ec311-lab4-2ac48fa0e44016a6cb49cab84a154eb7ec2dcab4.tar.bz2
ec311-lab4-2ac48fa0e44016a6cb49cab84a154eb7ec2dcab4.zip
Initial Commit
Diffstat (limited to 'BCD2Bin.v')
-rw-r--r--BCD2Bin.v58
1 files changed, 58 insertions, 0 deletions
diff --git a/BCD2Bin.v b/BCD2Bin.v
new file mode 100644
index 0000000..06a38c8
--- /dev/null
+++ b/BCD2Bin.v
@@ -0,0 +1,58 @@
+`timescale 1ns / 1ps
+//////////////////////////////////////////////////////////////////////////////////
+// Company:
+// Engineer:
+//
+// Create Date: 14:39:02 03/16/2012
+// Design Name:
+// Module Name: BCD2Bin
+// Project Name:
+// Target Devices:
+// Tool versions:
+// Description:
+//
+// Dependencies:
+//
+// Revision:
+// Revision 0.01 - File Created
+// Additional Comments:
+//
+//////////////////////////////////////////////////////////////////////////////////
+module BCD2Bin(
+ input [3:0] hun,
+ input [3:0] ten,
+ input [3:0] one,
+ output [7:0] bin
+ );
+
+reg [7:0] bin = 0;
+reg [2:0] i = 0;
+
+reg [19:0] work;
+
+always @ ( hun, ten, one ) begin
+
+ work = {hun, ten, one, bin};
+
+ //work = work >> 1;
+
+ for (i = 0; i < 7; i = i + 1) begin
+ work = work >> 1;
+ if (work[19:16] >= 5) begin
+ work[19:16] = work[19:16] - 3;
+ end
+ if (work[15:12] >= 5) begin
+ work[15:12] = work[15:12] - 3;
+ end
+ if (work[11:8] >= 5) begin
+ work [11:8] = work[11:8] - 3;
+ end
+ end
+
+ work = work >> 1;
+
+ bin = work[7:0];
+
+end
+
+endmodule