Git Product home page Git Product logo

Comments (11)

jameyhicks-cmt avatar jameyhicks-cmt commented on August 10, 2024

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.

jameyhicks-cmt avatar jameyhicks-cmt commented on August 10, 2024

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.

jameyhicks-cmt avatar jameyhicks-cmt commented on August 10, 2024

Also, which version of vivado are you using?

from connectal.

jameyhicks-cmt avatar jameyhicks-cmt commented on August 10, 2024

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.

jameyhicks-cmt avatar jameyhicks-cmt commented on August 10, 2024

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.

jameyhicks-cmt avatar jameyhicks-cmt commented on August 10, 2024

To install bsc-contrib:

    make PREFIX=$PWD/../bsc/inst install
    

from connectal.

RadhikaG avatar RadhikaG commented on August 10, 2024

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.

jameyhicks avatar jameyhicks commented on August 10, 2024

from connectal.

jameyhicks avatar jameyhicks commented on August 10, 2024

from connectal.

RadhikaG avatar RadhikaG commented on August 10, 2024

I'm using Vivado v.2020.1.

from connectal.

RadhikaG avatar RadhikaG commented on August 10, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.