[libre-riscv-dev] [Bug 329] coriolis2 experiment layout for Dependency Matrices

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Sat Jun 6 11:41:10 BST 2020


https://bugs.libre-soc.org/show_bug.cgi?id=329

--- Comment #11 from Jean-Paul.Chaput at lip6.fr ---
(In reply to Luke Kenneth Casson Leighton from comment #10)
> (In reply to Jean-Paul.Chaput from comment #9)
> > (In reply to Luke Kenneth Casson Leighton from comment #8)

Hello Luke,

I posted in the soclayout & Coriolis repository a first trial at getting
back matrix like structures. It is *only* tailored for the FU-FU matrix
30x30 (hardcoded in the Coriolis plugin).

I added a Makefile to allow you to run it conveniently.

* Generate & flatten the netlist in vst:
  > make vstf

* You call the plugin in graphical mode in:
  > make viewf
  Then, in the menus:
    Misc -> Beta -> Matrix Placer

It is slow (~5 minutes) and there is no algorithmic reasons to,
almost everything is linear or log(n).

The important conclusion I draw with this preliminary work, is
that the automatic placer is doing better that the matrix placer.
You can see the results in RESULTS.txt.

Why is that so?

* The automatic placer is good, in graphic mode you can see him finding
  back the matrix structure.

* The matrix placer lose space as each block of the matrix as a ragged
  right edge where you systematically lose space. Of course it can be
  improved, but in the end you may just reach the 5% of marging of
  the automated placer.

* The conclusion about total wire length is less clear, seems close to
  each other. But with uneven density for the matrix placer, so a
  little bit more difficult to route.

* So we may spend a lot of time for almost no significant improvement.

So, it seems to me that Staf wins... The approach we should take is feed
it directly amost as a whole to the P&R (except for RAM). If the tools
cannot cope, we may broke it in 50Kgates blocks.

* The matrix placement may still win, but with a different approach.
  Build a manual generator from the groud up. Do not use synthesis
  then try to guess back the placement. But it is a lot of work
  with all the various cases you want to manage.

Best regards,

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-riscv-dev mailing list