hcu
Advanced Member level 4
Hello all,
I created a axi slave full template in vivado and instantiated my custom logic into it and working fine but the problem is , i cant assign a value to my register "value_given" and cant able to read it back.
please observe the code.
the problem here is, upon reset "max_value" becomes 10 and the custom logic is working fine and verified on SDK. but i am unable to give new value into this address 20'h10004 and even cant retrieve the value what i assign into this address . i checked mwr 0xc00010004 30 and did (mrd 0xc00010004 5 ) returns all zero's.
please help where im going wrong.
I created a axi slave full template in vivado and instantiated my custom logic into it and working fine but the problem is , i cant assign a value to my register "value_given" and cant able to read it back.
please observe the code.
Code:
/// assume axi template here ///
//user logic starts
my_ip uut
(
.rst(!s00_axi_restn),
.max_value(max_value),
.x(x),
.y(y),
.z(z) //assume this is the only output
);
always@(s00_axi_aclk)
if(axi_aresetn)
max_value <= 'h10;
else if(my_valid)
max_value <= value_given;
always@(s00_axi_aclk)
if(axi_aresetn)
value_given <= 0;
else if(awren && S_AXI_WSTRB)
begin
if(S_AXI_AWADDR = 20'h10004) begin
value_given <= S_AXI_WDATA;
my_valid <= 1'b1;
end
end
assign axi_rdata <= (S00_AXI_ARADDR == 20'h10004) ? value_given : z; //here z case (false case)working fine and verified burst transfers also in sdk
assign S00_AXI_RDATA <= axi_rdata;
//user logic ends
the problem here is, upon reset "max_value" becomes 10 and the custom logic is working fine and verified on SDK. but i am unable to give new value into this address 20'h10004 and even cant retrieve the value what i assign into this address . i checked mwr 0xc00010004 30 and did (mrd 0xc00010004 5 ) returns all zero's.
please help where im going wrong.