[libre-riscv-dev] [Bug 178] first coriolis2 tutorial, workflow and "test project" page

bugzilla-daemon at libre-riscv.org bugzilla-daemon at libre-riscv.org
Tue Feb 25 21:11:03 GMT 2020


--- Comment #124 from Jean-Paul.Chaput at lip6.fr ---
(In reply to Luke Kenneth Casson Leighton from comment #121)

> Traceback (most recent call last):
>   File "doAlu16.py", line 344, in <module>
>     success      = alu_hier()
>   File "doAlu16.py", line 320, in alu_hier
>     etesian.place()
> hurricane.HurricaneError: [ERROR] EtesianEngine::toColoquinte(): Non-leaf
> instance "subckt_49_sub" of "sub" has an abutment box but is *not* placed.
> so... errr... what's going on?  the whole point is: i want that subckt_49_sub
> (which is the cell created previously, to be treated as "something to place".
> how do we get both add.ap and sub.ap to be added to the list of cells
> to be "placed"?

  Not sure I understand what you want to do here. Do you:

  1. Want to create placed and routed blocks of "add" & "sub", then
     place them to build the whole core.

  2. Create a hierarchical design with netlists "add" and "sub", but
     to have the whole core placed & routed in one shot "as it was flat"
     (Coriolis is good at that).

  The option 2. is readily doable, and in that case the message you have
  means that you must remove any ".ap" file *before* placing (but keep
  the ".vst").

  For option 1., the placer can only handle standard cells, not blocks
  (or "macros"). In that case you have to manually build the placement
  of the blocks (floorplaning). The router can manage block routing.

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

More information about the libre-riscv-dev mailing list