Skip to content

Commit e59c237

Browse files
committed
Wire up the extra signals for sky130 io
1 parent e85eb47 commit e59c237

File tree

7 files changed

+211
-155
lines changed

7 files changed

+211
-155
lines changed

chipflow_lib/platforms/__init__.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,17 @@
88

99
from .silicon import SiliconPlatformPort, SiliconPlatform
1010
from .sim import SimPlatform
11-
from .utils import (
12-
IO_ANNOTATION_SCHEMA, IOSignature, IOModel,
11+
from ._utils import (
12+
IO_ANNOTATION_SCHEMA, IOSignature, IOModel, IOTripPoint, IOModelOptions,
1313
OutputIOSignature, InputIOSignature, BidirIOSignature,
1414
)
1515
from ._packages import PACKAGE_DEFINITIONS
16+
from ._sky130 import Sky130DriveMode
1617

17-
__all__ = ['IO_ANNOTATION_SCHEMA', 'IOSignature', 'IOModel',
18+
__all__ = ['IO_ANNOTATION_SCHEMA', 'IOSignature',
19+
'IOModel', 'IOModelOptions', 'IOTripPoint',
1820
'OutputIOSignature', 'InputIOSignature', 'BidirIOSignature',
1921
'SiliconPlatformPort', 'SiliconPlatform',
2022
'SimPlatform',
23+
'Sky130DriveMode',
2124
'PACKAGE_DEFINITIONS']

chipflow_lib/platforms/_packages.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from .utils import QuadPackageDef, BareDiePackageDef, GAPackageDef, Package
1+
from .utils import QuadPackageDef, BareDiePackageDef, Package
22
from ._openframe import OpenframePackageDef
33

44
# Add any new package types to both PACKAGE_DEFINITIONS and the PackageDef union

chipflow_lib/platforms/_sky130.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from enum import StrEnum, auto
2+
3+
class Sky130DriveMode(StrEnum):
4+
"""
5+
Models the potential drive modes of an IO pad.
6+
Depending on process and cell library, these may be statically or dynamically configurable.
7+
8+
You will get an error if the option is not available with the chosen process and cell library
9+
"""
10+
# Strong pull-up, weak pull-down
11+
STRONG_UP_WEAK_DOWN = auto()
12+
# Weak pull-up, Strong pull-down
13+
WEAK_UP_STRONG_DOWN = auto()
14+
# Open drain with strong pull-down
15+
OPEN_DRAIN_STRONG_DOWN = auto()
16+
# Open drain-with strong pull-up
17+
OPEN_DRAIN_STRONG_UP= auto()
18+
# Strong pull-up, weak pull-down
19+
STRONG_UP_STRONG_DOWN = auto()
20+
# Weak pull-up, weak pull-down
21+
WEAK_UP_WEAK_DOWN = auto()

0 commit comments

Comments
 (0)