Coder Social home page Coder Social logo

ripple's People

Contributors

jordanpui avatar liulixinkerry avatar rholais avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ripple's Issues

ISPD2015 benchmark

Could you please provide the ISPD2015 benchmark you use in Pin-Accessible Legalization for Mixed-Cell-Height Circuits?

Segmentation Fault

Hi there,
We also followed the your steps to build
but we get the error code.
image
Which step did we do wrong?

and I also curious whether the line31 in db/db_geom.cpp is

ye = upperbound(ys.begin(), ys.end(), rect.hy)

image

We complied the files followed by makefile
image
image

Implementation problems

Hi there,
I found this when I read your papers about Ripple, and I'm surprised by its fastness on benchmark superblue19 within 35 mins as the paper read.
Then, I decided to utilize your opensource and expect to see the same result by my self.
However, When I run Ripple on the Ubuntu 18.0.4 workstation with 3.6GZ 8RAM 4 cores, I found it took more than a few hours. (Actually it was overtime.)
Thus, I'm curious about whether there are some details I don't know.
First, I follow your two steps to build Ripple.
Second, I run the following command in ripple/bin to execute it:
./placer -bookshelf dac2012 -aux ../superblue4/superblue4.aux -pl ../superblue4/superblue4.pl -flow dac2016 -cpu 4
Is there any difference between when you used Ripple in the contest and when it is now,which may incur too much time here?

Some starting guide for beginners

Hi. I am a physics grad student who is not really familiar with the VLSI context and I would like to use the ripple for placements of optimization problems on quantum annealers. Sorry for raising this post but I would like to know if there can be some simple example files that describes simple geometries (like place a K33 graph on a K6 graph) rather than the conference competition files (e.g. like superblue in ICCAD2012) so that I can test and build on from. Any information or reference is appreciated, thanks!

Perform after ePlAce result

Hi, dear author
I'm working on my own placement engine, and comparing placement results through innovus "earlyGlobalRoute" command.
I just perform ripple after RePlAce, but observed that there is still much congestion in a test design. Can you offer some effective advice?
Thank you very much!

-bookshelf wu2016

Hi there, I am curious about what is the flag -bookshelf wu2016 stand for?
Or what flag can I use ripple without routing?
Thanks.

Compile Error

When I try to build the source code, I get the following error:
g++ -O3 -DNDEBUG -Wall -std=c++17 -static -I./lemon/include -I. -o placer main.o db/db.o db/db_cell.o db/db_layer.o db/db_net.o db/db_pin.o db/db_region.o db/db_drc.o db/db_geom.o db/db_route.o db/db_get.o db/db_set.o db/db_add.o db/db_map.o db/db_check.o db/db_place.o dp/dp.o dp/dp_data.o dp/dp_datalocal.o dp/dp_dataglobal.o dp/dp_draw.o dp/dp_move.o dp/dp_movemll.o dp/dp_movesr.o dp/dp_form.o dp/dp_place.o io/file_bkshf_db.o io/file_constraints.o io/file_lefdef_db.o io/file_liberty.tab.o io/file_liberty.yy.o io/utils.o io/io.o io/file_verilog.o ripple/ripple.o sta/lib.o sta/sta.o tcl/tcl.o ut/log.o ut/timer.o ut/utils.o vi/vi.o vi/draw.o vi/item_pos.o vi/vi_db.o def58/lib/libdef.a lef58/lib/liblef.a ./lemon/lib/libemon.a -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -ldl
g++: error: def58/lib/libdef.a: does not have that file or directory
g++: error: lef58/lib/liblef.a: does not have that file or directory
g++: error: ./lemon/lib/libemon.a: does not have that file or directory
Makefile:152: recipe for target 'placer' failed
make: *** [placer] Error 1

Sure.

Sure.
The papers I mentioned are as follows:
https://www.researchgate.net/publication/221627056_Ripple_An_effective_routability-driven_placer_by_iterative_cell_movement
https://ieeexplore.ieee.org/document/6560745
https://dl.acm.org/doi/abs/10.1145/2925989
And the benchmarks I tried are as follows:
https://www.ispd.cc/contests/11/ispd2011_contest.html
http://archive.sigda.org/dac2012/contest/dac2012_contest_benchmarks.html#head-designs
BTW, when I used the superblue1 in ISPD11 with the following command
./placer -bookshelf dac2012 -aux ../superblue1/superblue1.aux -pl ../superblue1/superblue1.pl -flow dac2016 -cpu 1,
it showed that bad::alloc.
Thanks for your help.

Originally posted by @tstren1223 in #6 (comment)

Some question about DAC 2012 Benchmark

Sorry to bother you again. When I was using Ripple with my own customize test case followe the DAC 2012 benchmark, I got some error.

  1. First is that, I want to mark some cell to be fixed and can be overlapped by using the tag terminal_NI in .node file and the tag /FIXED_NI in .pl file.
    image
    image
    image
    And I am sure that the die is ok to be place both of them. But I got local region C3 covers whole fence default error.
    image

And when I delete T1 in both .node and .pl file. The ripple can work.
image
image
image
So my question is that why the tag terminal_NI and /FIXED_NI is not work.

2.Second is also occurs in my customize test case, but is not the same as the above.
In my some customize test case, the ripple will be Aborted due to double free or corruption when running at Detailed Placement legalization.
image
Is there any suggestion that I can deal with that.

I am sorry that I so many question. Thanks for your helping.

Compiling Error

Trying to build the source code, the compiler causes the following error:

io/file_lefdef_db.cpp:313:25: error: variable 'direction' is uninitialized when
used here [-Werror,-Wuninitialized]
if (direction == 'h') {
^~~~~~~~~
io/file_lefdef_db.cpp:274:31: note: initialize the variable 'direction' to
silence this warning
char direction;
^
= '\0'
1 error generated.
make: *** [io/file_lefdef_db.o] Error 1

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.