module demo1(input a, input b, output x); always @...
# openlane
m
module demo1(input a, input b, output x); always @(a,b) begin x<= a&b; end endmodule
IMG_20240713_163252.jpg
Why do these errors come?
v
in the config.json define correct `CLOCK_PORT`name, if you don't have clock port make it empty
m
You mean edit tge file right
v
yes
m
The default config file assumes it is a sequential process right
v
your top module don't have port name
clk
but config.json has
m
Oh i never knew will try and see
Thanks for trying to help
Can i just place a dummy clk port for asynchronous operations?
@Vijayan Krishnan
IMG_20240713_195038.jpg
The flow seems to fail at step 6. Can anyone explain why?
IMG_20240713_195917.jpg
The PDN step is failed.
d
The design is tiny, so the default PDN size options cannot make a connection to your circuit. The inverter design is pretty similar to what you're doing (tiny, clockless design) so use its configuration file as a reference: https://github.com/efabless/openlane-ci-designs/blob/main/inverter/config.json
m
How can i judge the size of the pdn i need?
Can you please explain
d
For tiny designs, the default option just won't work. Your design is quite literally an and gate. The logs reported that the pitch of the PDN is too small, as shown in your screenshot. For a primer on power distribution networks, see here: https://openlane2.readthedocs.io/en/latest/usage/pdn.html For larger designs, you usually don't need to touch the PDN options, unless you're running into routing congestion issues in which case it may be prudent to increase the pitch between the sets of straps.
m
Is there a way to let the pdn scale automatically as per the circuit?
@donn thanks for the feedback. I used a rectangle of 40 microns wide by 80 microns long
I used similar values for remaining parameters.