VLSIDA / OpenRAM

An open-source static random access memory (SRAM) compiler.
http://www.openram.org
BSD 3-Clause "New" or "Revised" License
831 stars 203 forks source link

Question: Available routing layers #250

Closed FriedrichWu closed 2 months ago

FriedrichWu commented 2 months ago

Describe Hello,

Thanks for the wonderful project.

I'm looking into the code and I see the following comments in sram module, which says the the channel router must use different layer stack to connect the dffs to the bank-submoudle.

截屏2024-08-14 10 30 14

My question is, why this is required? And current code uses m1_stack for col_addr_dff, m3_stack for dffs, is it OK to use m2_stack for dffs here?

And besides, escape signal and power grid/signal use m3_stack(m3/m4), is it OK if I let escape signals be routed in other layer-stack(like m2_stack?), or are there maybe some requirements for the layers that all the internal signals use?

Version the latest

mguthaus commented 2 months ago

I believe this was a requirement because the control signals get routed over the column mux. That routing is not blockage aware and is done on a different stack to avoid conflict.