Greetings, I have two questions regarding the Cara...
# caravel
t
Greetings, I have two questions regarding the Caravel top-level STA: Q1: The reports are ONLY copied into signoff\caravel\openlane-signoff\timing, or should I check out some additional reports at some other locations ? Q2: There are 39 reports for each min\nom\max corner and 13 reports for each ff,ss,tt corner. Therefore, if I would expect hold time violations on the WB or LA bus, (signals btw. the mgmt. core and the user core), in which or the 4 “min” report below would that be reported ? /-clk-min.rpt, /-min.rpt, /-mrpj-min.rpt or /-soc-min.rpt ? Thanks a lot, Tobias
@Tim Edwards Would you mind possibly escalating these questions to the mastermind behind the top-level STA? Thanks a lot.
t
@Tobias Strauch: I just did. Andy, Jeff, and I were looking at these files ourselves earlier today. I remember Andy asking about why there were four different timing files, but I don't recall that we investigated that particular question. As for Q1, though: Yes, you only need to look at files in
signoff/caravel/openlane-signoff/timing
.
FYI, we will be looking at the same files again tomorrow morning, so I'll try to make sure I have an answer for you on Q2.
t
Thank you Tim. I found some time to investigate here and I created testcases with low register count (original counter example (well, I didn't "create" that)) and high register count (counter example plus monster shift register). IMHO I would expect that one or the other (probably both) will create hold time violations. I'll report on this but I want to make sure that I'm looking at the right reports.
t
Here is more information from @Passant : Q2: timing reports are categorized based on the path group (clock name) or the paths that pass through a certain cell: • -min.rpt: includes the worst 10k min timing paths across all design with slack < 10 • -max.rpt: includes the worst 10k max timing paths across all design with slack < 10 • -clk-min.rpt: includes the worst 1k min timing paths related to the path group
clk
(core clock) • -hkspi_clk-min.rpt: includes the worst 1k min timing paths related to the path group
hkspi_clk
(housekeeping spi SCK) • -hk_serial_clk-min.rpt: includes the worst 1k min timing paths related to the path group
hk_serial_clk
(gpios serial clock) • -mprj-min.rpt: includes the worst 1k min timing paths passing through
mprj
. so it includes all paths going into and from the
user_project_wrapper
(with slack < 40) • -soc-min.rpt: includes the worst 1k min timing paths passing through
soc
. so it includes all paths going into and from the
mgmt_core_wrapper
(with slack < 10) This is specified at the beginning of each report (edited)
t
Awesome guys, very nice overview. Thank you. I'll report on some findings later today, as I have triggered a hold time violation between mprj and soc, but until then a question comes up based on this. A min violation between mprj and soc would be reflected in -min.rpt -mrpj-min.rpt and -soc-min.rpt at the same time, right ? No critics, just out of curiosity. @Passant
p
@Tobias Strauch yes. For the user project wrapper paths, please investigate paths in
*-mprj*
and
*-clk*