Closed jackpanderson closed 1 year ago
If you have installed conda, make pdk
will activate the conda environment and use the Magic tool installed there. The Makefile uses source ./miniconda/bin/activate
command to activate it. Your /bin/sh
can't find the source
command. /bin/sh
is usually a symbolic link to your system shell.
This command must be available in /bin/bash
. Maybe you can switch to that one? What is your system shell? You can run echo $SHELL
to see it.
My system shell is bash
echo $SHELL /bin/bash
Can you try again after adding the following line somewhere at the top of the Makefile? Your /bin/sh
may not be linked to /bin/bash
.
SHELL := /bin/bash
The make pdk worked, as did make install, but still running into issues with using make in the macros folder.
~/CARP/OpenRAM/macros$ make 32by2048_1rw1r make: *** No rule to make target '32by2048_1rw1r'. Stop.
The make target doesn't match any config name in the config folders in macros. For example, you can try:
make freepdk45_sram_1rw1r_32x2048_8.ok
That matches the name of one of my configs that I added to the sram_configs folder. Any reason for having to add the .ok at the end of the config name? Additionally, running into this issue where the path to the temp.gds is not found.
[openram.router.router_tech/init]: Minimum track wire width: 0.380
Traceback (most recent call last):
File "/home/jande180/CARP/OpenRAM/sram_compiler.py", line 71, in
We have .ok
at the end because it's how the Makefile targets are defined here.
Can you make sure that this path exists? Notice that it is an absolute path, not a relative one. Maybe you wanted ./results/32by2048_1rw1r/tmp/temp.gds
?
We used to not have the ok in the target but it got added somehow. I think we used to have an additional target without the .ok as well? It's supposed to create a "stamp" file with .ok just to know that it was run and not run again until deleted or cleaned.
If we can remove the .ok from the target that would be more intuitive.
On the issue of the path to the temp.gds, I am confused as to why I would specify a path to that. It seems like the flow is trying to open a temporary file it had previously created, but is looking in the wrong place. Running the flow with some of the example modules results in the same error.
I think I found the root cause of this issue. Can you look at what OpenRAM's log says about "temp" directory. Seems like it fails to create that directory but doesn't give an error.
[openram.globals/init_openram]: Initializing OpenRAM... [openram.globals/setup_paths]: OpenRAM source code found in /home/jande180/CARP/OpenRAM/compiler [openram.globals/setup_paths]: Temporary files saved in /results/32by2048_1rw1r/tmp/ ERROR: file globals.py: line 328: Configuration file name is not a valid Python module name: 32by2048_1rw1r. It should be a valid identifier.
[openram.globals/read_config]: Configuration file is /home/jande180/CARP/OpenRAM/macros/sram_configs/32by2048_1rw1r.py
[openram.globals/read_config]: Output saved in /home/jande180/CARP/OpenRAM/macros/32by2048_1rw1r/
[openram.globals/install_conda]: Creating conda setup...
[openram.globals/import_tech]: Tech directory found in /home/jande180/CARP/OpenRAM/technology:/home/jande180/.local/lib/python3.10/site-packages/openram/technology
[openram.globals/import_tech]: Adding technology path: /home/jande180/CARP/OpenRAM/technology
[openram.globals/import_tech]: Adding technology path: /home/jande180/.local/lib/python3.10/site-packages/openram/technology
[openram.globals/init_paths]: Creating temp directory: /results/32by2048_1rw1r/tmp/
[openram.globals/setup_bitcell]: Using bitcell: bitcell_2port
[openram.characterizer/
This is the entire log from the failed run. One of the first lines seems to try to make the results directory but fails.
I'll try to fix this issue. For now, you can define openram_temp
in your config file to a path that actually exists so that OpenRAM can write the temporary files.
Put that into my python file in the sram_configs file? I've tried your suggestion and it seems like adding this parameter does not make a difference where it tries to create the temporary files.
Update, it was likely an issue with permissions, as I am running the OpenRAM on a machine at my university which has different permissions. I added sudo and ran and it seems to not be failing out and has the ability to make the directory.
Describe the bug Trying to run the installation as detailed in the documentation. I raised an issue about this yesterday and was said to be solved, but I am having issues still with OpenRAM or Conda.
Version Most recent
To Reproduce Running make pdk after installing conda still is not working on my end.
Expected behavior Installing sucessfully.
Logs (OpenRAM) jande180@lab-XPS-8950:~/CARP/OpenRAM$ make pdk Cloning skywater PDK... HEAD is now at f70d8ca Merge pull request #346 from QuantamHD/add_reram Installing open_pdks... /bin/sh: 1: source: not found make: *** [Makefile:75: /home/jande180/CARP/OpenRAM/sky130A] Error 127