diff options
author | Josh Blum <josh@joshknows.com> | 2011-01-21 19:51:22 -0800 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2011-01-21 19:51:22 -0800 |
commit | 0094cf683c6c96ca91ce8de0aa9c494b274f81ac (patch) | |
tree | 7e24124a7f1ef756d00527a341342880f189a518 /fpga/usrp2/fifo/fifo19_to_fifo36.v | |
parent | e13cf1a128aa6c553532b4ef302e692edd0757d0 (diff) | |
parent | 2d6a8bf01a664ce3edef269c2835e587e9b1e714 (diff) | |
download | uhd-0094cf683c6c96ca91ce8de0aa9c494b274f81ac.tar.gz uhd-0094cf683c6c96ca91ce8de0aa9c494b274f81ac.tar.bz2 uhd-0094cf683c6c96ca91ce8de0aa9c494b274f81ac.zip |
Merge branch 'fpga_fix'
Diffstat (limited to 'fpga/usrp2/fifo/fifo19_to_fifo36.v')
-rw-r--r-- | fpga/usrp2/fifo/fifo19_to_fifo36.v | 55 |
1 files changed, 31 insertions, 24 deletions
diff --git a/fpga/usrp2/fifo/fifo19_to_fifo36.v b/fpga/usrp2/fifo/fifo19_to_fifo36.v index 2f530109f..ae2edddc7 100644 --- a/fpga/usrp2/fifo/fifo19_to_fifo36.v +++ b/fpga/usrp2/fifo/fifo19_to_fifo36.v @@ -36,42 +36,49 @@ module fifo19_to_fifo36 if(f19_src_rdy_i & ((state != 2)|xfer_out)) f36_eof <= f19_eof; - always @(posedge clk) // FIXME check this - if(f19_eof) - f36_occ <= {state[0],f19_occ}; - else - f36_occ <= 0; - always @(posedge clk) if(reset) - state <= 0; + begin + state <= 0; + f36_occ <= 0; + end else if(f19_src_rdy_i) case(state) 0 : - if(f19_eof) - state <= 2; - else - state <= 1; + begin + dat0 <= f19_datain; + if(f19_eof) + begin + state <= 2; + f36_occ <= f19_occ ? 2'b01 : 2'b10; + end + else + state <= 1; + end 1 : - state <= 2; + begin + dat1 <= f19_datain; + state <= 2; + if(f19_eof) + f36_occ <= f19_occ ? 2'b11 : 2'b00; + end 2 : if(xfer_out) - if(~f19_eof) - state <= 1; - // remain in state 2 if we are at eof + begin + dat0 <= f19_datain; + if(f19_eof) // remain in state 2 if we are at eof + f36_occ <= f19_occ ? 2'b01 : 2'b10; + else + state <= 1; + end endcase // case(state) else if(xfer_out) - state <= 0; - - always @(posedge clk) - if(f19_src_rdy_i & (state==1)) - dat1 <= f19_datain; - - always @(posedge clk) - if(f19_src_rdy_i & ((state==0) | xfer_out)) - dat0 <= f19_datain; + begin + state <= 0; + f36_occ <= 0; + end assign f19_dst_rdy_o = xfer_out | (state != 2); assign f36_dataout = LE ? {f36_occ,f36_eof,f36_sof,dat1,dat0} : |