Revision a98e5bc7 usrp2/fpga/extram/extram_wb.v

b/usrp2/fpga/extram/extram_wb.v
21 21
   wire     write_acc = stb_i & cyc_i & we_i;
22 22
   wire     acc = stb_i & cyc_i;
23 23

24
   assign   RAM_CLK = wb_clk;   // 50 MHz for now, eventually should be 200 MHz
24
   assign   RAM_CLK = ~wb_clk;   // 50 MHz for now, eventually should be 200 MHz
25 25
   assign   RAM_LDn = 0;        // No burst for now
26 26
   assign   RAM_CENn = 0;       // Use CE1n as our main CE
27 27

......
63 63
     else
64 64
       case(RAM_state)
65 65
	 RAM_idle :
66
	   if(read_acc)
66
	   if(read_acc & ~ack_o)
67 67
	     begin
68 68
		RAM_state <= RAM_read_1;
69 69
		myOE <= 0; RAM_OE <= 0; RAM_WE <= 0; RAM_EN <= 1; RAM_A0_reg <= 0;
70 70
	     end
71
	   else if(write_acc)
71
	   else if(write_acc & ~ack_o)
72 72
	     begin
73 73
		RAM_state <= RAM_write_1;
74 74
		myOE <= 0; RAM_OE <= 0; RAM_WE <= 1; RAM_EN <= 1; RAM_A0_reg <= 0;
......
100 100
	 RAM_write_1 : 
101 101
	   begin
102 102
	      RAM_state <= RAM_write_2;
103
	      myOE <= 0; RAM_OE <= 0; RAM_WE <= 1; RAM_EN <= 1; RAM_A0_reg <= 1;
103
	      myOE <= 1; RAM_OE <= 0; RAM_WE <= 1; RAM_EN <= 1; RAM_A0_reg <= 1;
104 104
	   end
105 105
	 RAM_write_2 : 
106 106
	   begin
......
126 126
   assign     RAM_CE1n = ~RAM_EN;    // Active low     (RAM_state != RAM_idle);
127 127
   
128 128
   assign     RAM_D[17:16] = 2'bzz;
129
   assign     RAM_D[15:0] = myOE ? ((RAM_state==RAM_write_3)?ram_out[15:0]:ram_out[31:16]) 
129
   assign     RAM_D[15:0] = myOE ? ((RAM_state==RAM_write_2)?ram_out[15:0]:ram_out[31:16]) 
130 130
	      : 16'bzzzz_zzzz_zzzz_zzzz;
131 131

132 132
   always @(posedge wb_clk)

Also available in: Unified diff