Skip to content

Commit 91b7ba7

Browse files
committed
pdk: simplify file descriptions
1 parent 250bab0 commit 91b7ba7

5 files changed

Lines changed: 32 additions & 36 deletions

File tree

env.sh

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,9 @@ fi
5959
###################
6060
# PDK Discovery
6161
###################
62-
# `technology/` is the single active view for the digital PDK collateral:
63-
# Liberty, LEF, Verilog models, and GDS. ETH cockpit users normally get this
64-
# directory from cockpit. External users get an on-demand symlink to the
65-
# committed public mirror in ihp13/pdk. Cockpit takes priority and may link
66-
# shared Croc-managed collateral from the public mirror.
62+
# `technology/` is the active PDK directory. It contains Liberty, LEF,
63+
# Verilog, and GDS files. Cockpit provides it on ETH systems; elsewhere,
64+
# env.sh creates a link to ihp13/pdk.
6765

6866
PUBLIC_PDK_ROOT="$CROC_ROOT/ihp13/pdk"
6967
if ! "$CROC_ROOT/scripts/setup_technology.sh" --quiet; then
@@ -109,8 +107,7 @@ if [[ -e "${CROC_ROOT}/technology" ]]; then
109107
export PDK_IO_LIB_FF_FILE="sg13cmos5l_io_fast_1p32V_3p6V_m40C.lib"
110108
export PDK_BONDPAD_LEF="bondpad5l_70x70.lef"
111109

112-
# KLayout scripts are tool support collateral, separate from the
113-
# active digital PDK view. ETH cockpit installs take precedence.
110+
# KLayout needs separate tool files. Cockpit takes precedence.
114111
export KLAYOUT_PATH="$CROC_ROOT/ihp13/sg13cmos5l/libs.tech/klayout"
115112
if [[ -d "/usr/pack/ihp-sg13-kgf/open_ihp_sg13cmos5l/sg13cmos5l_tech/v0.2/klayout" ]]; then
116113
export KLAYOUT_PATH="/usr/pack/ihp-sg13-kgf/open_ihp_sg13cmos5l/sg13cmos5l_tech/v0.2/klayout"

ihp13/pdk/ORIGINS.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,27 @@
1-
# PDK Collateral Origins
1+
# PDK File Sources
22

3-
This directory is Croc's public PDK view. `env.sh` creates `technology -> ihp13/pdk`
3+
This directory is Croc's public PDK directory. `env.sh` creates `technology -> ihp13/pdk`
44
only when an ETH Design Center Cockpit `technology/` view is not already present.
5-
The Cockpit view takes priority and may link shared Croc collateral from this
6-
directory.
5+
The Cockpit view takes priority and may link missing files from this directory.
76

8-
The committed Liberty, LEF, and Verilog collateral below is a selected copy of the IHP PDK.
7+
The committed Liberty, LEF, and Verilog files below are a selected copy of the IHP PDK.
98
It retains the original IHP copyright and Apache-2.0 license headers.
109
Full license copies are in `licenses/LICENSE.sg13g2` and `licenses/LICENSE.sg13cmos5l`.
1110

12-
| Croc collateral | Source and pinned revision | Copyright and license |
11+
| Croc files | Source and pinned revision | Copyright and license |
1312
| --- | --- | --- |
1413
| `lib/sg13g2_stdcell_*`, `lef/sg13g2_{tech,stdcell}.lef`, and `verilog/sg13g2_{stdcell,udp}.v` | [IHP Open PDK: sg13g2 standard cells](https://github.com/IHP-GmbH/IHP-Open-PDK/tree/ee974c3adc69d0f36adbf20577079f0df419d702/ihp-sg13g2/libs.ref/sg13g2_stdcell) | Copyright IHP PDK Authors, Apache-2.0 |
1514
| `lib/sg13g2_io_*`, `lef/sg13g2_io.lef`, and `verilog/sg13g2_io.v` | [IHP Open PDK: sg13g2 IO cells](https://github.com/IHP-GmbH/IHP-Open-PDK/tree/ee974c3adc69d0f36adbf20577079f0df419d702/ihp-sg13g2/libs.ref/sg13g2_io) | Copyright IHP PDK Authors, Apache-2.0 |
1615
| All `RM_IHPSG13_*` Liberty, LEF, and Verilog SRAM models | [IHP Open PDK: sg13g2 SRAMs](https://github.com/IHP-GmbH/IHP-Open-PDK/tree/ee974c3adc69d0f36adbf20577079f0df419d702/ihp-sg13g2/libs.ref/sg13g2_sram) | Copyright IHP PDK Authors, Apache-2.0 |
1716
| `lib/sg13cmos5l_io_*`, `lef/sg13cmos5l_io.lef`, and `verilog/sg13cmos5l_io.v` | [IHP CMOS5L PDK: IO cells](https://github.com/IHP-GmbH/ihp-sg13cmos5l/tree/5958eb38973d5c56e7a26f65fc23d9f3a740ccd2/libs.ref/sg13cmos5l_io) | Copyright IHP PDK Authors, Apache-2.0 |
1817
| `lef/sg13cmos5l_tech.lef` | [IHP CMOS5L PDK: standard cells](https://github.com/IHP-GmbH/ihp-sg13cmos5l/tree/5958eb38973d5c56e7a26f65fc23d9f3a740ccd2/libs.ref/sg13cmos5l_stdcell) | Copyright IHP PDK Authors, Apache-2.0 |
19-
| `lef/bondpad*.lef`, `verilog/bondpad*.v`, and `gds/bondpad*.gds` | Croc-local collateral in this directory | Copyright 2024-2026 ETH Zurich and University of Bologna, SHL-0.51; see the repository [license](../../LICENSE.md) |
18+
| `lef/bondpad*.lef`, `verilog/bondpad*.v`, and `gds/bondpad*.gds` | Croc files in this directory | Copyright 2024-2026 ETH Zurich and University of Bologna, SHL-0.51; see the repository [license](../../LICENSE.md) |
2019

2120
`verilog/sg13g2_stdcell.v` is the patched IHP standard-cell model used for
2221
public Verilator simulations. It is generated by applying
2322
[`ihp13/patches/0002-add-verilator-standard-cell-compatibility.patch`](../patches/0002-add-verilator-standard-cell-compatibility.patch)
24-
to the pinned upstream source. `scripts/update_pdk.sh` performs this update;
25-
the runtime setup script does not modify checked-in collateral.
23+
to the pinned upstream source. `scripts/update_pdk.sh` performs this update.
24+
The runtime setup script does not modify checked-in PDK files.
2625

2726
`pdk_manifest.csv` is the source of truth for every mirrored PDK artifact,
2827
including Liberty, LEF, Verilog, licenses, local bondpads, and on-demand GDS.
@@ -31,12 +30,12 @@ upstream file or archive member, optional patch, destination, and final
3130
SHA-256 digest. `github` rows fetch pinned upstream files. `tar` rows verify a
3231
downloaded archive before extracting a named member; this supports future
3332
standard-cell deliveries distributed as tar archives. `local` rows verify
34-
Croc-owned collateral without downloading it.
33+
Croc-owned files without downloading them.
3534

3635
The two Croc-local bondpad GDS files are committed in `gds/`. IHP GDS files are
3736
not committed due to their size. `scripts/update_pdk.sh` updates every manifest
3837
row, while `scripts/download_gds.sh` updates only the GDS rows.
3938

40-
When updating mirrored collateral, retain upstream notices,
39+
When updating mirrored files, retain upstream notices,
4140
update the pinned source links and license copy when needed, and update the
4241
corresponding manifest row and digest.

ihp13/pdk/README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
# Croc PDK Collateral
1+
# Croc PDK Files
22

3-
This directory is Croc's canonical public PDK collateral. The ASIC flow reads
4-
the active `technology/` view:
3+
This directory is Croc's public PDK directory. The ASIC flow uses the active
4+
`technology/` directory:
55

66
- External users: `env.sh` creates `technology -> ihp13/pdk` on demand.
77
- ETH Design Center users: Cockpit creates `technology/`. It takes priority
8-
and may link shared Croc collateral from this directory.
8+
and may link missing files from this directory.
99

1010
The directory layout is intentionally flat and matches the flow inputs:
1111

@@ -15,18 +15,18 @@ The directory layout is intentionally flat and matches the flow inputs:
1515
- `gds/`: the two Croc bondpad GDS files and, once downloaded, IHP stream-out
1616
data.
1717

18-
`pdk_manifest.csv` is the source of truth for every PDK collateral artifact.
18+
`pdk_manifest.csv` is the source of truth for every PDK file.
1919
Each row records an immutable source, source revision or archive digest,
2020
optional patch, destination, and final file digest. It supports direct GitHub
2121
files today and tar archives for future standard-cell releases.
2222

23-
Maintainers refresh or verify all collateral with `scripts/update_pdk.sh` or
23+
Maintainers update or verify every file with `scripts/update_pdk.sh` or
2424
`scripts/update_pdk.sh --check`. The standard-cell model is downloaded from
2525
the pinned source and patched for Verilator before it replaces the committed
2626
model. `scripts/download_gds.sh` is a GDS-only convenience wrapper for
2727
users who need DEF-to-GDS conversion.
2828

2929
See `ORIGINS.md` for the source, pinned revision, copyright, and license of
30-
every collateral family. The IHP source repositories used for KLayout support
30+
each PDK file group. The IHP source repositories used for KLayout support
3131
remain in `ihp13/sg13g2` and `ihp13/sg13cmos5l`; they are not flow input paths
3232
for Liberty, LEF, Verilog, or GDS.

scripts/setup_technology.sh

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ usage() {
1515
Usage: scripts/setup_technology.sh [--quiet]
1616
1717
Create technology -> ihp13/pdk if no active technology view exists.
18-
If technology/ already exists, leave it unchanged. Cockpit may link shared
19-
Croc collateral from ihp13/pdk into its active technology view.
18+
If technology/ already exists, leave it unchanged. Cockpit may link missing
19+
files from ihp13/pdk into its active technology view.
2020
EOF
2121
}
2222

@@ -52,18 +52,18 @@ link_cmos5l_klayout_dependencies() {
5252
ln -s "sg13g2/ihp-sg13g2" "$upstream_layout"
5353
}
5454

55-
link_missing_public_collateral() {
55+
link_missing_public_files() {
5656
[[ ! -d "$public_pdk" || ! -d "$technology" ]] && return 0
5757
[[ "$(realpath -m "$technology")" == "$(realpath -m "$public_pdk")" ]] && return 0
5858

59-
for collateral_dir in lib lef verilog gds; do
60-
mkdir -p "$technology/$collateral_dir"
61-
for public_file in "$public_pdk"/"$collateral_dir"/*; do
59+
for pdk_dir in lib lef verilog gds; do
60+
mkdir -p "$technology/$pdk_dir"
61+
for public_file in "$public_pdk"/"$pdk_dir"/*; do
6262
[[ -f "$public_file" ]] || continue
6363

6464
file_name="$(basename "$public_file")"
65-
[[ -e "$technology/$collateral_dir/$file_name" || -L "$technology/$collateral_dir/$file_name" ]] && continue
66-
ln -s "../../ihp13/pdk/$collateral_dir/$file_name" "$technology/$collateral_dir/$file_name"
65+
[[ -e "$technology/$pdk_dir/$file_name" || -L "$technology/$pdk_dir/$file_name" ]] && continue
66+
ln -s "../../ihp13/pdk/$pdk_dir/$file_name" "$technology/$pdk_dir/$file_name"
6767
done
6868
done
6969
}
@@ -89,7 +89,7 @@ if [[ ! -f "$public_pdk/verilog/sg13g2_stdcell.v" ]]; then
8989
fi
9090

9191
if [[ -e "$technology" ]]; then
92-
link_missing_public_collateral
92+
link_missing_public_files
9393
log "[INFO] Active technology view: $technology"
9494
if [[ "$(realpath -m "$technology")" == "$(realpath -m "$public_pdk")" ]]; then
9595
log "[INFO] Source: public mirror ihp13/pdk"

scripts/update_pdk.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ usage() {
2020
cat <<'EOF'
2121
Usage: scripts/update_pdk.sh [--check] [--gds] [manifest]
2222
23-
Update public PDK collateral from a manifest with these columns:
23+
Update public PDK files from a manifest with these columns:
2424
source_type,source,revision,source_sha256,path,patch,output,sha256
2525
2626
source_type is github, tar, or local. GitHub rows download one pinned file.
2727
Tar rows verify the archive digest before extracting path. Local rows only
28-
verify Croc-owned collateral. --gds limits processing to GDS rows; --check
28+
verify Croc-owned files. --gds limits processing to GDS rows; --check
2929
verifies existing files without downloading or modifying them.
3030
EOF
3131
}

0 commit comments

Comments
 (0)