Comments (7)
Thank you for reporting this.
The bug is in line 637, where the downstream write data is assigned to M_AXI_WDATA
(the downstream write data), rather than S_AXI_WDATA
. Expect an update shortly.
Dan
from wb2axip.
Fixed in 77ab90a.
Dan
from wb2axip.
I should also point out that it looks like you have promoted several localparam's to full blown parameters. These were designed as localparam's to guarantee proper functionality. While I understand that Vivado may require to you turn them into parameters, if you actually override their values--or set them to values inconsistent with their original (sometimes equation) values, you may break the core. For example, IW is shorthand for C_S_AXI_ID_WIDTH. If the two are ever out of synch, the core will not work. DW and AW have similar definitions. Likewise if you change LSB, EXOKAY, or SLAVE_ERROR, the design may not be protocol compliant.
Dan
from wb2axip.
Thanks for the fix, it's now working, at least with BRAM controller.
Regarding localparam vs parameter: I left the equations as they were for localparams, so the link between parameters is still there. But if you have a better suggestion, please let me know. Vivado definitely does not like localparams
Another question, if you don't mind:
Do I understand correctly that M_AXI_ARESETN output from axisafety should be connected to S_AXI_ARESETN input of the unreliable core?
thanks.
Alex.
from wb2axip.
If you use the OPT_SELF_RESET capability then M_AXI_ARESETN needs to be connected to the downstream/unreliable slave, yes. If not, M_AXI_ARESETN is just a simple passthrough and you can choose to connect it or not at your leisure.
The self reset capability is one of the big benefits of this particular design: on any fault, it can reset the slave and try to start over. This could be valuable if you want to discover what conditions cause the violation and the first trace you get doesn't tell you enough and so you want to try again. I'm unaware of any other firewalls with this capability.
Incidentally, don't forget to trigger a trace on one of the fault outputs. That'll help you understand what's going on when/if your design does fail.
Dan
from wb2axip.
thanks Dan,
I'm actually using axisafety with Xilinx Chip2chip IP. That IP is pretty much guaranteed to lock up the system if the other side of the link is missing, for example in case of the other FPGA being unconfigured. It entirely evades me why Xilinx does not care about this glaring omission. So axisafety is invaluable in this scenario. I do use it with OPT_SELF_RESET=1 and have connected M_AXI_ARESETN output to Chip2chip reset input.
thanks for your help.
Alex.
from wb2axip.
Awesome! That's what it axisafety was made for. I'd love to hear how it works for you once you get far enough to be able to tell.
Dan
from wb2axip.
Related Issues (20)
- illegal localparam in list of parameters HOT 2
- Icarus-verilog elaboration failed in axixbar.v HOT 1
- Which yosys version should I use? HOT 2
- `s2mm` doesn't update address or len external registers HOT 2
- skid buffer proved by smtbmc but fail by abc pdr HOT 3
- axi2axilite HOT 3
- Eliminate Ports S_AXI_C* Until Supported by AutoFPGA HOT 4
- AXIS2MM & WUSER bits/byte causes critical warning in Vivado HOT 3
- Kicking off a transfer with AXIS2MM HOT 16
- Vivado Block design, local param, and axixbar HOT 2
- Possible enhancement: add AWCACHE parameter to axis2mm HOT 2
- `default_nettype none breaks vivado global synthesis HOT 10
- Enhacement: Sync only on TLAST option for axis2mm HOT 10
- Is the OPT_NONESEL option currently the same as the multiple slaves? HOT 1
- File 'faxi_valaddr.v' is missing HOT 1
- Missing LICENSE file HOT 3
- Question regarding AW / W channel dependencies HOT 8
- Whether the situation crossing 4K boundary has been handled in AXIDMA? HOT 2
- axim2wbsp.v: has different data endianness for write and read channels HOT 1
- axisafety.v in ZYNQ Ultrascale+ works for read operations, but not for write operations HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wb2axip.