2019-07-05 21:57:12 +02:00
|
|
|
# See LICENSE for licensing information.
|
|
|
|
|
#
|
|
|
|
|
# Copyright (c) 2016-2019 Regents of the University of California and The Board
|
|
|
|
|
# of Regents for the Oklahoma Agricultural and Mechanical College
|
|
|
|
|
# (acting for and on behalf of Oklahoma State University)
|
|
|
|
|
# All rights reserved.
|
|
|
|
|
#
|
|
|
|
|
import debug
|
2020-02-12 14:48:58 +01:00
|
|
|
from tech import cell_properties as props
|
2019-10-06 03:08:23 +02:00
|
|
|
import bitcell_base
|
2020-11-03 01:00:16 +01:00
|
|
|
from globals import OPTS
|
2019-07-05 21:57:12 +02:00
|
|
|
|
2019-10-06 03:08:23 +02:00
|
|
|
|
|
|
|
|
class dummy_bitcell_1w_1r(bitcell_base.bitcell_base):
|
2019-07-05 21:57:12 +02:00
|
|
|
"""
|
|
|
|
|
A single bit cell which is forced to store a 0.
|
|
|
|
|
This module implements the single memory cell used in the design. It
|
|
|
|
|
is a hand-made cell, so the layout and netlist should be available in
|
|
|
|
|
the technology library. """
|
|
|
|
|
|
2020-02-12 14:48:58 +01:00
|
|
|
pin_names = [props.bitcell.cell_1w1r.pin.bl0,
|
|
|
|
|
props.bitcell.cell_1w1r.pin.br0,
|
|
|
|
|
props.bitcell.cell_1w1r.pin.bl1,
|
|
|
|
|
props.bitcell.cell_1w1r.pin.br1,
|
|
|
|
|
props.bitcell.cell_1w1r.pin.wl0,
|
|
|
|
|
props.bitcell.cell_1w1r.pin.wl1,
|
|
|
|
|
props.bitcell.cell_1w1r.pin.vdd,
|
|
|
|
|
props.bitcell.cell_1w1r.pin.gnd]
|
2019-10-06 03:08:23 +02:00
|
|
|
type_list = ["OUTPUT", "OUTPUT", "INPUT", "INPUT",
|
|
|
|
|
"INPUT", "INPUT", "POWER", "GROUND"]
|
2020-11-03 01:00:16 +01:00
|
|
|
|
|
|
|
|
def __init__(self, name, cell_name=None):
|
|
|
|
|
if not cell_name:
|
|
|
|
|
cell_name = OPTS.dummy_bitcell_name
|
2020-11-03 02:00:15 +01:00
|
|
|
super().__init__(name, cell_name)
|
2019-07-05 21:57:12 +02:00
|
|
|
debug.info(2, "Create dummy bitcell 1w+1r object")
|
|
|
|
|
|
2020-11-03 01:00:16 +01:00
|
|
|
|
2019-07-05 21:57:12 +02:00
|
|
|
|
|
|
|
|
|