-
Notifications
You must be signed in to change notification settings - Fork 47
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #206 from mithro/asap7-improve
Adding all ASAP7 standard cell libraries.
- Loading branch information
Showing
36 changed files
with
2,340 additions
and
71 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
91 changes: 91 additions & 0 deletions
91
dependency_support/org_theopenroadproject_asap7_pdk_r1p7/build-BUILD.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
#!/usr/bin/env python3 | ||
# Copyright 2023 Google LLC | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
import pathlib | ||
|
||
__path__ = pathlib.Path(__file__).resolve() | ||
__dir__ = __path__.parent | ||
|
||
license_header = [] | ||
for l in open(__path__).readlines()[1:]: | ||
if not l.startswith('#'): | ||
break | ||
license_header.append(l) | ||
|
||
header = [] | ||
header.extend(license_header) | ||
header.append('\n') | ||
header.append('# DO NOT EDIT - This file is generated by `build-BUILD.py` script!\n') | ||
header.append('\n') | ||
header.append('''\ | ||
""" | ||
ASAP7 -- Arizona State University 7nm "predictive" PDK | ||
The PDK has RVT, LVT and SLVT based transistors. | ||
The ASAP7 PDK currently provides 3 standard cell libraries; | ||
* Two revisions (rev 27 and rev 28) of a 7.5 track library | ||
* One revision (rev 26) of a 6 track library | ||
These libraries are mapped to each of the transistor types; | ||
* RVT -> R | ||
* LVT -> L | ||
* SLVT -> SL | ||
It also provides "4x scaled" versions of these libraries. These versions reuse | ||
the same timing information but have their sizes scaled up. | ||
The libraries provide 3 corners, | ||
* FF - fast | ||
* TT - typical | ||
* SS - slow | ||
By default if not otherwise explicitly specified the default selection will be | ||
the 7.5 track library using RVT transistors and slow corner. | ||
""" | ||
load("@rules_hdl//pdk:open_road_configuration.bzl", "open_road_pdk_configuration") | ||
load("@rules_hdl//dependency_support/org_theopenroadproject_asap7_pdk_r1p7:asap7.bzl", "asap7_cell_library") | ||
load("@rules_hdl//dependency_support/org_theopenroadproject_asap7_pdk_r1p7:asap7.bzl", "asap7_cells_files") | ||
load("@rules_hdl//dependency_support/org_theopenroadproject_asap7_pdk_r1p7:asap7.bzl", "asap7_srams_files") | ||
''') | ||
|
||
for scdir in list(sorted(__dir__.parent.glob('org_theopenroadproject_asap7sc*'))): | ||
print('Processing ', scdir) | ||
output = [] | ||
output.extend(header) | ||
|
||
common_file = scdir / 'common.bzl' | ||
assert common_file.exists(), common_file | ||
|
||
input_files = [common_file] + list(scdir.glob('cells-*.bzl')) | ||
input_files.sort() | ||
for input_file in input_files: | ||
output.append(f""" | ||
# From {scdir.name}/{input_file.name} | ||
""") | ||
print('Reading', input_file) | ||
with open(input_file) as f: | ||
lines = f.readlines() | ||
while lines.pop(0) in license_header: | ||
continue | ||
output.extend(lines) | ||
|
||
output_file = scdir / 'bundled.BUILD.bazel' | ||
print('Writing', output_file) | ||
with open(output_file, 'w') as f: | ||
for l in output: | ||
f.write(l) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
44 changes: 44 additions & 0 deletions
44
dependency_support/org_theopenroadproject_asap7_pdk_r1p7/pdn_config_4x.pdn
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# Floorplan information - core boundary coordinates, std. cell row height, | ||
|
||
set ::halo 2 | ||
|
||
# POWER or GROUND #Std. cell rails starting with power or ground rails at the bottom of the core area | ||
set ::rails_start_with "POWER" ; | ||
|
||
# POWER or GROUND #Upper metal stripes starting with power or ground rails at the left/bottom of the core area | ||
set ::stripes_start_with "POWER" ; | ||
|
||
# Power nets | ||
set ::power_nets "VDD" | ||
set ::ground_nets "VSS" | ||
|
||
#################################### | ||
# global connections | ||
#################################### | ||
add_global_connection -defer_connection -net {VDD} -inst_pattern {.*} -pin_pattern {^VDD$} -power | ||
add_global_connection -defer_connection -net {VDD} -inst_pattern {.*} -pin_pattern {^VDDPE$} | ||
add_global_connection -defer_connection -net {VDD} -inst_pattern {.*} -pin_pattern {^VDDCE$} | ||
add_global_connection -defer_connection -net {VSS} -inst_pattern {.*} -pin_pattern {^VSS$} -ground | ||
add_global_connection -defer_connection -net {VSS} -inst_pattern {.*} -pin_pattern {^VSSE$} | ||
global_connect | ||
#################################### | ||
# voltage domains | ||
#################################### | ||
set_voltage_domain -name {CORE} -power {VDD} -ground {VSS} | ||
#################################### | ||
# standard cell grid | ||
#################################### | ||
# ASAP7 in its default configuration is multipled by | ||
# 4x looking to fix this upstream. | ||
set multipler 4.0 | ||
|
||
define_pdn_grid -name {top} -voltage_domains {CORE} | ||
add_pdn_stripe -grid {top} -layer {M1} -width {0.072} -pitch {2.16} -offset {0} -followpins | ||
add_pdn_stripe -grid {top} -layer {M2} -width {0.072} -pitch {2.16} -offset {0} -followpins | ||
add_pdn_stripe -grid {top} -layer {M5} -width {0.48} -spacing {0.288} -pitch {47.52} -offset {1.188} | ||
add_pdn_stripe -grid {top} -layer {M6} -width {1.1520} -spacing {0.384} -pitch {48} -offset {2.556} | ||
add_pdn_connect -grid {top} -layers {M1 M2} | ||
add_pdn_connect -grid {top} -layers {M2 M5} | ||
add_pdn_connect -grid {top} -layers {M5 M6} | ||
|
||
pdn::allow_repair_channels true |
13 changes: 13 additions & 0 deletions
13
dependency_support/org_theopenroadproject_asap7sc6t_26/BUILD
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# Copyright 2022 Google LLC | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. |
Oops, something went wrong.