*********************** Write_Driver ****************************** .SUBCKT write_driver din bl br en vdd gnd **** Inverter to conver Data_in to data_in_bar ****** * din_bar = inv(din) M_1 din_bar din gnd gnd n W=0.8u L=0.4u M_2 din_bar din vdd vdd p W=1.4u L=0.4u **** 2input nand gate follwed by inverter to drive BL ****** * din_bar_gated = nand(en, din) M_3 din_bar_gated en net_7 gnd n W=1.4u L=0.4u M_4 net_7 din gnd gnd n W=1.4u L=0.4u M_5 din_bar_gated en vdd vdd p W=1.4u L=0.4u M_6 din_bar_gated din vdd vdd p W=1.4u L=0.4u * din_bar_gated_bar = inv(din_bar_gated) M_7 din_bar_gated_bar din_bar_gated vdd vdd p W=1.4u L=0.4u M_8 din_bar_gated_bar din_bar_gated gnd gnd n W=0.8u L=0.4u **** 2input nand gate follwed by inverter to drive BR****** * din_gated = nand(en, din_bar) M_9 din_gated en vdd vdd p W=1.4u L=0.4u M_10 din_gated en net_8 gnd n W=1.4u L=0.4u M_11 net_8 din_bar gnd gnd n W=1.4u L=0.4u M_12 din_gated din_bar vdd vdd p W=1.4u L=0.4u * din_gated_bar = inv(din_gated) M_13 din_gated_bar din_gated vdd vdd p W=1.4u L=0.4u M_14 din_gated_bar din_gated gnd gnd n W=0.8u L=0.4u ************************************************ * pull down with en enable M_15 bl din_gated_bar gnd gnd n W=2.4u L=0.4u M_16 br din_bar_gated_bar gnd gnd n W=2.4u L=0.4u .ENDS $ write_driver