mirror of https://github.com/VLSIDA/OpenRAM.git
Merge branch 'dev'
This commit is contained in:
commit
ba4473d49d
|
|
@ -190,7 +190,8 @@ class layout():
|
||||||
debug.error("Should use a pin iterator since more than one pin {}".format(text),-1)
|
debug.error("Should use a pin iterator since more than one pin {}".format(text),-1)
|
||||||
# If we have one pin, return it and not the list.
|
# If we have one pin, return it and not the list.
|
||||||
# Otherwise, should use get_pins()
|
# Otherwise, should use get_pins()
|
||||||
return self.pin_map[text][0]
|
any_pin = next(iter(self.pin_map[text]))
|
||||||
|
return any_pin
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
#print e
|
#print e
|
||||||
self.gds_write("missing_pin.gds")
|
self.gds_write("missing_pin.gds")
|
||||||
|
|
@ -205,7 +206,7 @@ class layout():
|
||||||
if text in self.pin_map.keys():
|
if text in self.pin_map.keys():
|
||||||
return self.pin_map[text]
|
return self.pin_map[text]
|
||||||
else:
|
else:
|
||||||
return []
|
return set()
|
||||||
|
|
||||||
def copy_layout_pin(self, instance, pin_name, new_name=""):
|
def copy_layout_pin(self, instance, pin_name, new_name=""):
|
||||||
"""
|
"""
|
||||||
|
|
@ -260,7 +261,7 @@ class layout():
|
||||||
"""
|
"""
|
||||||
Delete a labeled pin (or all pins of the same name)
|
Delete a labeled pin (or all pins of the same name)
|
||||||
"""
|
"""
|
||||||
self.pin_map[text]=[]
|
self.pin_map[text]=set()
|
||||||
|
|
||||||
def add_layout_pin(self, text, layer, offset, width=None, height=None):
|
def add_layout_pin(self, text, layer, offset, width=None, height=None):
|
||||||
"""
|
"""
|
||||||
|
|
@ -277,13 +278,11 @@ class layout():
|
||||||
# Check if there's a duplicate!
|
# Check if there's a duplicate!
|
||||||
# and if so, silently ignore it.
|
# and if so, silently ignore it.
|
||||||
# Rounding errors may result in some duplicates.
|
# Rounding errors may result in some duplicates.
|
||||||
pin_list = self.pin_map[text]
|
if new_pin not in self.pin_map[text]:
|
||||||
for pin in pin_list:
|
self.pin_map[text].add(new_pin)
|
||||||
if pin == new_pin:
|
|
||||||
return pin
|
|
||||||
self.pin_map[text].append(new_pin)
|
|
||||||
except KeyError:
|
except KeyError:
|
||||||
self.pin_map[text] = [new_pin]
|
self.pin_map[text] = set()
|
||||||
|
self.pin_map[text].add(new_pin)
|
||||||
|
|
||||||
return new_pin
|
return new_pin
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
word_size = 64
|
||||||
|
num_words = 1024
|
||||||
|
|
||||||
|
tech_name = "scn4m_subm"
|
||||||
|
process_corners = ["TT"]
|
||||||
|
supply_voltages = [ 5.0 ]
|
||||||
|
temperatures = [ 25 ]
|
||||||
|
|
||||||
|
output_path = "temp"
|
||||||
|
output_name = "sram_{0}_{1}_{2}".format(word_size,num_words,tech_name)
|
||||||
|
|
||||||
|
drc_name = "magic"
|
||||||
|
lvs_name = "netgen"
|
||||||
|
pex_name = "magic"
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
python3 -m cProfile -o profile.dat ./openram.py example_configs/medium_config_scn4m_subm.py -v | tee -i medium.log
|
python3 -m cProfile -o profile.dat ./openram.py example_configs/giant_config_scn4m_subm.py -v | tee -i big.log
|
||||||
echo "Run view_profile.py to view results"
|
echo "Run view_profile.py to view results"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue