-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unable to generate fakeram for sky130 #13
Comments
Hello, I am seeing a similar issue when using the following settings in SKY130 pinPitch_nm: 920, I understand that the height is not enough to fit all the tracks required by the pin pitch. It works when the pin pitch is reduced but we want it to be set to 920 (==2Xmetal pitch) Is there a way around this ? |
One work around would be to use the "snapHeight_nm" setting to force the sram to be tall enough to hold all the pins.
It's reasonable that instead, we add a new boolean setting that allows the sram to become taller to accommodate all pins at the requested pitch. |
In that example what is the calculated height and width of the sram? How
are the address and data pins arranged?
…On Fri, Jul 8, 2022 at 1:38 PM derekcom17 ***@***.***> wrote:
One work around would be to use the "snapHeight_nm" setting to force the
sram to be tall enough to hold all the pins.
But this is kind of a hack, and would also force all other srams to snap
to this height. (Since it is a global setting within a config file.) I
tested this, and got it to work with these settings:
"pinPitch_nm": 920,
"snapHeight_nm": 210000,
"srams": [
{"name": "fakeram130_256x64", "width": 64, "depth": 256, "banks": 1}
]
It's reasonable that instead, we have a boolean setting that allows the
sram to become taller to accommodate all pins at the requested pitch.
I should have time to work on that in the next few days if you all think
that is a good fix!
—
Reply to this email directly, view it on GitHub
<#13 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEFG5AEJEVT4IKB7LXJT64DVTCGWDANCNFSM5K7IUM2A>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Looks like the original height was 161um. So the ram area grew by 1.3x to fit all the pins. I believe the pins are always arranged as they are in this image. With all pins on the left. We could work on a more efficient pin layout as well. Or, we could add the option to disable the write mask so there are fewer pins if we don't need them. |
FYI - I have a doc @ https://docs.google.com/spreadsheets/d/1TJrGuujPSOE9CAxwnf8IQg4X_veLV4QahXvGOfsVLK4/edit#gid=0 which tracks the actual sizes achieved on SKY130. |
Sorry no update for a while on this one... Now that we got a chance to take a closer look at this, we realized that the example sky130 parameters in If you use the new config, then I believe the 4 SRAMs from the original issue post can now be built! As far as the 920nm pin pitch goes, I don't think there is an elegant way to do that. The pins just don't fit if they are spaced so far apart. My understanding is, in typical SRAM generators (I mean non-fake ones) that you don't get to set the pin pitch or width or position at all. |
Thanks a lot @derekcom17 and others. //then you could still do the "super-snap" hack from above Does that make sense or are we doing something wrong ? If it does make sense, then is there any way around that ? Apologies if this is a trivial question. |
That size lines up with what I see. The original ram size (before any snapping) is 1009.78um wide by 159.937um deep. That size (and all the other sram properties) are generated by the cacti program. I am not familiar with the inner workings of cacti, so I am not sure exactly how it calculated these SRAM dimensions. I guess you also may have the option to instantiate 2 SRAMS parallel (each with half the data width). Looks like a w32_d256 sram is only 294x348 um. So if you instantiate 2, there will still be some extra area needed, but all the pins will fit correctly in that case. |
I'm using following test130.cfg to generate fakeram.
command used:
Stopped with below error
Expected behavior:
Generate fakeram for test130.cfg
The text was updated successfully, but these errors were encountered: