Open maliberty opened 2 years ago
@mguthaus Please comment.
The tech file has a .04ns slew rate as seen here: https://github.com/VLSIDA/OpenRAM/blob/f66aac3264598eeae31225c62b6a4af52412d407/technology/sky130/tech/tech.py#L704 It seems that this was just an arbitrary value.
The default slew corners are .25, 1, and 8x this value and max slew is the last.
The values in the .lib files are from analytical characterization and are pretty arbitrary... They are not based on simulation.
On Thu, Dec 30, 2021, 20:32 Matt Liberty @.***> wrote:
@mguthaus https://github.com/mguthaus Please comment.
— Reply to this email directly, view it on GitHub https://github.com/efabless/sky130_sram_macros/issues/9#issuecomment-1003265547, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC67SL375X2VMEJMV67YTNDUTUW5NANCNFSM5LAYBD3Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
Correction: .005ns
On Thu, Dec 30, 2021, 20:47 Matt Guthaus @.***> wrote:
The tech file has a .04ns slew rate as seen here:
https://github.com/VLSIDA/OpenRAM/blob/f66aac3264598eeae31225c62b6a4af52412d407/technology/sky130/tech/tech.py#L704 It seems that this was just an arbitrary value.
The default slew corners are .25, 1, and 8x this value and max slew is the last.
The values in the .lib files are from analytical characterization and are pretty arbitrary... They are not based on simulation.
On Thu, Dec 30, 2021, 20:32 Matt Liberty @.***> wrote:
@mguthaus https://github.com/mguthaus Please comment.
— Reply to this email directly, view it on GitHub < https://github.com/efabless/sky130_sram_macros/issues/9#issuecomment-1003265547 , or unsubscribe < https://github.com/notifications/unsubscribe-auth/AC67SL375X2VMEJMV67YTNDUTUW5NANCNFSM5LAYBD3Q
. Triage notifications on the go with GitHub Mobile for iOS < https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
You are receiving this because you were mentioned.Message ID: @.***>
— Reply to this email directly, view it on GitHub https://github.com/efabless/sky130_sram_macros/issues/9#issuecomment-1003267878, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC67SL6UIO47PTLQUUCSR63UTUYVTANCNFSM5LAYBD3Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID: @.***>
@RTimothyEdwards @mkkassem what do you see as typical slew values for sky130? 5ps seems very small to me. It feels like we should pick better values and recharacterize.
I'd like to stress that these models are not characterized data. It is an Elmore delay model estimate which is independent of slew.
Matt
On Fri, Dec 31, 2021, 21:02 Matt Liberty @.***> wrote:
@RTimothyEdwards https://github.com/RTimothyEdwards @mkkassem https://github.com/mkkassem what do you see as typical slew values for sky130? 5ps seems very small to me. It feels like we should pick better values and recharacterize.
— Reply to this email directly, view it on GitHub https://github.com/efabless/sky130_sram_macros/issues/9#issuecomment-1003506086, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC67SL3STEPS2K74JQW5RDTUT2DGRANCNFSM5LAYBD3Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
I think the underlying issue is some confusion about the semantics of liberty max_transition. The ram libraries appear to be using it to prevent extrapolation in the table model. Note that the table model that has constant values. This means preventing extrapolation is pointless because extrapolation will return the same value as the constant in the table model. The "fakeram" generator used by openroad flow scripts suffered from the same problem. I changed the models to use scalar instead of a table because it more accurately reflects the non-slew dependency of the timing model. Using an artificially small technology independent max_transition directs physical optimization to try to reduce the slew to a value that is impossible to achieve in a slower technology.
The RAMs have a very small max_transition of 0.04, e.g. https://github.com/efabless/sky130_sram_macros/blob/c2333394e0b0b9d9d71185678a8d8087715d5e3b/sky130_sram_1kbyte_1rw1r_32x256_8/sky130_sram_1kbyte_1rw1r_32x256_8_TT_1p8V_25C.lib#L188
Most of the stdcells have a value of 1.5 in hd and 1.0 in hs for comparison. Is this value correct?