https://open-source-silicon.dev logo
#openlane
Title
# openlane
p

Paweł Sitarz

11/07/2021, 9:35 PM
Hi all, What is correct way of listing multiple clocks in config.tcl? I saw in few repos and also tried by myself doing it like this:
set ::env(CLOCK_PORT) "wb0_clk_i wb1_clk_i ram_clk0 ram_clk1"
But this results in this error during hardening:
On the other hand if I try this way:
set ::env(CLOCK_PORT) [list {wb0_clk_i wb1_clk_i ram_clk0 ram_clk1}]
I'm getting this error:
@User Hi Matt, Hope you're proper person 🙂 Could you help me with above case?
m

Matt Liberty

11/07/2021, 11:04 PM
You should put the positional args at the end - see https://github.com/The-OpenROAD-Project/OpenSTA/blob/master/doc/OpenSTA.pdf
m

Mitch Bailey

11/08/2021, 1:35 AM
@User Looking at the OpenSTA, it appears that the
create_clock
command creates a virtual clock driver for the pin or pins at the end of the command. To create multiple clocks (say at different frequencies), I'm assuming it's necessary to use multiple
create_clock
commands defining different clock periods. Do you know if this is possible with the current openlane
config.tcl
configurations?
m

Matt Liberty

11/08/2021, 1:45 AM
you do need multiple commands but I'm not an OL expert. @User any comment?
If you are reading an sdc file you can put all your commands in there
p

Paweł Sitarz

11/08/2021, 9:26 PM
@User So I should have multiple lines in config.tcl with
set ::env(CLOCK_PORT) [,
with each line having only one clock signal mentioned, is that what you mentioned? Won't last clock mentioned in config.tcl overwrite previous signals?
Ok, that was stupid question. I should create sdc and put create_clock commands there.