Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    clarkchen900
    @clarkchen900
    However I got compilation error on Mac OS X 10.15, like this:
    make[2]: Entering directory '/home/OpenROAD/build'
    [ 26%] Swig compile /home/OpenROAD/src/OpenDB/src/swig/tcl/opendbtcl.i for tcl
    cd /home/OpenROAD/build/src && /usr/local/bin/cmake -E make_directory /home/OpenROAD/build/src /home/OpenROAD/build/src/CMakeFiles/opendb_swig.dir
    cd /home/OpenROAD/build/src && /usr/local/bin/cmake -E touch /home/OpenROAD/build/src/CMakeFiles/opendb_swig.dir/opendbtclTCL.stamp
    cd /home/OpenROAD/build/src && /usr/local/bin/cmake -E env SWIG_LIB=/usr/share/swig/2.0.10 /usr/bin/swig -tcl -module opendbtcl -namespace -prefix odb -w509,503,501,472,467,402,401,317,325,378,383,389,365,362,314,258,240,203,201 -I/home/OpenROAD/src/OpenDB/include/opendb -I/home/OpenROAD/src/OpenDB/src/swig/tcl -outdir /home/OpenROAD/build/src -c++ -o /home/OpenROAD/build/src/CMakeFiles/opendb_swig.dir/opendbtclTCL_wrap.cxx /home/OpenROAD/src/OpenDB/src/swig/tcl/opendbtcl.i
    /home/OpenROAD/src/OpenDB/include/opendb/db.h:5871: Error: Syntax error in input(3).
    make[2]: [src/CMakeFiles/opendb_swig_swig_compilation.dir/build.make:68: src/CMakeFiles/opendb_swig.dir/opendbtclTCL.stamp] Error 1
    make[2]:
    Deleting file 'src/CMakeFiles/opendb_swig.dir/opendbtclTCL.stamp'
    make[2]: Leaving directory '/home/OpenROAD/build'
    make[1]: [CMakeFiles/Makefile2:341: src/CMakeFiles/opendb_swig_swig_compilation.dir/all] Error 2
    make[1]: Leaving directory '/home/OpenROAD/build'
    make:
    [Makefile:133: all] Error 2
    in Docker openroad/openroad:base
    Austin Rovinski
    @rovinski
    @clarkchen900 your swig version is too old. Try using swig 4.0 or newer
    clarkchen900
    @clarkchen900
    @rovinski Thanks! yeah it is the problem. I was compiling in the openraod/openroad:base Docker, somehow the swig come with it is version 2.0.10, very old. I thought the Docker had come with the right dependent software...
    Akshaygireesh
    @Akshaygireesh
    can anyone help me out with installation of openROAD in ubuntu 18.04
    @promach how did you install it via archlinux git
    Jiuyang Liu
    @sequencer
    OpenROAD didn’t bump swig to 4
    Which caused archlinux building failed.
    Akshaygireesh
    @Akshaygireesh
    @sequencer could you please help me with installation in ubuntu
    Jiuyang Liu
    @sequencer
    Sorry I have no knowledge to Ubuntu...
    I suggest you use docker instead.
    promach
    @promach
    @Akshaygireesh arch linux != ubuntu
    clarkchen900
    @clarkchen900
    @rovinski Thanks - it worked! Will try more on the openroad toolset. Cheers,
    Akshaygireesh
    @Akshaygireesh
    Screenshot from 2020-08-15 11-14-56.png
    could anyone help resolve this issue
    wget http://lemon.cs.elte.hu/pub/sources/lemon-1.3.1.tar.gz \
    && tar -xf lemon-1.3.1.tar.gz \
    && cd lemon-1.3.1 \
    && cmake -B build . \
    && cmake --build build -j $(nproc) --target install
    My suggestion is don't use ubuntu 18.04, it is too outdated. Use centos8 or ubuntu20 instead.
    My big suggestion is centos8.
    Akshaygireesh
    @Akshaygireesh
    thanks a lot
    Akshaygireesh
    @Akshaygireesh
    Screenshot from 2020-08-15 20-36-17.png
    how to begin with openroad flow, after make
    Akshaygireesh
    @Akshaygireesh
    Anyone using ubuntu ? and from india ?
    Rajarshi Roy
    @rjrshr_twitter
    @Akshaygireesh are you using the provided docker container? Then it shouldn't matter if you are using ubuntu or centos, everything is preinstalled and working in the docker https://docs.docker.com/engine/install/ubuntu/
    Once the docker container is launched execute:
    $ cd /OpenROAD-flow/
    $ source setup_env.sh
    $ openroad gcd_nangate45.tcl
    Akshaygireesh
    @Akshaygireesh
    @rjrshr_twitter setup_env,sh not found
    Akshaygireesh
    @Akshaygireesh
    Screenshot from 2020-08-17 12-56-02.png
    Please help resolve this
    quentinw91
    @quentinw91
    Hello, I am using the buffer_ports -inputs command to add buffers to my inputs pins, but then the Resizer resizes them. Is there a "don't touch" command to specify cells we do not want to be resized ?
    Austin Rovinski
    @rovinski
    @/all https://github.com/The-OpenROAD-Project/OpenROAD-flow repository is back online in temporary read-only state. We are still working to restore the history.
    Austin Rovinski
    @rovinski
    @quentinw91 I'm not clear on what you're saying. What is being modified that you don't want it to be? The buffers inserted by buffer_ports?
    Resizer does optimal delay calculations when resizing instances, so it would be resizing the buffers in order to meet timing constraints or fix electrical rules.
    If the issue is that resizer is making the input buffers too large or small, use set_driving_cell in your SDC to give it a better idea of the port input drive. If you really don't want resizer touching the buffers, then you can set the buffer placement status to FIXED and I believe that will prevent resizer from touching it.
    quentinw91
    @quentinw91
    Yes, i have selected a specific buffer cell for the inputs (i.e. BUFX1) but the resizer replaces some of them (i.e. with BUFX2 or BUFX4). But i would like to have the same input capacitance presented at each input pin. So i would like that resizer does not touch the BUFX1, or if it needs to, adds another buffer with higher fanout (BUFX1-->BUFX4--> (rest of logic)... ). I will try the FIXED solution, thanks !
    quentinw91
    @quentinw91
    i used the $inst setPlacementStatus FIRM to have it FIXED, but it did not work. I'll create an issue in github, since it does not seem to be so easy
    quentinw91
    @quentinw91
    i get an error with the OpenROAD-flow-public. yosys seems to be not correctly installed:
    bash-4.2$ source ./setup_env.sh
    OPENROAD: /OpenROAD-flow/tools/OpenROAD
    bash-4.2$ cd flow/
    bash-4.2$ make synth
    [INFO][FLOW] Using platform directory ./platforms/nangate45
    /bin/bash: yosys: command not found
    make: * [versions.txt] Error 127
    (i would create an issue on github with the log file, but it is not possible to open issues)
    quentinw91
    @quentinw91
    i created the issue on openroad repo instead
    Austin Rovinski
    @rovinski
    I responded on the issue, but until OpenROAD-flow is not read-only, it's probably best to just post any flow-specific issue here. Issues that aren't related to OpenROAD directly may just get closed by less friendly developers.
    quentinw91
    @quentinw91
    yeah, i just did not want to flood the chat with my 26K lines log file :p
    David Pan
    @CPA872
    Hello all, I've new to openroad-flow. I have it installed using docker. But after doing "docker run openroad" and "source setup_env.sh", bash still prompts "openroad: command not found". (Ubuntu 20.04) Does any have this issue or can provide any help? Thanks in advance!
    $ source setup_env.sh
    OPENROAD: /home/cx872/OpenROAD-flow/tools/OpenROAD
    ^Above is the output after sourcing.
    Akshaygireesh
    @Akshaygireesh
    try running it via docker
    2 replies
    Austin Rovinski
    @rovinski
    @CPA872 Are you running the script inside or outside of a docker container? It must be run inside. From the README:
    3. Start an interactive shell in a docker container using your user credentials
    docker run -it -u $(id -u ${USER}):$(id -g ${USER}) openroad/flow bash
    laurentc2
    @laurentc2
    With TritonRoute I got many "Error: instAnalysis unsupported pinFig".
    It is very tough to find the origin of the errors, probably my cellLib lef file.
    It would be nice to get more info for the debug : which cell? which pin? which pin property ?
    Maybe my technology tlef file is badly defined : it is the most difficult file to setup. More info would be welcome, especially for the VIARULE.
    Thank you!
    Austin Rovinski
    @rovinski
    Hi @laurentc2, I recognize you from the KLayout forums! Good to see you trying out OpenROAD :)
    TritonRoute is known to have very bad error messages. Unfortunately they are written to help the developer and not so much the end user. We are aiming to dramatically improve user messages across all of OpenROAD starting sometime within the next few months.
    For Error: instAnalysis unsupported pinFig, seems to come from this section of code
    TritonRoute only supports RECT-based pins in LEF MACROs. A vast majority of PDKs we've encountered use RECT pins. The only one I've seen do otherwise is Nangate45, which uses POLYGON pins. For this reason, we've recreated the Nangate45 LEF to use RECT pins instead (available here).
    If your cell library uses POLYGON pins, you would have to use a tool to re-extract them as RECT pins. Unfortunately this might take some work :(
    laurentc2
    @laurentc2
    Thank you for that great help : it was my problem !
    laurentc2
    @laurentc2
    Yes, I often use KLayout a very great tools !
    By the way, all examples of the openroad Flow use random placement of the pins ... it not the case in the true life. Please, could you add an example with the pins placed at a given position in X or Y. It will be very helpful and be more real.
    Thank you again!
    Austin Rovinski
    @rovinski

    @laurentc2 There is a mode of ioPlacer which uses non-random assignment - it uses an algorithm to place I/O pins such that wire length is minimized. We don't have it active right now because there was an issue where it might place pins too close together and cause routing violations. It depends on a placed design, so to run it, one has to run random IO assignment --> global placement --> non-random IO assignment.

    It is not quite what you are asking, but it is better than random. There is probably a way to do place pins using OpenDB commands, but yes, we should make the interface easier to use. I will forward this to the team.