Giter Site home page Giter Site logo

Comments (9)

jerryz123 avatar jerryz123 commented on June 19, 2024

The point of uniquification js to support VLSI flows that synthesize the Top, but not the Harness right?

If so, I wonder if moving forwards, we can enforce unique module names at the Chisel level, to avoid using sed scripts to edit .sv files.

from chipyard.

abejgonzalez avatar abejgonzalez commented on June 19, 2024

The point of uniquification js to support VLSI flows that synthesize the Top, but not the Harness right?

Correct. It is so that modules shared between the harness/top are unique and only top modules are synthesized.

If so, I wonder if moving forwards, we can enforce unique module names at the Chisel level, to avoid using sed scripts to edit .sv files.

This seems tricky to enforce. Also isn't this separate from this issue, no?

from chipyard.

jerryz123 avatar jerryz123 commented on June 19, 2024

This seems tricky to enforce. Also isn't this separate from this issue, no?

I'm not sure... there might be some chisel naming scope API that can prepend/append a prefix to the module names of all modules instantiated within the scope. Sounds like something that could/should exist. If it does exist, we can just wrap all the HarnessBinder instantiation within this "name scope".

If we had that... then we wouldn't need the uniquification script, and your multi-top sims would work correctly, even when a monolithic blackbox is instantiated in multiple places.

from chipyard.

abejgonzalez avatar abejgonzalez commented on June 19, 2024

Posted something on the gitter for this: https://matrix.to/#/!jSbgpvvpsPbLpsLZOC:matrix.org/$YW8mWMqiEN67_Q69TmeTRIUA_SN_LR1HdfyPK9JjELU?via=matrix.org&via=gitter.im&via=austin-harris.com

from chipyard.

jackkoenig avatar jackkoenig commented on June 19, 2024

Responded on Gitter echoing here: we would like to add a module prefixing API as a first class feature in Chisel but there are a few minor speedbumps. There is an existing but undocumented API via FIRRTL annotations in firtool, you can use https://github.com/llvm/circt/blob/main/docs/Dialects/FIRRTL/FIRRTLAnnotations.md#nestedprefixmodulesannotation.

from chipyard.

abejgonzalez avatar abejgonzalez commented on June 19, 2024

Thanks. I'll mess around with it and see if it works nicely for our use case. Thanks again

from chipyard.

lsteveol avatar lsteveol commented on June 19, 2024

I would be interested in this as well if you get something working @abejgonzalez

from chipyard.

abejgonzalez avatar abejgonzalez commented on June 19, 2024

For the record, I added the annotation here:

{
targeting ChipTop and it seemed to work great. However, we still need to think a bit more on how BB's interact with our flows Chipyard/Hammer before implementing it and upstreaming it.

from chipyard.

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.