commit-gnuradio
[Top][All Lists]
Advanced

[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
+
+





reply via email to

[Prev in Thread] Current Thread [Next in Thread]