[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r8472 - usrp2/trunk/fpga/sdr_lib
From: |
matt |
Subject: |
[Commit-gnuradio] r8472 - usrp2/trunk/fpga/sdr_lib |
Date: |
Wed, 21 May 2008 11:58:29 -0600 (MDT) |
Author: matt
Date: 2008-05-21 11:58:29 -0600 (Wed, 21 May 2008)
New Revision: 8472
Added:
usrp2/trunk/fpga/sdr_lib/acc.v
Log:
accumulator for fir filters
Added: usrp2/trunk/fpga/sdr_lib/acc.v
===================================================================
--- usrp2/trunk/fpga/sdr_lib/acc.v (rev 0)
+++ usrp2/trunk/fpga/sdr_lib/acc.v 2008-05-21 17:58:29 UTC (rev 8472)
@@ -0,0 +1,28 @@
+
+module acc
+ #(parameter IWIDTH=16, OWIDTH=30)
+ (input clk,
+ input clear,
+ input acc,
+ input [IWIDTH-1:0] in,
+ output reg [OWIDTH-1:0] out);
+
+ wire [OWIDTH-1:0] in_signext;
+ sign_extend #(.bits_in(IWIDTH),.bits_out(OWIDTH))
+ acc_signext (.in(in),.out(in_signext));
+
+ // CLEAR & ~ACC --> clears the accumulator
+ // CLEAR & ACC --> loads the accumulator
+ // ~CLEAR & ACC --> accumulates
+ // ~CLEAR & ~ACC --> hold
+
+ wire [OWIDTH-1:0] addend1 = clear ? 0 : out;
+ wire [OWIDTH-1:0] addend2 = ~acc ? 0 : in_signext;
+ wire [OWIDTH-1:0] sum_int = addend1 + addend2;
+
+ always @(posedge clk)
+ out <= sum_int;
+
+endmodule // acc
+
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r8472 - usrp2/trunk/fpga/sdr_lib,
matt <=