Comments (11)
Please attach git log -n 1
from bsc
and bsc-contrib
. I have not tested with open source bsc
recently so I would like to know how to reproduce this.
from connectal.
I'm building from current head of main
:
commit 91ad4276a74525410a9efe132785b812af5c9fc3 (HEAD -> main, origin/main)
Author: Julie Schwartz <[email protected]>
Date: Sun Nov 7 17:24:54 2021 +1300
Display the GHC version when building
from connectal.
Also, which version of vivado are you using?
from connectal.
I have reproduced this problem. Something is wrong with bsvdepend. It seems to have the right search path but it's not finding PCIE.bo in the library.
from connectal.
I see the problem. Connectal depends on bsc-contrib being installed into the same place as bsc. I was able to reproduce this because I forgot to do that step.
Connectal also still depends on the BLUESPECDIR environment variable pointing to the "lib" directories which contains "Libraries".
from connectal.
To install bsc-contrib:
make PREFIX=$PWD/../bsc/inst install
from connectal.
Hi Jamey, thanks for your reply!
So we've been trying to get open-source bluespec to play well with Connectal for an accelerator design we have (which previously used closed-source bluespec), for the vcu118 hardware target.
We grabbed the open source versions of bsc and bsc-contrib and installed them in the appropriate places, and got the open source stuff working in simulation (using the build.verilator
target).
However we started hitting snags for build.vcu118
. This is the first error we hit:
BSV_BO [<path>/connectal/generated/xilinx/PCIEWRAPPER3u.bsv]
make[1]: *** No rule to make target 'obj/XilinxVirtex7PCIE.bo', needed by 'obj/Pcie3EndpointX7.bo'. Stop.
connectal/Makefile.connectal:57: recipe for target 'build.vcu118' failed
make: *** [build.vcu118] Error 2
I couldn't find XilinxVirtex7PCIE.bo in any of B-Lang-Org's official repos. I did however find it in an ancient unofficial copy of the bluespec source floating around on GitHub, and copied that into Connectal.
Compilation moved a bit further along but finally died at:
Error: "<path>/connectal/bsv/PcieHost.bsv", line 87, column 8: (T0031)
The provisos for this expression could not be resolved because there are no
instances of the form:
Add#(0, 16, 32)
The proviso was implied by expressions at the following positions:
"<path>/connectal/bsv/PcieHost.bsv", line 88, column 26
Error: "<path>/connectal/bsv/PcieHost.bsv", line 127, column 4: (T0031)
The provisos for this expression could not be resolved because there are no
instances of the form:
Connectable::Connectable#(ClientServer::Server#(PCIE::TLPData#(16), PCIE::TLPData#(16)), ClientServer::Client#(PCIE::TLPData#(32), PCIE::TLPData#(32)))
obj/Makefile:384: recipe for target 'obj/PcieHost.bo' failed
I decided to get the examples compiled to narrow down where exactly do things break. Most of the examples compiled (for the vcu118, vc707g2, and the vcu108 targets), except memread256
and memwrite256
, which died with the same error as above.
It turns out having DataBusWidth=256
is the problem; our Connectal code uses DataBusWidth=256
as well.
The fix:
We've temporarily downgraded our Connectal interface to DataBusWidth=128
and everything compiles and runs okay for us.
However our Connectal interface did work with DataBusWidth=256
with closed source bluespec, which leads me to suspect that either the open source version is missing some library, or Connectal itself isn't playing well with a bus size 256 bits wide.
It would be great if you could help us figure this out!
from connectal.
from connectal.
from connectal.
I'm using Vivado v.2020.1.
from connectal.
Also, I'll close this issue and open up another one for DataBusWidth=256 support. Would also like to figure out how to get the Xilinx libraries into open source bluespec (because those are pretty fundamental to getting the PCIe stuff working it seems!), but that I'll raise with the B-Lang-Org folks I guess.
from connectal.
Related Issues (20)
- Adding Connectal Support to DE5 Net Board HOT 4
- Connectal Support for open source bsc compiler HOT 10
- Bypass version mismatch problems in generated Makefile HOT 1
- Simple Amazon AWS EC2 F1 example HOT 16
- Documentation embedded diagrams HOT 3
- write documentation for bsvdepend.py
- Is it possible to support the opensource bsc? HOT 5
- bsvdepend.py fails to find imported package whose name is expanded from macro
- AWS build script should check for credentials before starting the build
- Python 3 support HOT 4
- PCIe drivers fail to compile on Ubuntu 16.04 HOT 3
- DataBusWidth=256 support HOT 8
- Error in pcieportal_ioctl function HOT 5
- Error while building for kc705, "recipe for target 'obj/Pcie1EndpointX7.bo' failed" HOT 4
- error while running "make run.kc705g2" HOT 9
- ERROR: could not insert 'portalmem' HOT 2
- support the bitwidth calculation of decimal number scoped enumeration HOT 5
- Problem while building for zedboard HOT 2
- obsolete bsc version checking bug in `scripts/Makefile.connectal.build` HOT 2
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 connectal.