Page 1 of 1

customized IP revision B

PostPosted:
by Guest
Hi, Eli,

I tried revision B but the Address/data interface (16 address bits) of revision B does not work. You can write_mem and hexdump but no change can be seen after writing value to address.

// Memory array
reg [31:0] demoarray[0:31];

// Wires related to /dev/xillybus_mem_32
wire user_r_mem_32_rden;
wire user_r_mem_32_empty;
reg [31:0] user_r_mem_32_data;
wire user_r_mem_32_eof;
wire user_r_mem_32_open;
wire user_w_mem_32_wren;
wire user_w_mem_32_full;
wire [31:0] user_w_mem_32_data;
wire user_w_mem_32_open;
wire [15:0] user_mem_32_addr;
wire user_mem_32_addr_update;

// A simple inferred RAM
always @(posedge bus_clk)
begin
if (user_w_mem_32_wren)
demoarray[user_mem_32_addr] <= user_w_mem_32_data;

if (user_r_mem_32_rden)
user_r_mem_32_data <= demoarray[user_mem_32_addr];
end

assign user_r_mem_32_empty = 0;
assign user_r_mem_32_eof = 0;
assign user_w_mem_32_full = 0;


The original version is good. Do you have any clue is anything is wrong or there is a bug?

Best,
Chongxi

Re: customized IP revision B

PostPosted:
by support
Hello,

Seekable streams have been tested for revision B, so a bug in the core is not the likely explanation.

Could you please test your case by starting with a revision A core, verifying that it works, and then with a revision B core which is the upgraded replica of it, with no other changes?

Besides, I suppose that you've made a change to write_mem to adapt it to 32 bit interface -- otherwise it won't work on either revision.

Regards,
Eli

Re: customized IP revision B

PostPosted:
by Guest
Your strategy is always so clear. Thanks. I am trying now.

Yes I change it to 32bits interface, why this would not work? Do you mean in software layer mem_write only support 8bits?

Best,
Chongxi

Re: customized IP revision B

PostPosted:
by support
Hello,

Please refer to section 6.1 ("Seekable streams") in the "Xillybus host application programming guide" for your OS, available at the Documentation section of Xillybus' website.

The short answer is -- if you change from 8 bit data with to 32 bit data width, you need to modify the software so it seeks by a multiple of 4, that is ADDR*4 instead of just ADDR.

Regards,
Eli

Re: customized IP revision B

PostPosted:
by Guest
Hi Eli,

Thank you so much. Sure this is the reason, I understand now.

I really appreciate your quick help so much!

Best,
Chongxi

Re: customized IP revision B

PostPosted:
by Guest
Hi Eli,

Just to confirm your suggestion. Now I change the address to 32 bits in the software side. And it is working now. Cool!

Thank you very much!

Best,
Chongxi