summaryrefslogtreecommitdiff
path: root/manual/PRESENTATION_ExAdv/select.v
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-02-20 12:46:29 +0100
committerClifford Wolf <clifford@clifford.at>2014-02-20 12:46:29 +0100
commit98940260e1a0e5d9d5d305b5fabe0aed89c9f57c (patch)
treeabf03d1daf8ec86ef5e781e7e836b7233fb72d03 /manual/PRESENTATION_ExAdv/select.v
parent772330608acd9726e406d182a339a314d2f046a2 (diff)
Progress in presentation
Diffstat (limited to 'manual/PRESENTATION_ExAdv/select.v')
-rw-r--r--manual/PRESENTATION_ExAdv/select.v15
1 files changed, 15 insertions, 0 deletions
diff --git a/manual/PRESENTATION_ExAdv/select.v b/manual/PRESENTATION_ExAdv/select.v
new file mode 100644
index 00000000..1b0bb7ee
--- /dev/null
+++ b/manual/PRESENTATION_ExAdv/select.v
@@ -0,0 +1,15 @@
+module test(clk, s, a, y);
+ input clk, s;
+ input [15:0] a;
+ output [15:0] y;
+ reg [15:0] b, c;
+
+ always @(posedge clk) begin
+ b <= a;
+ c <= b;
+ end
+
+ wire [15:0] state_a = (a ^ b) + c;
+ wire [15:0] state_b = (a ^ b) - c;
+ assign y = !s ? state_a : state_b;
+endmodule