Replies: 2 comments 5 replies
-
@oharboe The liberty in the mock sram can be updated with the clock latency information. |
Beta Was this translation helpful? Give feedback.
-
Is the fakeram a non-physical model with no gates? If so, I'm not surprised there's no clock insertion modeled. For what it's worth, the commercial synchronous memories I've seen typically don't show any internal clock delay. Their timing basically look like a multi-input and output D flop with arcs from the clock pin(s) to the I/O pins. (They typically tend to be self timed so the rising edge of clock kicks of a sequence of events internal to the RAM - sample the inputs, decode the address, fire word lines, trigger sense amps, go back to precharging bit lines, etc. That all gets buried in an effective C2Q in the timing model. Some of those stages are small swing analogish steps that static timing can't model accurately anyways.) |
Beta Was this translation helpful? Give feedback.
-
Near as I can tell, the clock network insertion latency within a macro is zero, which I found surprising.
Surely there is some clock network latency within an SRAM that CTS should take into account?
The two cases are different, but I'm having a hard time figuring out what OpenROAD is telling me.
I have compared the network insertion latency for a fakesram and a mock-sram.
Standalone example below based on
make DESIGN_CONFIG=designs/asap7/riscv32i-mock-sram/config.mk
andmake DESIGN_CONFIG=designs/asap7/riscv32i/config.mk
Untar mock-sram.tar.gz and fakesram.tar.gz
fakeram has 0 clock network insertion latency
0.00 119.98 ^ dmem/dmem0/clk (fakeram7_256x32)
below:mock sram:
Looks like the mock-sram has a clock network delay of internally for the flip-flop that is driving the
rd_out[0]
Beta Was this translation helpful? Give feedback.
All reactions