[Libre-soc-dev] soclayout problem

lkcl luke.leighton at gmail.com
Tue Apr 27 13:01:28 BST 2021


On Tue, Apr 27, 2021 at 12:44 PM Jean-Paul Chaput <Jean-Paul.Chaput at lip6.fr>
wrote:

>
> > you *will* have to do *exactly* what i did in the freepdk45 directory....
> > which (doh) i have not committed the modifications to the build_*.sh
> > scripts to copy over the lower-case spblock512w64b8w_*.v
> >
> > ah, found it:
> >
> https://git.libre-soc.org/?p=soclayout.git;a=blob;f=experiments9/build_full_4ksram.sh;hb=HEAD
> >
> > i had only added the required steps to that build script, not to all.
> done
> > now
> > https://git.libre-soc.org/?p=soclayout.git;a=commitdiff;h=HEAD
>
>   One correction and one question :
>
>   Correction: You must also add spblock512w64b8w_X to the list of
>               YOSYS_BLACKBOXES in the Makefile (may be moot, depend
>               on the answer to the question).
>

ah, yes, sorry.  i have also just added (and pushed) those)


>   Question: Do the four spblock512w64b8w_X, in fact, refer to the
>             same model of spblock_512w64b8w ?


no, they *have* to be named differently.

Because if it is so,
>             they must have the same name as the layout, that is
>             spblock_512w64b8w, so Coriolis can associate netlist
>             and layout.
>
>
this is what took me literally an entire day to find the problem.

if they are not completely separate blackboxes, with completely different
names, yosys *WILL NOT* complete.

everrr.

it will - 100% - without fail - produce an error when trying to create the
BLIF file.

the ONLY solution that i found, after literally an entire day, was to give
SEPARATE names.

it will therefore be necessary to have coriolis2 recognise the five
SEPARATE names

spblock512w64b8w_0
spblock512w64b8w_1
spblock512w64b8w_2
spblock512w64b8w_3
pll

if you look at this line (274), you will see i have already prepared the
doDesign.py to expect that:

https://git.libre-soc.org/?p=soclayout.git;a=blob;f=experiments9/freepdk_c4m45/doDesign.py;h=e1a04aa921da94b345b379434d91bf800eec511b;hb=039ba882cad069174275ed440e5e129c2e21b7bf#l274

 272             # each sram is named differently (yosys blackbox issue)
 273             for i in range(4):
 274                 sram = DataBase.getDB().getCell( 'spblock512w64b8w_%i'
)
 275                 if sram:


More information about the Libre-soc-dev mailing list