Skip to content

axil_ram handshake between AW/AR-READY and B/R-RESP #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
jimmysitu opened this issue May 6, 2021 · 3 comments
Open

axil_ram handshake between AW/AR-READY and B/R-RESP #14

jimmysitu opened this issue May 6, 2021 · 3 comments

Comments

@jimmysitu
Copy link

Hi, @alexforencich

I am doing a formal verificaion for verilog-axi IPs, see my repo verilog-axi-formal. And I found an AXI4 lite handshake issue with axil_ram interface, the aw/w-ready is assert with bvalid at the same clock, see the code below

verilog-axi/rtl/axil_ram.v

Lines 118 to 124 in 314ea7d

if (s_axil_awvalid && s_axil_wvalid && (!s_axil_bvalid || s_axil_bready) && (!s_axil_awready && !s_axil_wready)) begin
s_axil_awready_next = 1'b1;
s_axil_wready_next = 1'b1;
s_axil_bvalid_next = 1'b1;
mem_wr_en = 1'b1;
end

And the AXI standard says,

the slave must wait for both WVALID and WREADY to be asserted before asserting BVALID
An explain from https://community.arm.com/ is here
Which means bvalid should at least one clock after wready.

@alexforencich
Copy link
Owner

I guess you didn't see #11. This is a known issue that's on my to-do list to fix; I haven't decided the best way to go about doing that yet.

@jimmysitu
Copy link
Author

Hi, @alexforencich , is there any update about this bug?

@Bald-Badger
Copy link

The fix mentioned in #11 is legit. at least it passed my Cyclone V HPS AXI R/W test (and it didn't pass before the fix)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants