is there a way to see the clock tree in caravel? l...
# mpw-one-silicon
m
is there a way to see the clock tree in caravel? like extract the whole thing and look at it in klayout?
m
Yes: "KLayout Layout Viewer And Editor" https://www.klayout.de/doc-qt5/manual/net_tracing.html
Though that would only do one net at a time and not across buffers
m
That's what I was thinking
I can trace nets with klayout
Maybe all the clock wires get a name
And I could do it that way
m
The clock wires get random names in the Verilog IIRC and these won't really be in the layout. There could probably be a script that highlights multiple nets using the trace feature and iterating from input to output of buffers
I'm not sure how to query pins and shapes in layout cells
m
I haven't even looked at all the files produced by the cts program. Maybe there's a list of coordinate there
@Matt Liberty do you know?
m
CTS uses regular names for the clock buffers and nets. clknet* for nets and clkbuf* for instances
๐Ÿ‘ 2
Here I just selected everything with those names:
(that is the OR gui)
m
I swear I saw random names when I was debugging clock nets in openlane, but I look at my final design now and they are regularly named.
Oh, I know, this is when it WASN'T recognizing it as a clock net and was using Yosys buffering
f
@Matt Venn I guess you could write custom script that expand a selected net with nets on the output of a certain buffer on that.
๐Ÿ‘ 1
m
I'm gonna learn how the openroad GUI works, looks pretty useful
k
I'm very late to the party but you can select the nets in KLayout by opening the routing .def file, Edit -> Search and enter a custom search string
Copy code
shapes from instances of ... where shape.property(1) ~ "{clk,clknet_*}"
Select all the shapes -> Export to Layout. Then you can open the final GDS and "File -> Pull in other layout -> query_results" to overlay the clock tree.
๐Ÿ‘ 1