chipforge / StdCellLib

Copyleftist's Standard Cell Library
97 stars 24 forks source link

Cannot compile catalog: "unbound variable: cell:expand-nor" #10

Open rolfschr opened 3 years ago

rolfschr commented 3 years ago

Hi,

I can't run make catalog. The error says "unbound variable: cell:expand-nor". I believe I have previously seen aoi instead of nor but cannot reproduce it anymore (even after make clean). I have installed the tools as described in the readme.

$ make tools 
make -C ./Tools -f GNUmakefile tools
make[1]: Entering directory '/home/rolfschr/src/StdCellLib/Tools'
groff -t -mdoc cell.5 > cell.5.ps
groff -t -mdoc table.5 > table.5.ps
groff -t -mdoc cobblestone.1 > cobblestone.1.ps
groff -t -mdoc datasheet.1 > datasheet.1.ps
groff -t -mdoc popcorn.1 > popcorn.1.ps
make[1]: Leaving directory '/home/rolfschr/src/StdCellLib/Tools'
$ make catalog 
make -C ./Catalog -f GNUmakefile catalog
make[1]: Entering directory '/home/rolfschr/src/StdCellLib/Catalog'
#    _ __   ___  _ __   ___ ___  _ __ _ __
#   | '_ \ / _ \| '_ \ / __/ _ \| '__| '_ \\
#   | |_) | (_) | |_) | (_| (_) | |  | | | |
#   | .__/ \___/| .__/ \___\___/|_|  |_| |_|
#   |_|launched:|_| Wed, 27 Jan 2021 09:33:42 +0000
../Tools/popcorn/popcorn -m nor -c NOR2 INV > NOR2
*** ERROR: unbound variable: cell:expand-nor
Stack Trace:
_______________________________________
  0  (cell:expand-nor (common:dataset-cell cell-file) stacked-limi ...
        at "./../Tools/popcorn/popcorn.scm":343
  1  (cell:expand-nor (common:dataset-cell cell-file) stacked-limi ...
        at "./../Tools/popcorn/popcorn.scm":343
  2  (exporter:dataset-cell (cell:expand-nor (common:dataset-cell  ...
        at "./../Tools/popcorn/popcorn.scm":343
make[1]: *** [stacked2_cells.mk:113: NOR2] Error 70
make[1]: Leaving directory '/home/rolfschr/src/StdCellLib/Catalog'
make: *** [GNUmakefile:112: catalog] Error 2
$ gosh -V
Gauche scheme shell, version 0.9.9 [utf-8,pthreads], x86_64-pc-linux-gnu
(version "0.9.9")
(command "gosh")
(scheme-id gauche)
(language scheme r5rs r7rs)
(website "https://practical-scheme.net/gauche")
(platform "x86_64-pc-linux-gnu")
$ uname -a
Linux rolf-ThinkPad-T470 5.4.0-62-generic #70-Ubuntu SMP Tue Jan 12 12:45:47 UTC 2021 x86_64 GNU/Linux
rolfschr commented 3 years ago

With the current HEAD (b0b6f3d) I get:

$ make tools
make -C ./Tools -f GNUmakefile tools
make[1]: Entering directory '/home/rolfschr/src/StdCellLib/Tools'
groff -t -mdoc cell.5 > cell.5.ps
groff -t -mdoc table.5 > table.5.ps
groff -t -mdoc cobblestone.1 > cobblestone.1.ps
groff -t -mdoc datasheet.1 > datasheet.1.ps
groff -t -mdoc popcorn.1 > popcorn.1.ps
make[1]: Leaving directory '/home/rolfschr/src/StdCellLib/Tools'
$ make catalog
make -C ./Catalog -f GNUmakefile catalog
make[1]: Entering directory '/home/rolfschr/src/StdCellLib/Catalog'
#    _ __   ___  _ __   ___ ___  _ __ _ __
#   | '_ \ / _ \| '_ \ / __/ _ \| '__| '_ \\
#   | |_) | (_) | |_) | (_| (_) | |  | | | |
#   | .__/ \___/| .__/ \___\___/|_|  |_| |_|
#   |_|launched:|_| 20210210
../Tools/popcorn/popcorn -l 2 -b 4 -D "2-input Not-OR (or NOR) gate" -m nor -c NOR2 INV > NOR2
*** READ-ERROR: Read error at "../Tools/popcorn/../common/lib.scm":line 363: EOF inside a list (starting from line 46)
    While loading "../Tools/popcorn/../common/lib.scm" at line 363
    While compiling "../Tools/popcorn/../exporter/generic.scm" at line 46: (define-library (exporter generic) (import (scheme base) (scheme write) (srfi 78) (common lib)) (expo ...
    While loading "../Tools/popcorn/../exporter/generic.scm" at line 148
    While compiling "./../Tools/popcorn/popcorn.scm" at line 47: (import (scheme base) (scheme write) (scheme process-context) (srfi 28) (srfi 78) (common cell) (popc ...
    While loading "./../Tools/popcorn/popcorn.scm" at line 57
Stack Trace:
_______________________________________
make[1]: *** [stacked2_cells.mk:122: NOR2] Error 70
make[1]: Leaving directory '/home/rolfschr/src/StdCellLib/Catalog'
make: *** [GNUmakefile:112: catalog] Error 2
rolfschr commented 3 years ago

Hi, thanks for the continuous update. With the current HEAD (2c75c5c), I get:

$ make tools                                                                                                                                                                           
make -C ./Tools -f GNUmakefile tools                                                                                                                                                                               
make[1]: Entering directory '/home/rolfschr/src/StdCellLib/Tools'                                                                                                                                                  
groff -t -mdoc cell.5 > cell.5.ps                                                                                                                                                                                  
groff -t -mdoc table.5 > table.5.ps                                                                                                                                                                                
groff -t -mdoc cobblestone.1 > cobblestone.1.ps                                                                                                                                                                    
groff -t -mdoc datasheet.1 > datasheet.1.ps                                                                                                                                                                        
groff -t -mdoc popcorn.1 > popcorn.1.ps                                                                                                                                                                            
make[1]: Leaving directory '/home/rolfschr/src/StdCellLib/Tools'                                                                                                                                                   

$ make catalog
make -C ./Catalog -f GNUmakefile catalog
make[1]: Entering directory '/home/rolfschr/src/StdCellLib/Catalog'
#    _ __   ___  _ __   ___ ___  _ __ _ __
#   | '_ \ / _ \| '_ \ / __/ _ \| '__| '_ \\
#   | |_) | (_) | |_) | (_| (_) | |  | | | |
#   | .__/ \___/| .__/ \___\___/|_|  |_| |_|
#   |_|launched:|_| 20210309
../Tools/popcorn/popcorn -l 2 -b 4 -D "2-input Not-OR (or NOR) gate" -m nor -c NOR2 INV > NOR2
../Tools/popcorn/popcorn -l 2 -b 4 -D "2-1-input AND-OR-Invert gate" -m aoi -c AOI21 NOR2 > AOI21
../Tools/popcorn/popcorn -l 2 -b 4 -D "2-2-input AND-AND-OR-Invert gate" -m nand -c AAOI22 AOI21 > AAOI22 
../Tools/popcorn/popcorn -l 4 -b 4 -D "2-input Not-AND (or NAND) gate" -m nand -c NAND2 INV > NAND2
../Tools/popcorn/popcorn -l 4 -b 4 -D "2-1-input OR-AND-Invert gate" -m oai -c OAI21 NAND2 > OAI21
../Tools/popcorn/popcorn -l 2 -b 4 -D "2-2-input OR-OR-AND-Invert gate" -m nor -c OOAI22 OAI21 > OOAI22
make[1]: *** No rule to make target 'AAOI321', needed by 'AAOI331'.  Stop.
make[1]: Leaving directory '/home/rolfschr/src/StdCellLib/Catalog'
make: *** [GNUmakefile:112: catalog] Error 2
rolfschr commented 3 years ago

Feel free to close the issue if you don't want me to check back from time to time.

andrsmllr commented 2 years ago

Hi, I'm also trying to get make catalog to work on a fresh checkout of StdCellLib master 608294dbc041a07b2118f3ac4b8d9f3a8a33ee20.

$ make catalog
make -C ./Catalog catalog
make[1]: Entering directory '/home/andrsmllr/git/StdCellLib/Catalog'
#    _ __   ___  _ __   ___ ___  _ __ _ __
#   | '_ \ / _ \| '_ \ / __/ _ \| '__| '_ \\
#   | |_) | (_) | |_) | (_| (_) | |  | | | |
#   | .__/ \___/| .__/ \___\___/|_|  |_| |_|
#   |_|launched:|_| 20211213
gnetlist -g geda  ../Sources/geda/CBN2.sym ../Sources/geda/CBN2.sch -o CBN2 > /dev/null
Loading schematic [../Sources/geda/CBN2.sym]
Loading schematic [../Sources/geda/CBN2.sch]
Loading schematic [-o]
ERROR: Failed to load '-o'
make[1]: *** [GNUmakefile:144: CBN2] Error 2
make[1]: Leaving directory '/home/andrsmllr/git/StdCellLib/Catalog'
make: *** [GNUmakefile:102: catalog] Error 2

This is a different error (in an earlier stage) than seen by @rolfschr .

Bumping this issue anyway to show interest in a stable master branch.