BAG3++ primitives for cds_ff_mpt technology.
This repository serves as a good example on how the process-specific component of BAG should be set up.
This library is licensed under the Apache-2.0 license. However, some source files are licensed under both Apache-2.0 and BSD-3-Clause license, meaning that the user must comply with the terms and conditions of both licenses. See here for full text of the BSD license, and here for full text of the Apache license. See individual files to check if they fall under Apache-2.0, or both Apache-2.0 and BSD-3-Clause.
- Layout resolution is in 0.5nm.
- Min channel length is 18nm, so min channel units is 36.
- This tech has standard, lvt, and hvt devices.
- Devices widths in this process are quantized in integer number of fins per finger/segment. The minimum is 1 and the maximum is 100. For practical usage, the recommend values are between 2 and 10.
- This tech has 8 metal layers and an "M0" (LiPo) layer.
- This tech has no pcell MOM caps. Manual ones can be drawn.
- This tech has pcell MIM caps (
cmim
) between M7-MT and M4-M5. Both provide ~2.2 fF / um^2.
SD pitch: 90 nm ~ 180 units. BAG quantizes vertical metal pitches to match the SD pitch ~ M1, M3, M5, M7.
- This tech has multiple flavors of poly resistors. Current BAG implements the
rspp
- P+ Poly resistor w/ salicide. Width is fixed at 18nm (36 units). Length is quantized to 1nm (2 unit).
To configure this repository for your own setup, the following files in the workspace_setup
folder should be changed:
-
.cdsinit.personal
change the simulation directory to a suitable location (defaults to be in the BAG working directory).
-
.cdsinit
the "editor" variable should be changed to point to your favorite editor.
-
.bashrc
modify so that Virtuoso/OpenAccess/cdsLibPlugin are setup properly.
-
.bashrc_bag
modify so that they point to the right python/jupyter/pytest executable.
-
PDK
should symlink to the cds_ff_mpt PDK library downloaded from Cadence Support
Finally, the "modelfile" entries in the corners_setup.yaml
file in the top level directory should be modified to
point to the correct location.
-
create a new git repo.
-
add
BAG_framework
and the technology repository as git submodules.git submodule add <BAG_framework URL> git submodule add <tech repo URL>
-
check out appropriate branches, update BAG_framework submodules.
-
in workspace folder, run:
./<tech repo>/install.sh
-
source
.bashrc
, edit bag_submodules.yaml, then run:./setup_submdoules.py
-
commit and push all changes. Now the workspace repo is set up.