Yes, if you have Cadence licenses, you can follow ...
# sky130
b
Yes, if you have Cadence licenses, you can follow our labs: https://github.com/EECS150/asic_labs_fa21 (sky130 option), which will generate layout. Lab 6 doesn't have a Sky130 version, because OpenRAM doesn't mix well with other memory macros, we may have some alternatives in a few months. Behind the labs is a tool called Hammer: https://github.com/ucb-bar/hammer/. There is an e-mail alias through which you can ask for non-public plugins for commercial tools.
m
Why doesn't openram "mix well with other memory macros"?
b
Clocking scheme is different than ASAP7 (or TSMC), so it is not a drop-in replacement.
m
Ah, we are offering alternatives to that if you don't like it using the two halves of the clock.
You can just treat it as positive edge triggered.
There will also be an asynchronous version this summer.
b
We would welcome a PR...
And we may also make a simple hard macro for lab purposes.
m
If you have issues with OpenRAM, you should file them in github.
b
It is not an issue, it is a design decision...
m
Github issues have bugs, feature requests, etc. So there is a category for that.
Anyhow, we'd appreciate the feedback.
a
Thanks @User for the pointers.
m
@User So ASAP7 still doesn't have SRAMs and this just uses fake ones?
b
Yes, ASAP7 memory is fake, but its front-end views mimic a typical foundry macro. We can do the same for Sky130 (make a fake macro), but that defeats the purpose, IMO.
m
That means the clocking scheme is arbitrary for ASAP7 as well.
Can you clarify how the clocking is different? I looked at the interfaces and they are basically the same. So it just doesn't use the negative edge for anything?
b
No it doesn't. It matches what commercial processes use. The idea is to have the same RTL generation process be able to target a variety of processes. We can probably make a Sky130 macro that conforms to that, and then OpenRAM can match it. That will happen probably a couple of months, the priority is to get the version of a flow (and these labs) that work with open EDA tools (OpenROAD).
m
Well, you could just change OpenRAM to incorrectly use a different behavioral model since the ASAP7 one is fake anyways...
FYI, we have the new timing simulating but just need to update the layout.
b
That would be good. We avoided having fake stuff in sky130, because it is a real process, and our flow should make things that are physically realizable.