Skip to content

Commit

Permalink
synchronizing workspace
Browse files Browse the repository at this point in the history
  • Loading branch information
pvnbhargava committed Jan 25, 2019
1 parent bef97b0 commit 67c45ff
Show file tree
Hide file tree
Showing 24 changed files with 835 additions and 9 deletions.
4 changes: 2 additions & 2 deletions AyarLayoutGenerator.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
class AyarLayoutGenerator(TemplateBase, metaclass=abc.ABCMeta):
"""
The AyarLayoutGenerator class implements functions and variables for full-custom layout generations on physical
grids. Currently mainly optimized to support GF45RFSOI
grids
"""

def __init__(self, temp_db, lib_name, params, used_names, **kwargs):
Expand Down Expand Up @@ -410,7 +410,7 @@ def get_cell_params(self):

def get_tech_params(self):
"""Get tech information to ensure that information of metal stacks is passed through yaml and not hardcoded"""
self.tech_layers = tech_info.tech_info['routing']
self.tech_layers = tech_info.tech_info['metal_tech']['routing']

def calculate_pins(self):
"""Calculates the pins on the stdcell/macro and pushes them to loc dict"""
Expand Down
2 changes: 1 addition & 1 deletion LayoutParse.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def generate_loc_dict(self) -> dict:
# TODO: This code is dirty... there must be a better way
for layer, label_list in self._label_list.items():
for label in label_list:
for rect in self._rect_list[layer]:
for rect in self._rect_list.get(layer, []):
if label.contained_by(rect):
if label.name not in loc_dict:
loc_dict[label.name] = rect
Expand Down
5 changes: 3 additions & 2 deletions Rectangle.py
Original file line number Diff line number Diff line change
Expand Up @@ -439,12 +439,13 @@ def get_highest_layer(self,
rect: 'Rectangle'
) -> str:
""" Returns the highest layer used by provided rectangles """
layerstack = tech_info.tech_info['layerstack'] # TODO: Access layerstack from bag tech
layerstack = tech_info.tech_info['metal_tech']['layerstack'] # TODO: Access layerstack from bag tech

# Check for non-routing layers and return the highest routing layer
# TODO: Clean up this logic to deal with non-routing layers
if (self.layer not in layerstack) and (rect.layer not in layerstack):
raise ValueError('both {} and {} are not valid routing layers, and cannot be ordered')
print(f'both {self.layer} and {rect.layer} are not valid routing layers, and cannot be ordered')
return self.layer
elif self.layer not in layerstack:
return rect.layer
elif rect.layer not in layerstack:
Expand Down
2 changes: 1 addition & 1 deletion Via.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def __init__(self,
}

# Get process specific data
self.tech_prop = tech_info.tech_info
self.tech_prop = tech_info.tech_info['metal_tech']
self.routing = self.tech_prop['routing']
self.metals = self.tech_prop['metals']
self.vias = self.tech_prop['vias']
Expand Down
1 change: 0 additions & 1 deletion XY.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# Python imports
import numbers
import numpy as np
# ACG imports
Expand Down
3 changes: 1 addition & 2 deletions __init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
from .AyarDesignManager import AyarDesignManager
from .AyarLayoutGenerator import AyarLayoutGenerator

20 changes: 20 additions & 0 deletions doc/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = python -msphinx
SPHINXPROJ = ACG
SOURCEDIR = source
BUILDDIR = build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
38 changes: 38 additions & 0 deletions doc/source/ACG.examples.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
ACG\.examples package
=====================

Submodules
----------

ACG\.examples\.FillMeIn module
------------------------------

.. automodule:: ACG.examples.FillMeIn
:members:
:undoc-members:
:show-inheritance:

ACG\.examples\.Getting\_Started\_Test2 module
---------------------------------------------

.. automodule:: ACG.examples.Getting_Started_Test2
:members:
:undoc-members:
:show-inheritance:

ACG\.examples\.Getting\_Started\_Test3 module
---------------------------------------------

.. automodule:: ACG.examples.Getting_Started_Test3
:members:
:undoc-members:
:show-inheritance:


Module contents
---------------

.. automodule:: ACG.examples
:members:
:undoc-members:
:show-inheritance:
93 changes: 93 additions & 0 deletions doc/source/ACG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
ACG package
===========

Subpackages
-----------

.. toctree::

ACG.examples

Submodules
----------

ACG\.AyarDesignManager module
-----------------------------

.. automodule:: ACG.AyarDesignManager
:members:
:undoc-members:
:show-inheritance:

ACG\.AyarLayoutGenerator module
-------------------------------

.. automodule:: ACG.AyarLayoutGenerator
:members:
:undoc-members:
:show-inheritance:

ACG\.PrimitiveUtil module
-------------------------

.. automodule:: ACG.PrimitiveUtil
:members:
:undoc-members:
:show-inheritance:

ACG\.Rectangle module
---------------------

.. automodule:: ACG.Rectangle
:members:
:undoc-members:
:show-inheritance:

ACG\.Track module
-----------------

.. automodule:: ACG.Track
:members:
:undoc-members:
:show-inheritance:

ACG\.Via module
---------------

.. automodule:: ACG.Via
:members:
:undoc-members:
:show-inheritance:

ACG\.VirtualInst module
-----------------------

.. automodule:: ACG.VirtualInst
:members:
:undoc-members:
:show-inheritance:

ACG\.VirtualObj module
----------------------

.. automodule:: ACG.VirtualObj
:members:
:undoc-members:
:show-inheritance:

ACG\.XY module
--------------

.. automodule:: ACG.XY
:members:
:undoc-members:
:show-inheritance:


Module contents
---------------

.. automodule:: ACG
:members:
:undoc-members:
:show-inheritance:
Loading

0 comments on commit 67c45ff

Please sign in to comment.