[Libre-soc-bugs] [Bug 199] Layout using coriolis2 main core, 180nm

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Sep 16 00:31:04 BST 2020


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

--- Comment #69 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jean-Paul.Chaput from comment #68)
> (In reply to Luke Kenneth Casson Leighton from comment #67)
> > (In reply to Jean-Paul.Chaput from comment #66)
> > > I did implement it in alliance-check-toolkit commit 76c4f45 and modificated
> > > experiment9 accordingly in commit c362610. I stick to the list approach.
> > 
> > star.  i will recompile and see how it goes.
> > 
> > > 
> > > It seems complicated to me to guess that list automatically. I think it
> > > should be done at nMignen level, as only the designer know where to stop.
> > 
> > ah sadly, nmigen itself quite "dumb".  its job is "take AST, turn it into
> > yosys ilang file".
> > 
> > that's *literally* it (!).
> > 
> > now... what i _could_ do is, from the original python class hierarchy, get
> > it to auto-generate a yosys script, that would work, hmmm.
> 
>   I'm not familiar with nMigen, but can't you put print statements
>   when instanciating a model/class just to fill the flatten file?

not at all!  it is literally, "call this function, it outputs a yosys ilang
file"

the order in which the modules are added is particularly involved.

i may need to create an Abstract Syntax Tree walker to get the names.

it should not be too hard.



> 
>   By the way, the loop is still there (will investigate after the
>   buffering is ok). You may notice that a *lot* of buffer is used.
>   It is a general trend as wires becomes longer and longer in SoCs.
>   And I still need to also bufferise long wires. So the result is
>   that more segments gets unrouteds (about 50).

ahh i wondered about buffering.

i apologise because this design, because it is intended to be multi issue
out-of-order, there are as you have seen *10* different execution engines, and
*17* integer register file fan-out for reading!

also when we have the Dependency Matrices, although only 1 bit will be driven,
there coukd be up to 40 DFFs (or SR NAND latches) on a single row.

only one of those will change HI/LO on any one clock cycle but it is still a
lot of things to drive from one source.

just so you know in advance and are not so freaked out :)

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


More information about the libre-soc-bugs mailing list