mirror of https://github.com/VLSIDA/OpenRAM.git
Add link to presentation in README
This commit is contained in:
parent
cfc14f327e
commit
acf2798a18
10
README.md
10
README.md
|
|
@ -25,6 +25,13 @@ other views necessary to use SRAMs in ASIC design. OpenRAM supports
|
||||||
integration in both commercial and open-source flows with both
|
integration in both commercial and open-source flows with both
|
||||||
predictive and fabricable technologies.
|
predictive and fabricable technologies.
|
||||||
|
|
||||||
|
# Documentation
|
||||||
|
|
||||||
|
Please take a look at our presentation We have created a detailed
|
||||||
|
presentation that serves as our [documentation][documentation].
|
||||||
|
This is the most up-to-date information, so please let us know if you see
|
||||||
|
things that need to be fixed.
|
||||||
|
|
||||||
# Basic Setup
|
# Basic Setup
|
||||||
|
|
||||||
## Docker Image
|
## Docker Image
|
||||||
|
|
@ -197,6 +204,7 @@ Each specific technology (e.g., [FreePDK45]) should be a subdirectory
|
||||||
# Further Help
|
# Further Help
|
||||||
|
|
||||||
+ [Additional hints](./HINTS.md)
|
+ [Additional hints](./HINTS.md)
|
||||||
|
+ [Documentation][documentation]
|
||||||
+ [OpenRAM Slack Workspace][Slack]
|
+ [OpenRAM Slack Workspace][Slack]
|
||||||
+ [OpenRAM Users Group][user-group] ([subscribe here][user-group-subscribe])
|
+ [OpenRAM Users Group][user-group] ([subscribe here][user-group-subscribe])
|
||||||
+ [OpenRAM Developers Group][dev-group] ([subscribe here][dev-group-subscribe])
|
+ [OpenRAM Developers Group][dev-group] ([subscribe here][dev-group-subscribe])
|
||||||
|
|
@ -233,7 +241,7 @@ If I forgot to add you, please let me know!
|
||||||
[Github pull request]: https://github.com/VLSIDA/PrivateRAM/pulls
|
[Github pull request]: https://github.com/VLSIDA/PrivateRAM/pulls
|
||||||
[Github projects]: https://github.com/VLSIDA/PrivateRAM
|
[Github projects]: https://github.com/VLSIDA/PrivateRAM
|
||||||
|
|
||||||
[email me]: mailto:mrg+openram@ucsc.edu
|
[documentation]: https://docs.google.com/presentation/d/10InGB33N51I6oBHnqpU7_w9DXlx-qe9zdrlco2Yc5co/edit?usp=sharing
|
||||||
[dev-group]: mailto:openram-dev-group@ucsc.edu
|
[dev-group]: mailto:openram-dev-group@ucsc.edu
|
||||||
[user-group]: mailto:openram-user-group@ucsc.edu
|
[user-group]: mailto:openram-user-group@ucsc.edu
|
||||||
[dev-group-subscribe]: mailto:openram-dev-group+subscribe@ucsc.edu
|
[dev-group-subscribe]: mailto:openram-dev-group+subscribe@ucsc.edu
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,18 @@ import sys,os
|
||||||
sys.path.append(os.path.join(sys.path[0],".."))
|
sys.path.append(os.path.join(sys.path[0],".."))
|
||||||
import globals
|
import globals
|
||||||
from globals import OPTS
|
from globals import OPTS
|
||||||
|
from sram_factory import factory
|
||||||
import debug
|
import debug
|
||||||
|
|
||||||
class ptx_test(openram_test):
|
class ptx_1finger_nmos_test(openram_test):
|
||||||
|
|
||||||
def runTest(self):
|
def runTest(self):
|
||||||
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
||||||
import ptx
|
|
||||||
import tech
|
import tech
|
||||||
|
|
||||||
debug.info(2, "Checking min size NMOS with 1 finger")
|
debug.info(2, "Checking min size NMOS with 1 finger")
|
||||||
fet = ptx.ptx(width=tech.drc["minwidth_tx"],
|
fet = factory.create(module_type="ptx",
|
||||||
|
width=tech.drc["minwidth_tx"],
|
||||||
mults=1,
|
mults=1,
|
||||||
tx_type="nmos")
|
tx_type="nmos")
|
||||||
self.local_drc_check(fet)
|
self.local_drc_check(fet)
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,18 @@ import sys,os
|
||||||
sys.path.append(os.path.join(sys.path[0],".."))
|
sys.path.append(os.path.join(sys.path[0],".."))
|
||||||
import globals
|
import globals
|
||||||
from globals import OPTS
|
from globals import OPTS
|
||||||
|
from sram_factory import factory
|
||||||
import debug
|
import debug
|
||||||
|
|
||||||
class ptx_test(openram_test):
|
class ptx_1finger_pmos_test(openram_test):
|
||||||
|
|
||||||
def runTest(self):
|
def runTest(self):
|
||||||
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
||||||
import ptx
|
|
||||||
import tech
|
import tech
|
||||||
|
|
||||||
debug.info(2, "Checking min size PMOS with 1 finger")
|
debug.info(2, "Checking min size PMOS with 1 finger")
|
||||||
fet = ptx.ptx(width=tech.drc["minwidth_tx"],
|
fet = factory.create(module_type="ptx",
|
||||||
|
width=tech.drc["minwidth_tx"],
|
||||||
mults=1,
|
mults=1,
|
||||||
tx_type="pmos")
|
tx_type="pmos")
|
||||||
self.local_drc_check(fet)
|
self.local_drc_check(fet)
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,18 @@ import sys,os
|
||||||
sys.path.append(os.path.join(sys.path[0],".."))
|
sys.path.append(os.path.join(sys.path[0],".."))
|
||||||
import globals
|
import globals
|
||||||
from globals import OPTS
|
from globals import OPTS
|
||||||
|
from sram_factory import factory
|
||||||
import debug
|
import debug
|
||||||
|
|
||||||
class ptx_test(openram_test):
|
class ptx_3finger_nmos_test(openram_test):
|
||||||
|
|
||||||
def runTest(self):
|
def runTest(self):
|
||||||
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
||||||
import ptx
|
|
||||||
import tech
|
import tech
|
||||||
|
|
||||||
debug.info(2, "Checking three fingers NMOS")
|
debug.info(2, "Checking three fingers NMOS")
|
||||||
fet = ptx.ptx(width=tech.drc["minwidth_tx"],
|
fet = factory.create(module_type="ptx",
|
||||||
|
width=tech.drc["minwidth_tx"],
|
||||||
mults=3,
|
mults=3,
|
||||||
tx_type="nmos",
|
tx_type="nmos",
|
||||||
connect_active=True,
|
connect_active=True,
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,18 @@ import sys,os
|
||||||
sys.path.append(os.path.join(sys.path[0],".."))
|
sys.path.append(os.path.join(sys.path[0],".."))
|
||||||
import globals
|
import globals
|
||||||
from globals import OPTS
|
from globals import OPTS
|
||||||
|
from sram_factory import factory
|
||||||
import debug
|
import debug
|
||||||
|
|
||||||
class ptx_test(openram_test):
|
class ptx_3finger_pmos_test(openram_test):
|
||||||
|
|
||||||
def runTest(self):
|
def runTest(self):
|
||||||
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
||||||
import ptx
|
|
||||||
import tech
|
import tech
|
||||||
|
|
||||||
debug.info(2, "Checking three fingers PMOS")
|
debug.info(2, "Checking three fingers PMOS")
|
||||||
fet = ptx.ptx(width=tech.drc["minwidth_tx"],
|
fet = factory.create(module_type="ptx",
|
||||||
|
width=tech.drc["minwidth_tx"],
|
||||||
mults=3,
|
mults=3,
|
||||||
tx_type="pmos",
|
tx_type="pmos",
|
||||||
connect_active=True,
|
connect_active=True,
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,18 @@ import sys,os
|
||||||
sys.path.append(os.path.join(sys.path[0],".."))
|
sys.path.append(os.path.join(sys.path[0],".."))
|
||||||
import globals
|
import globals
|
||||||
from globals import OPTS
|
from globals import OPTS
|
||||||
|
from sram_factory import factory
|
||||||
import debug
|
import debug
|
||||||
|
|
||||||
class ptx_test(openram_test):
|
class ptx_4finger_nmos_test(openram_test):
|
||||||
|
|
||||||
def runTest(self):
|
def runTest(self):
|
||||||
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
||||||
import ptx
|
|
||||||
import tech
|
import tech
|
||||||
|
|
||||||
debug.info(2, "Checking three fingers NMOS")
|
debug.info(2, "Checking three fingers NMOS")
|
||||||
fet = ptx.ptx(width=tech.drc["minwidth_tx"],
|
fet = factory.create(module_type="ptx",
|
||||||
|
width= tech.drc["minwidth_tx"],
|
||||||
mults=4,
|
mults=4,
|
||||||
tx_type="nmos",
|
tx_type="nmos",
|
||||||
connect_active=True,
|
connect_active=True,
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,18 @@ import sys,os
|
||||||
sys.path.append(os.path.join(sys.path[0],".."))
|
sys.path.append(os.path.join(sys.path[0],".."))
|
||||||
import globals
|
import globals
|
||||||
from globals import OPTS
|
from globals import OPTS
|
||||||
|
from sram_factory import factory
|
||||||
import debug
|
import debug
|
||||||
|
|
||||||
class ptx_test(openram_test):
|
class ptx_test(openram_test):
|
||||||
|
|
||||||
def runTest(self):
|
def runTest(self):
|
||||||
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
globals.init_openram("config_20_{0}".format(OPTS.tech_name))
|
||||||
import ptx
|
|
||||||
import tech
|
import tech
|
||||||
|
|
||||||
debug.info(2, "Checking three fingers PMOS")
|
debug.info(2, "Checking three fingers PMOS")
|
||||||
fet = ptx.ptx(width=tech.drc["minwidth_tx"],
|
fet = factory.create(module_type="ptx",
|
||||||
|
width=tech.drc["minwidth_tx"],
|
||||||
mults=4,
|
mults=4,
|
||||||
tx_type="pmos",
|
tx_type="pmos",
|
||||||
connect_active=True,
|
connect_active=True,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue