Update golden lib tests. Add new generic SCMOS models. Fix tech error with new msflop_in_cap name.

This commit is contained in:
mguthaus 2018-02-13 15:54:50 -08:00
parent ccc8ed2b48
commit 767990ca3b
17 changed files with 306 additions and 305 deletions

View File

@ -69,7 +69,7 @@ class control_logic(design.design):
c = reload(__import__(OPTS.replica_bitline)) c = reload(__import__(OPTS.replica_bitline))
replica_bitline = getattr(c, OPTS.replica_bitline) replica_bitline = getattr(c, OPTS.replica_bitline)
# FIXME: These should be tuned according to the size! # FIXME: These should be tuned according to the size!
FO4_stages = 4 FO4_stages = 8
bitcell_loads = int(math.ceil(self.num_rows / 10.0)) bitcell_loads = int(math.ceil(self.num_rows / 10.0))
self.replica_bitline = replica_bitline(FO4_stages, bitcell_loads) self.replica_bitline = replica_bitline(FO4_stages, bitcell_loads)
self.add_mod(self.replica_bitline) self.add_mod(self.replica_bitline)

View File

@ -8,7 +8,8 @@ from globals import OPTS
class delay_chain(design.design): class delay_chain(design.design):
""" """
Generate a logic effort based delay chain. Generate a delay chain with the given number of stages and fanout.
This automatically adds an extra inverter with no load on the input.
Input is a list contains the electrical effort of each stage. Input is a list contains the electrical effort of each stage.
""" """

View File

@ -51,25 +51,25 @@ class timing_sram_test(openram_test):
data = d.analyze(probe_address, probe_data,slews,loads) data = d.analyze(probe_address, probe_data,slews,loads)
#print data #print data
if OPTS.tech_name == "freepdk45": if OPTS.tech_name == "freepdk45":
golden_data = {'read1_power': 0.0345742, golden_data = {'read1_power': 0.0356004,
'read0_power': 0.03526189999999999, 'read0_power': 0.0364339,
'write0_power': 0.0270014, 'write0_power': 0.0262249,
'delay1': [0.0573107], 'delay1': [0.0572987],
'delay0': [0.07055809999999998], 'delay0': [0.0705677],
'min_period': 0.234, 'min_period': 0.41,
'write1_power': 0.0376625, 'write1_power': 0.038824700000000004,
'slew0': [0.0284344], 'slew0': [0.028478],
'slew1': [0.0189185]} 'slew1': [0.0190058]}
elif OPTS.tech_name == "scn3me_subm": elif OPTS.tech_name == "scn3me_subm":
golden_data = {'read1_power': 11.2474, golden_data = {'read1_power': 10.3442,
'read0_power': 11.3148, 'read0_power': 10.5159,
'write0_power': 6.9064, 'write0_power': 6.9292,
'delay1': [1.0298], 'delay1': [0.6536728],
'delay0': [1.4102], 'delay0': [0.9019465999999999],
'min_period': 4.063, 'min_period': 4.531,
'write1_power': 11.6964, 'write1_power': 11.3108,
'slew0': [1.3118], 'slew0': [0.8320245],
'slew1': [0.9816656]} 'slew1': [0.5897582]}
else: else:
self.assertTrue(False) # other techs fail self.assertTrue(False) # other techs fail
# Check if no too many or too few results # Check if no too many or too few results

View File

@ -34,17 +34,17 @@ class timing_setup_test(openram_test):
corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0])
sh = setup_hold.setup_hold(corner) sh = setup_hold.setup_hold(corner)
data = sh.analyze(slews,slews) data = sh.analyze(slews,slews)
#print data
if OPTS.tech_name == "freepdk45": if OPTS.tech_name == "freepdk45":
golden_data = {'setup_times_LH': [0.014648399999999999], golden_data = {'setup_times_LH': [0.014648399999999999],
'hold_times_LH': [0.0024414], 'hold_times_LH': [0.0024414],
'hold_times_HL': [-0.0036620999999999997], 'hold_times_HL': [-0.0036620999999999997],
'setup_times_HL': [0.0085449]} 'setup_times_HL': [0.0085449]}
elif OPTS.tech_name == "scn3me_subm": elif OPTS.tech_name == "scn3me_subm":
golden_data = {'setup_times_LH': [0.1000977], golden_data = {'setup_times_LH': [0.08178709999999999],
'hold_times_LH': [0.020751999999999996], 'hold_times_LH': [0.0024414],
'hold_times_HL': [-0.0830078], 'hold_times_HL': [-0.0646973],
'setup_times_HL': [0.020751999999999996]} 'setup_times_HL': [0.0390625]}
else: else:
self.assertTrue(False) # other techs fail self.assertTrue(False) # other techs fail

View File

@ -33,17 +33,17 @@ class timing_setup_test(openram_test):
corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0])
sh = setup_hold.setup_hold(corner) sh = setup_hold.setup_hold(corner)
data = sh.analyze(slews,slews) data = sh.analyze(slews,slews)
#print data
if OPTS.tech_name == "freepdk45": if OPTS.tech_name == "freepdk45":
golden_data = {'setup_times_LH': [0.01464844], golden_data = {'setup_times_LH': [0.01464844],
'hold_times_LH': [0.0024414059999999997], 'hold_times_LH': [0.0024414059999999997],
'hold_times_HL': [-0.003662109], 'hold_times_HL': [-0.003662109],
'setup_times_HL': [0.008544922]} 'setup_times_HL': [0.008544922]}
elif OPTS.tech_name == "scn3me_subm": elif OPTS.tech_name == "scn3me_subm":
golden_data = {'setup_times_LH': [0.1000977], golden_data = {'setup_times_LH': [0.1855469],
'hold_times_LH': [0.02075195], 'hold_times_LH': [-0.009765625],
'hold_times_HL': [-0.08300781], 'hold_times_HL': [-0.15625],
'setup_times_HL': [0.02075195]} 'setup_times_HL': [0.12451169999999999]}
else: else:
self.assertTrue(False) # other techs fail self.assertTrue(False) # other techs fail

View File

@ -49,7 +49,7 @@ class sram_func_test(openram_test):
# This will exit if it doesn't find a feasible period # This will exit if it doesn't find a feasible period
import tech import tech
load = tech.spice["FF_in_cap"]*4 load = tech.spice["msflop_in_cap"]*4
slew = tech.spice["rise_time"]*2 slew = tech.spice["rise_time"]*2
feasible_period = d.find_feasible_period(load,slew) feasible_period = d.find_feasible_period(load,slew)

View File

@ -92,10 +92,10 @@ cell (sram_2_16_1_freepdk45){
internal_power(){ internal_power(){
when : "OEb & !clk"; when : "OEb & !clk";
rise_power(scalar){ rise_power(scalar){
values("0.04024341"); values("0.042347092");
} }
fall_power(scalar){ fall_power(scalar){
values("0.029869287"); values("0.029908723");
} }
} }
timing(){ timing(){
@ -129,10 +129,10 @@ cell (sram_2_16_1_freepdk45){
internal_power(){ internal_power(){
when : "!OEb & !clk"; when : "!OEb & !clk";
rise_power(scalar){ rise_power(scalar){
values("0.050563718"); values("0.054779642");
} }
fall_power(scalar){ fall_power(scalar){
values("0.055867096"); values("0.060081573");
} }
} }
timing(){ timing(){
@ -145,9 +145,9 @@ cell (sram_2_16_1_freepdk45){
"0.061, 0.062, 0.069"); "0.061, 0.062, 0.069");
} }
cell_fall(CELL_TABLE) { cell_fall(CELL_TABLE) {
values("0.442, 0.443, 0.452",\ values("0.522, 0.523, 0.533",\
"0.442, 0.443, 0.453",\ "0.523, 0.524, 0.533",\
"0.448, 0.449, 0.458"); "0.528, 0.529, 0.539");
} }
rise_transition(CELL_TABLE) { rise_transition(CELL_TABLE) {
values("0.013, 0.015, 0.026",\ values("0.013, 0.015, 0.026",\
@ -308,20 +308,20 @@ cell (sram_2_16_1_freepdk45){
timing_type :"min_pulse_width"; timing_type :"min_pulse_width";
related_pin : clk; related_pin : clk;
rise_constraint(scalar) { rise_constraint(scalar) {
values("0.449"); values("0.5275");
} }
fall_constraint(scalar) { fall_constraint(scalar) {
values("0.449"); values("0.5275");
} }
} }
timing(){ timing(){
timing_type :"minimum_period"; timing_type :"minimum_period";
related_pin : clk; related_pin : clk;
rise_constraint(scalar) { rise_constraint(scalar) {
values("0.898"); values("1.055");
} }
fall_constraint(scalar) { fall_constraint(scalar) {
values("0.898"); values("1.055");
} }
} }
} }

View File

@ -92,47 +92,47 @@ cell (sram_2_16_1_freepdk45){
internal_power(){ internal_power(){
when : "OEb & !clk"; when : "OEb & !clk";
rise_power(scalar){ rise_power(scalar){
values("0"); values("0.039115101");
} }
fall_power(scalar){ fall_power(scalar){
values("0"); values("0.026662611");
} }
} }
timing(){ timing(){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.009, 0.009",\ values("0.009, 0.015, 0.021",\
"0.009, 0.009, 0.009",\ "0.009, 0.015, 0.021",\
"0.009, 0.009, 0.009"); "0.009, 0.015, 0.021");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.009, 0.009",\ values("0.009, 0.009, 0.015",\
"0.009, 0.009, 0.009",\ "0.009, 0.009, 0.015",\
"0.009, 0.009, 0.009"); "0.009, 0.009, 0.015");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.001, 0.001, 0.001",\ values("0.002, 0.002, -0.004",\
"0.001, 0.001, 0.001",\ "0.002, 0.002, -0.004",\
"0.001, 0.001, 0.001"); "0.002, 0.002, -0.004");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.001, 0.001, 0.001",\ values("-0.004, -0.004, -0.016",\
"0.001, 0.001, 0.001",\ "-0.004, -0.004, -0.016",\
"0.001, 0.001, 0.001"); "-0.004, -0.004, -0.016");
} }
} }
internal_power(){ internal_power(){
when : "!OEb & !clk"; when : "!OEb & !clk";
rise_power(scalar){ rise_power(scalar){
values("0"); values("0.036300681");
} }
fall_power(scalar){ fall_power(scalar){
values("0"); values("0.041472985");
} }
} }
timing(){ timing(){
@ -140,24 +140,24 @@ cell (sram_2_16_1_freepdk45){
related_pin : "clk"; related_pin : "clk";
timing_type : falling_edge; timing_type : falling_edge;
cell_rise(CELL_TABLE) { cell_rise(CELL_TABLE) {
values("0.123, 0.124, 0.133",\ values("0.054, 0.055, 0.061",\
"0.123, 0.124, 0.133",\ "0.055, 0.055, 0.062",\
"0.123, 0.124, 0.133"); "0.06, 0.061, 0.067");
} }
cell_fall(CELL_TABLE) { cell_fall(CELL_TABLE) {
values("0.123, 0.124, 0.133",\ values("0.519, 0.52, 0.529",\
"0.123, 0.124, 0.133",\ "0.519, 0.52, 0.53",\
"0.123, 0.124, 0.133"); "0.525, 0.526, 0.535");
} }
rise_transition(CELL_TABLE) { rise_transition(CELL_TABLE) {
values("0.006, 0.007, 0.018",\ values("0.013, 0.014, 0.026",\
"0.006, 0.007, 0.018",\ "0.013, 0.014, 0.026",\
"0.006, 0.007, 0.018"); "0.013, 0.015, 0.026");
} }
fall_transition(CELL_TABLE) { fall_transition(CELL_TABLE) {
values("0.006, 0.007, 0.018",\ values("0.027, 0.029, 0.043",\
"0.006, 0.007, 0.018",\ "0.027, 0.029, 0.043",\
"0.006, 0.007, 0.018"); "0.027, 0.029, 0.043");
} }
} }
} }
@ -174,28 +174,28 @@ cell (sram_2_16_1_freepdk45){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.009, 0.009",\ values("0.009, 0.015, 0.021",\
"0.009, 0.009, 0.009",\ "0.009, 0.015, 0.021",\
"0.009, 0.009, 0.009"); "0.009, 0.015, 0.021");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.009, 0.009",\ values("0.009, 0.009, 0.015",\
"0.009, 0.009, 0.009",\ "0.009, 0.009, 0.015",\
"0.009, 0.009, 0.009"); "0.009, 0.009, 0.015");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.001, 0.001, 0.001",\ values("0.002, 0.002, -0.004",\
"0.001, 0.001, 0.001",\ "0.002, 0.002, -0.004",\
"0.001, 0.001, 0.001"); "0.002, 0.002, -0.004");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.001, 0.001, 0.001",\ values("-0.004, -0.004, -0.016",\
"0.001, 0.001, 0.001",\ "-0.004, -0.004, -0.016",\
"0.001, 0.001, 0.001"); "-0.004, -0.004, -0.016");
} }
} }
} }
@ -208,28 +208,28 @@ cell (sram_2_16_1_freepdk45){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.009, 0.009",\ values("0.009, 0.015, 0.021",\
"0.009, 0.009, 0.009",\ "0.009, 0.015, 0.021",\
"0.009, 0.009, 0.009"); "0.009, 0.015, 0.021");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.009, 0.009",\ values("0.009, 0.009, 0.015",\
"0.009, 0.009, 0.009",\ "0.009, 0.009, 0.015",\
"0.009, 0.009, 0.009"); "0.009, 0.009, 0.015");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.001, 0.001, 0.001",\ values("0.002, 0.002, -0.004",\
"0.001, 0.001, 0.001",\ "0.002, 0.002, -0.004",\
"0.001, 0.001, 0.001"); "0.002, 0.002, -0.004");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.001, 0.001, 0.001",\ values("-0.004, -0.004, -0.016",\
"0.001, 0.001, 0.001",\ "-0.004, -0.004, -0.016",\
"0.001, 0.001, 0.001"); "-0.004, -0.004, -0.016");
} }
} }
} }
@ -241,28 +241,28 @@ cell (sram_2_16_1_freepdk45){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.009, 0.009",\ values("0.009, 0.015, 0.021",\
"0.009, 0.009, 0.009",\ "0.009, 0.015, 0.021",\
"0.009, 0.009, 0.009"); "0.009, 0.015, 0.021");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.009, 0.009",\ values("0.009, 0.009, 0.015",\
"0.009, 0.009, 0.009",\ "0.009, 0.009, 0.015",\
"0.009, 0.009, 0.009"); "0.009, 0.009, 0.015");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.001, 0.001, 0.001",\ values("0.002, 0.002, -0.004",\
"0.001, 0.001, 0.001",\ "0.002, 0.002, -0.004",\
"0.001, 0.001, 0.001"); "0.002, 0.002, -0.004");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.001, 0.001, 0.001",\ values("-0.004, -0.004, -0.016",\
"0.001, 0.001, 0.001",\ "-0.004, -0.004, -0.016",\
"0.001, 0.001, 0.001"); "-0.004, -0.004, -0.016");
} }
} }
} }
@ -274,28 +274,28 @@ cell (sram_2_16_1_freepdk45){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.009, 0.009",\ values("0.009, 0.015, 0.021",\
"0.009, 0.009, 0.009",\ "0.009, 0.015, 0.021",\
"0.009, 0.009, 0.009"); "0.009, 0.015, 0.021");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.009, 0.009",\ values("0.009, 0.009, 0.015",\
"0.009, 0.009, 0.009",\ "0.009, 0.009, 0.015",\
"0.009, 0.009, 0.009"); "0.009, 0.009, 0.015");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.001, 0.001, 0.001",\ values("0.002, 0.002, -0.004",\
"0.001, 0.001, 0.001",\ "0.002, 0.002, -0.004",\
"0.001, 0.001, 0.001"); "0.002, 0.002, -0.004");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.001, 0.001, 0.001",\ values("-0.004, -0.004, -0.016",\
"0.001, 0.001, 0.001",\ "-0.004, -0.004, -0.016",\
"0.001, 0.001, 0.001"); "-0.004, -0.004, -0.016");
} }
} }
} }
@ -308,20 +308,20 @@ cell (sram_2_16_1_freepdk45){
timing_type :"min_pulse_width"; timing_type :"min_pulse_width";
related_pin : clk; related_pin : clk;
rise_constraint(scalar) { rise_constraint(scalar) {
values("0.0"); values("0.5275");
} }
fall_constraint(scalar) { fall_constraint(scalar) {
values("0.0"); values("0.5275");
} }
} }
timing(){ timing(){
timing_type :"minimum_period"; timing_type :"minimum_period";
related_pin : clk; related_pin : clk;
rise_constraint(scalar) { rise_constraint(scalar) {
values("0.0"); values("1.055");
} }
fall_constraint(scalar) { fall_constraint(scalar) {
values("0.0"); values("1.055");
} }
} }
} }

View File

@ -92,10 +92,10 @@ cell (sram_2_16_1_freepdk45){
internal_power(){ internal_power(){
when : "OEb & !clk"; when : "OEb & !clk";
rise_power(scalar){ rise_power(scalar){
values("0.0370166"); values("0.039115101");
} }
fall_power(scalar){ fall_power(scalar){
values("0.026622831"); values("0.026662611");
} }
} }
timing(){ timing(){
@ -129,10 +129,10 @@ cell (sram_2_16_1_freepdk45){
internal_power(){ internal_power(){
when : "!OEb & !clk"; when : "!OEb & !clk";
rise_power(scalar){ rise_power(scalar){
values("0.034203045"); values("0.036300681");
} }
fall_power(scalar){ fall_power(scalar){
values("0.039377859"); values("0.041472985");
} }
} }
timing(){ timing(){
@ -145,9 +145,9 @@ cell (sram_2_16_1_freepdk45){
"0.06, 0.061, 0.067"); "0.06, 0.061, 0.067");
} }
cell_fall(CELL_TABLE) { cell_fall(CELL_TABLE) {
values("0.438, 0.439, 0.449",\ values("0.519, 0.52, 0.529",\
"0.439, 0.44, 0.449",\ "0.519, 0.52, 0.53",\
"0.445, 0.446, 0.455"); "0.525, 0.526, 0.535");
} }
rise_transition(CELL_TABLE) { rise_transition(CELL_TABLE) {
values("0.013, 0.014, 0.026",\ values("0.013, 0.014, 0.026",\
@ -308,20 +308,20 @@ cell (sram_2_16_1_freepdk45){
timing_type :"min_pulse_width"; timing_type :"min_pulse_width";
related_pin : clk; related_pin : clk;
rise_constraint(scalar) { rise_constraint(scalar) {
values("0.449"); values("0.5275");
} }
fall_constraint(scalar) { fall_constraint(scalar) {
values("0.449"); values("0.5275");
} }
} }
timing(){ timing(){
timing_type :"minimum_period"; timing_type :"minimum_period";
related_pin : clk; related_pin : clk;
rise_constraint(scalar) { rise_constraint(scalar) {
values("0.898"); values("1.055");
} }
fall_constraint(scalar) { fall_constraint(scalar) {
values("0.898"); values("1.055");
} }
} }
} }

View File

@ -92,47 +92,47 @@ cell (sram_2_16_1_scn3me_subm){
internal_power(){ internal_power(){
when : "OEb & !clk"; when : "OEb & !clk";
rise_power(scalar){ rise_power(scalar){
values("6.0607574"); values("11.756062");
} }
fall_power(scalar){ fall_power(scalar){
values("3.8016626"); values("7.1840422");
} }
} }
timing(){ timing(){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.082, 0.088, 0.186",\ values("0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186",\ "0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186"); "0.076, 0.076, 0.149");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.021, 0.021, 0.027",\ values("0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027",\ "0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027"); "0.039, 0.039, 0.027");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.015, 0.021",\ values("-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021",\ "-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021"); "-0.004, -0.004, 0.009");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("-0.065, -0.071, -0.175",\ values("-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175",\ "-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175"); "-0.052, -0.059, -0.132");
} }
} }
internal_power(){ internal_power(){
when : "!OEb & !clk"; when : "!OEb & !clk";
rise_power(scalar){ rise_power(scalar){
values("6.8609238"); values("10.730552");
} }
fall_power(scalar){ fall_power(scalar){
values("5.9579654"); values("10.584523");
} }
} }
timing(){ timing(){
@ -140,24 +140,24 @@ cell (sram_2_16_1_scn3me_subm){
related_pin : "clk"; related_pin : "clk";
timing_type : falling_edge; timing_type : falling_edge;
cell_rise(CELL_TABLE) { cell_rise(CELL_TABLE) {
values("0.676, 0.761, 1.439",\ values("0.458, 0.503, 0.87",\
"0.679, 0.763, 1.443",\ "0.461, 0.505, 0.873",\
"0.731, 0.813, 1.491"); "0.5, 0.544, 0.911");
} }
cell_fall(CELL_TABLE) { cell_fall(CELL_TABLE) {
values("0.866, 0.99, 1.98",\ values("0.573, 0.649, 1.249",\
"0.868, 0.993, 1.985",\ "0.576, 0.651, 1.252",\
"0.92, 1.042, 2.034"); "0.616, 0.69, 1.289");
} }
rise_transition(CELL_TABLE) { rise_transition(CELL_TABLE) {
values("0.184, 0.333, 1.877",\ values("0.153, 0.232, 1.084",\
"0.185, 0.334, 1.877",\ "0.153, 0.233, 1.084",\
"0.188, 0.337, 1.877"); "0.156, 0.236, 1.084");
} }
fall_transition(CELL_TABLE) { fall_transition(CELL_TABLE) {
values("0.363, 0.486, 2.459",\ values("0.277, 0.355, 1.499",\
"0.367, 0.488, 2.459",\ "0.277, 0.357, 1.499",\
"0.37, 0.495, 2.46"); "0.278, 0.362, 1.499");
} }
} }
} }
@ -174,28 +174,28 @@ cell (sram_2_16_1_scn3me_subm){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.082, 0.088, 0.186",\ values("0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186",\ "0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186"); "0.076, 0.076, 0.149");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.021, 0.021, 0.027",\ values("0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027",\ "0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027"); "0.039, 0.039, 0.027");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.015, 0.021",\ values("-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021",\ "-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021"); "-0.004, -0.004, 0.009");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("-0.065, -0.071, -0.175",\ values("-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175",\ "-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175"); "-0.052, -0.059, -0.132");
} }
} }
} }
@ -208,28 +208,28 @@ cell (sram_2_16_1_scn3me_subm){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.082, 0.088, 0.186",\ values("0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186",\ "0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186"); "0.076, 0.076, 0.149");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.021, 0.021, 0.027",\ values("0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027",\ "0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027"); "0.039, 0.039, 0.027");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.015, 0.021",\ values("-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021",\ "-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021"); "-0.004, -0.004, 0.009");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("-0.065, -0.071, -0.175",\ values("-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175",\ "-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175"); "-0.052, -0.059, -0.132");
} }
} }
} }
@ -241,28 +241,28 @@ cell (sram_2_16_1_scn3me_subm){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.082, 0.088, 0.186",\ values("0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186",\ "0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186"); "0.076, 0.076, 0.149");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.021, 0.021, 0.027",\ values("0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027",\ "0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027"); "0.039, 0.039, 0.027");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.015, 0.021",\ values("-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021",\ "-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021"); "-0.004, -0.004, 0.009");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("-0.065, -0.071, -0.175",\ values("-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175",\ "-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175"); "-0.052, -0.059, -0.132");
} }
} }
} }
@ -274,28 +274,28 @@ cell (sram_2_16_1_scn3me_subm){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.082, 0.088, 0.186",\ values("0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186",\ "0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186"); "0.076, 0.076, 0.149");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.021, 0.021, 0.027",\ values("0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027",\ "0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027"); "0.039, 0.039, 0.027");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.015, 0.021",\ values("-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021",\ "-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021"); "-0.004, -0.004, 0.009");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("-0.065, -0.071, -0.175",\ values("-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175",\ "-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175"); "-0.052, -0.059, -0.132");
} }
} }
} }
@ -308,20 +308,20 @@ cell (sram_2_16_1_scn3me_subm){
timing_type :"min_pulse_width"; timing_type :"min_pulse_width";
related_pin : clk; related_pin : clk;
rise_constraint(scalar) { rise_constraint(scalar) {
values("3.125"); values("2.344");
} }
fall_constraint(scalar) { fall_constraint(scalar) {
values("3.125"); values("2.344");
} }
} }
timing(){ timing(){
timing_type :"minimum_period"; timing_type :"minimum_period";
related_pin : clk; related_pin : clk;
rise_constraint(scalar) { rise_constraint(scalar) {
values("6.25"); values("4.688");
} }
fall_constraint(scalar) { fall_constraint(scalar) {
values("6.25"); values("4.688");
} }
} }
} }

View File

@ -92,47 +92,47 @@ cell (sram_2_16_1_scn3me_subm){
internal_power(){ internal_power(){
when : "OEb & !clk"; when : "OEb & !clk";
rise_power(scalar){ rise_power(scalar){
values("5.5339993"); values("11.756062");
} }
fall_power(scalar){ fall_power(scalar){
values("3.2697936"); values("7.1840422");
} }
} }
timing(){ timing(){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.082, 0.088, 0.186",\ values("0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186",\ "0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186"); "0.076, 0.076, 0.149");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.021, 0.021, 0.027",\ values("0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027",\ "0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027"); "0.039, 0.039, 0.027");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.015, 0.021",\ values("-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021",\ "-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021"); "-0.004, -0.004, 0.009");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("-0.065, -0.071, -0.175",\ values("-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175",\ "-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175"); "-0.052, -0.059, -0.132");
} }
} }
internal_power(){ internal_power(){
when : "!OEb & !clk"; when : "!OEb & !clk";
rise_power(scalar){ rise_power(scalar){
values("5.5897458"); values("10.730552");
} }
fall_power(scalar){ fall_power(scalar){
values("5.460329"); values("10.584523");
} }
} }
timing(){ timing(){
@ -140,24 +140,24 @@ cell (sram_2_16_1_scn3me_subm){
related_pin : "clk"; related_pin : "clk";
timing_type : falling_edge; timing_type : falling_edge;
cell_rise(CELL_TABLE) { cell_rise(CELL_TABLE) {
values("0.664, 0.748, 1.425",\ values("0.458, 0.503, 0.87",\
"0.667, 0.75, 1.429",\ "0.461, 0.505, 0.873",\
"0.718, 0.8, 1.477"); "0.5, 0.544, 0.911");
} }
cell_fall(CELL_TABLE) { cell_fall(CELL_TABLE) {
values("0.857, 0.981, 1.971",\ values("0.573, 0.649, 1.249",\
"0.859, 0.984, 1.976",\ "0.576, 0.651, 1.252",\
"0.911, 1.033, 2.025"); "0.616, 0.69, 1.289");
} }
rise_transition(CELL_TABLE) { rise_transition(CELL_TABLE) {
values("0.182, 0.331, 1.876",\ values("0.153, 0.232, 1.084",\
"0.183, 0.333, 1.876",\ "0.153, 0.233, 1.084",\
"0.186, 0.336, 1.876"); "0.156, 0.236, 1.084");
} }
fall_transition(CELL_TABLE) { fall_transition(CELL_TABLE) {
values("0.361, 0.487, 2.459",\ values("0.277, 0.355, 1.499",\
"0.365, 0.488, 2.459",\ "0.277, 0.357, 1.499",\
"0.369, 0.496, 2.459"); "0.278, 0.362, 1.499");
} }
} }
} }
@ -174,28 +174,28 @@ cell (sram_2_16_1_scn3me_subm){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.082, 0.088, 0.186",\ values("0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186",\ "0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186"); "0.076, 0.076, 0.149");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.021, 0.021, 0.027",\ values("0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027",\ "0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027"); "0.039, 0.039, 0.027");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.015, 0.021",\ values("-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021",\ "-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021"); "-0.004, -0.004, 0.009");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("-0.065, -0.071, -0.175",\ values("-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175",\ "-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175"); "-0.052, -0.059, -0.132");
} }
} }
} }
@ -208,28 +208,28 @@ cell (sram_2_16_1_scn3me_subm){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.082, 0.088, 0.186",\ values("0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186",\ "0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186"); "0.076, 0.076, 0.149");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.021, 0.021, 0.027",\ values("0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027",\ "0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027"); "0.039, 0.039, 0.027");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.015, 0.021",\ values("-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021",\ "-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021"); "-0.004, -0.004, 0.009");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("-0.065, -0.071, -0.175",\ values("-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175",\ "-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175"); "-0.052, -0.059, -0.132");
} }
} }
} }
@ -241,28 +241,28 @@ cell (sram_2_16_1_scn3me_subm){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.082, 0.088, 0.186",\ values("0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186",\ "0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186"); "0.076, 0.076, 0.149");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.021, 0.021, 0.027",\ values("0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027",\ "0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027"); "0.039, 0.039, 0.027");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.015, 0.021",\ values("-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021",\ "-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021"); "-0.004, -0.004, 0.009");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("-0.065, -0.071, -0.175",\ values("-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175",\ "-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175"); "-0.052, -0.059, -0.132");
} }
} }
} }
@ -274,28 +274,28 @@ cell (sram_2_16_1_scn3me_subm){
timing_type : setup_rising; timing_type : setup_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.082, 0.088, 0.186",\ values("0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186",\ "0.076, 0.076, 0.149",\
"0.082, 0.088, 0.186"); "0.076, 0.076, 0.149");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("0.021, 0.021, 0.027",\ values("0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027",\ "0.039, 0.039, 0.027",\
"0.021, 0.021, 0.027"); "0.039, 0.039, 0.027");
} }
} }
timing(){ timing(){
timing_type : hold_rising; timing_type : hold_rising;
related_pin : "clk"; related_pin : "clk";
rise_constraint(CONSTRAINT_TABLE) { rise_constraint(CONSTRAINT_TABLE) {
values("0.009, 0.015, 0.021",\ values("-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021",\ "-0.004, -0.004, 0.009",\
"0.009, 0.015, 0.021"); "-0.004, -0.004, 0.009");
} }
fall_constraint(CONSTRAINT_TABLE) { fall_constraint(CONSTRAINT_TABLE) {
values("-0.065, -0.071, -0.175",\ values("-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175",\ "-0.052, -0.059, -0.132",\
"-0.065, -0.071, -0.175"); "-0.052, -0.059, -0.132");
} }
} }
} }
@ -308,20 +308,20 @@ cell (sram_2_16_1_scn3me_subm){
timing_type :"min_pulse_width"; timing_type :"min_pulse_width";
related_pin : clk; related_pin : clk;
rise_constraint(scalar) { rise_constraint(scalar) {
values("3.125"); values("2.344");
} }
fall_constraint(scalar) { fall_constraint(scalar) {
values("3.125"); values("2.344");
} }
} }
timing(){ timing(){
timing_type :"minimum_period"; timing_type :"minimum_period";
related_pin : clk; related_pin : clk;
rise_constraint(scalar) { rise_constraint(scalar) {
values("6.25"); values("4.688");
} }
fall_constraint(scalar) { fall_constraint(scalar) {
values("6.25"); values("4.688");
} }
} }
} }

View File

@ -5,6 +5,6 @@
* models from MOSIS or SCN3ME * models from MOSIS or SCN3ME
********************************************* *********************************************
.MODEL n NMOS (LEVEL=49 VTO=0.669845 KP=113.7771E-6 .MODEL n NMOS (LEVEL=49 VTHO=0.669845 KP=113.7771E-6
+ NSUB=6E16 U0=461 GAMMA=0.5705 TOX=13.9n) + NSUB=6E16 U0=461 K1=0.5705 TOX=13.9n)

View File

@ -5,5 +5,5 @@
* models from MOSIS or SCN3ME * models from MOSIS or SCN3ME
********************************************* *********************************************
.MODEL p PMOS (LEVEL=49 VTO=-0.921340 KP=366.0244-6 .MODEL p PMOS (LEVEL=49 VTHO=-0.322431 KP=366.0244-6
+ NSUB=6E16 U0=211 GAMMA=0.2370 TOX=13.9n) + NSUB=6E16 U0=212 K1=0.0821 TOX=13.9n)

View File

@ -5,5 +5,5 @@
* models from MOSIS or SCN3ME * models from MOSIS or SCN3ME
********************************************* *********************************************
.MODEL n NMOS (LEVEL=49 VTO=0.669845 KP=113.7771E-6 .MODEL n NMOS (LEVEL=49 VTHO=0.669845 KP=113.7771E-6
+ NSUB=6E16 U0=458 GAMMA=0.5705 TOX=13.9n) + NSUB=6E16 U0=458 K1=0.5705 TOX=13.9n)

View File

@ -5,5 +5,5 @@
* models from MOSIS or SCN3ME * models from MOSIS or SCN3ME
********************************************* *********************************************
.MODEL p PMOS (LEVEL=49 VTO=-0.921340 KP=366.0244-6 .MODEL p PMOS (LEVEL=49 VTHO=-0.322431 KP=366.0244-6
+ NSUB=6E16 U0=212 GAMMA=0.2370 TOX=13.9n) + NSUB=6E16 U0=212 K1=0.0821 TOX=13.9n)

View File

@ -5,6 +5,6 @@
* models from MOSIS or SCN3ME * models from MOSIS or SCN3ME
********************************************* *********************************************
.MODEL n NMOS (LEVEL=49 VTO=0.669845 KP=113.7771E-6 .MODEL n NMOS (LEVEL=49 VTHO=0.669845 KP=113.7771E-6
+ NSUB=6E16 U0=459 GAMMA=0.5705 TOX=13.9n) + NSUB=6E16 U0=460 K1=0.5705 TOX=13.9n)

View File

@ -5,5 +5,5 @@
* models from MOSIS or SCN3ME * models from MOSIS or SCN3ME
********************************************* *********************************************
.MODEL p PMOS (LEVEL=49 VTO=-0.921340 KP=366.0244-6 .MODEL p PMOS (LEVEL=49 VTHO=-0.322431 KP=366.0244-6
+ NSUB=6E16 U0=212 GAMMA=0.2370 TOX=13.9n) + NSUB=6E16 U0=212 K1=0.0821 TOX=13.9n)