Hi <@U016EM8L91B>, in cace it's possible to define...
# chipalooza
a
Hi @Tim Edwards, in cace it's possible to define multiple schematic directories or the .sch should be on the same dir?
@Leo Moser Do you know if the tool supports multiple
schematic
entries in the
path
dictionary?
t
@aquiles viza: The "schematic" path should point to the directory where the top level schematic is. If there are multiple schematic directories. . . I'm not sure if that's handled by CACE. It ought to be. If it isn't, I'll fix it.
a
Hi Tim, I'm having problems making cace read multiple directories. here's our team's project repository. We are using a modular structure that sticks together thanks to a makefile system. The symbol dependencies between schematics is solved with a
xschemrc
file that registers on
XSCHEM_LIBRARY_PATH
all the module's symbol directory, avoiding the use of "relative" imports, using something like
C {symbol/INV.sym}
on each schematic. Is possible to define multiple schematic directories on the
schematic
field? Or maybe we can pass the XSCHEM_LIBRARY_PATH as an environmental variable... Do you see a better way?
t
@aquiles viza: I have a solution that is not too invasive. It involves treating other directories as "dependencies", just local dependencies within the same repository instead of dependencies outside of the repository. The solution requires me to make a small adjustment to the routine that checks the dependencies and builds the search path for xschem. I was previously assuming a subdirectory called
xschem/
but I already realized that was untenable. Probably the current solution is not really tenable either, but for now I am adding the path specified for the dependency directly to xschem's search path. That works for your case, and any project could be set up the same way. With this solution, I need to push my small change to the cace repository, but otherwise, on your end, the solution is to do the following: 1. Move the
cace/
subdirectory from
modules/SDC/
to the repository top level directory. 2. Change
schematic:
in
paths {...}
to
modules/SDC/symbol
3. Add the following block for
dependencies {...}
:
Copy code
# Project dependencies

dependencies {
        name:           INTERNAL_SDC
        path:           modules

        +
        name:           BUFFMIN
        path:           modules

        +
        name:           DFF
        path:           modules

        +
        name:           INV
        path:           modules

        +
        name:           INVandCAP
        path:           modules

        +
        name:           OSC
        path:           modules

        +
        name:           CAPOSC
        path:           modules

        +
        name:           INVMIN
        path:           modules

        +
        name:           PASSGATE
        path:           modules
}
I tried to figure out a way for it to work with the
cace/
directory where it is now; with some work I could probably figure that out, but this solution hopefully is not a problem for you.
@aquiles viza: I just pushed the update to
cace
to enable the local dependencies, so if you update to the latest version, you should be able to make the changes above to the SDC.txt file and be able to run the simulation in
cace-gui
.
a
Thanks Tim, I've moved the
cace
directory to
project/modules
, so I've removed each
modules
reference in the patch and that worked fine. I think that some entries like
dependencies
could be relative to the
root
. I think that could allow having specific
cace
directories per module.