Skip to content

LVS Error Pcells on certian finger / multipler values #35

@amisapta15

Description

@amisapta15

There is an issue with the multiplier and finger counting in the Fet Netlist generation code, which appears when using the connect_netlist automated netlist generation in upper-level Design.

'mult': mtop / 2,

A minimal problem example will be as following. Few snippets are addded for IIC-OSIC Docker which can be remove if not being used. The working combination is Width=3,Fingers=4. Everything else doesn't work including the example in following.

The reason that is suspected is incorrect translation of fingers and width to the fet_netlist function as linked on top. It uses 'mtop = fingers * multipliers; dmtop = multipliers; mult': mtop / 2, which doesn't seem correct.

from glayout import MappedPDK, sky130,gf180
from gdsfactory.component import Component

###### Only Required for IIC-OSIC Docker, Ignore for other OS setup####################
import os
import subprocess
from typing import ClassVar, Optional, Any, Union, Literal, Iterable, TypedDict
from pathlib import Path
# Run a shell, source .bashrc, then printenv
cmd = 'bash -c "source ~/.bashrc && printenv"'
result = subprocess.run(cmd, shell=True, text=True, capture_output=True)
env_vars = {}
for line in result.stdout.splitlines():
    if '=' in line:
        key, value = line.split('=', 1)
        env_vars[key] = value

# Now, update os.environ with these
os.environ.update(env_vars)

######Importing the design from blocks folder#######################
import sys
sys.path.append('gLayout/blocks/elementary/diff_pair/')
from diff_pair import diff_pair,add_df_labels

comp = diff_pair(gf180,width=3,fingers=1)
comp =  add_df_labels(comp,gf180)
comp.name = "FVF"
#comp.show()

print("...Running LVS...")
lvs_res=gf180.lvs_netgen(comp, "FVF",copy_intermediate_files=True,show_scripts=True)

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions