From: matt Date: Wed, 1 Apr 2009 00:41:59 +0000 (+0000) Subject: checkpoint X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=cb1a975e2c6813325f9bb3613f6cc08ef6123faa;p=debian%2Fgnuradio checkpoint git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10725 221aa14e-8319-0410-a670-987f0aec2ac5 --- diff --git a/usrp2/fpga/simple_gemac/address_filter.v b/usrp2/fpga/simple_gemac/address_filter.v new file mode 100644 index 00000000..2d2f4df5 --- /dev/null +++ b/usrp2/fpga/simple_gemac/address_filter.v @@ -0,0 +1,34 @@ + + +module address_filter + (input clk, + input reset, + input go, + input [7:0] data, + input [47:0] address, + output match, + output done); + + reg [2:0] af_state; + + always @(posedge clk) + if(reset) + af_state <= 0; + else + if(go) + af_state <= (data == address[47:40]) ? 1 : 7; + else + case(af_state) + 1 : af_state <= (data == address[39:32]) ? 2 : 7; + 2 : af_state <= (data == address[31:24]) ? 3 : 7; + 3 : af_state <= (data == address[23:16]) ? 4 : 7; + 4 : af_state <= (data == address[15:8]) ? 5 : 7; + 5 : af_state <= (data == address[7:0]) ? 6 : 7; + endcase // case (af_state) + + assign match = (af_state==6); + assign done = (af_state==6)|(af_state==7); + +endmodule // address_filter + +