Digital-Test/WasmCompare/verilog/SP018D18RP_V0p5.v

5489 lines
120 KiB
Verilog

//********************************************************************************//
//********** (C) Copyright 2017 SMIC Inc. **********//
//********** SMIC Verilog Models **********//
//********************************************************************************//
// FileName : SP018D18RP_V0p5.v //
// Function : Verilog Models (zero timing) //
// Version : 0.5 //
// Author : Max //
// CreateDate : Jan-01-2017 //
//********************************************************************************//
////////////////////////////////////////////////////////////////////////////////////
//DISCLAIMER //
// //
// SMIC hereby provides the quality information to you but makes no claims, //
// promises or guarantees about the accuracy, completeness, or adequacy of the //
// information herein. The information contained herein is provided on an "AS IS" //
// basis without any warranty, and SMIC assumes no obligation to provide support //
// of any kind or otherwise maintain the information. //
// SMIC disclaims any representation that the information does not infringe any //
// intellectual property rights or proprietary rights of any third parties.SMIC //
// makes no other warranty, whether express, implied or statutory as to any //
// matter whatsoever,including but not limited to the accuracy or sufficiency of //
// any information or the merchantability and fitness for a particular purpose. //
// Neither SMIC nor any of its representatives shall be liable for any cause of //
// action incurred to connect to this service. //
// //
// STATEMENT OF USE AND CONFIDENTIALITY //
// //
// The following/attached material contains confidential and proprietary //
// information of SMIC. This material is based upon information which SMIC //
// considers reliable, but SMIC neither represents nor warrants that such //
// information is accurate or complete, and it must not be relied upon as such. //
// This information was prepared for informational purposes and is for the use //
// by SMIC's customer only. SMIC reserves the right to make changes in the //
// information at any time without notice. //
// No part of this information may be reproduced, transmitted, transcribed, //
// stored in a retrieval system, or translated into any human or computer //
// language, in any form or by any means, electronic, mechanical, magnetic, //
// optical, chemical, manual, or otherwise, without the prior written consent of //
// SMIC. Any unauthorized use or disclosure of this material is strictly //
// prohibited and may be unlawful. By accepting this material, the receiving //
// party shall be deemed to have acknowledged, accepted, and agreed to be bound //
// by the foregoing limitations and restrictions. Thank you. //
////////////////////////////////////////////////////////////////////////////////////
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsd4r_pg.v
// Description : CMOS 3-state bi-direction I/O pads with controlled driving strength of four level, uncontrolled Schmitt trigger with pull down
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSD4R_PG(PAD,IE,OEN,I,DS0,DS1,C);
output C;
input OEN,I,DS0,DS1;
inout PAD;
input IE;
supply0 my0;
bufif0 (C_buf, I, OEN);
pmos (PAD,C_buf,my0);
and (C,PAD,IE);
rpmos #0.01 (C_buf,my0,my0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
d00_oe_lh_pad_lh=0,d00_oe_hl_pad_hl=0,
d01_oe_lh_pad_lh=0,d01_oe_hl_pad_hl=0,
d10_oe_lh_pad_lh=0,d10_oe_hl_pad_hl=0,
d11_oe_lh_pad_lh=0,d11_oe_hl_pad_hl=0,
d00_i_lh_pad_lh=0,d00_i_hl_pad_hl=0,
d01_i_lh_pad_lh=0,d01_i_hl_pad_hl=0,
d10_i_lh_pad_lh=0,d10_i_hl_pad_hl=0,
d11_i_lh_pad_lh=0,d11_i_hl_pad_hl=0;
// Delays
if(DS0 === 1'b0 && DS1 === 1'b0) (OEN => PAD) = (d00_oe_lh_pad_lh,d00_oe_hl_pad_hl);
if(DS0 === 1'b0 && DS1 === 1'b1) (OEN => PAD) = (d01_oe_lh_pad_lh,d01_oe_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b0) (OEN => PAD) = (d10_oe_lh_pad_lh,d10_oe_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b1) (OEN => PAD) = (d11_oe_lh_pad_lh,d11_oe_hl_pad_hl);
ifnone (OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
if(DS0 === 1'b0 && DS1 === 1'b0) (I => PAD) = (d00_i_lh_pad_lh,d00_i_hl_pad_hl);
if(DS0 === 1'b0 && DS1 === 1'b1) (I => PAD) = (d01_i_lh_pad_lh,d01_i_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b0) (I => PAD) = (d10_i_lh_pad_lh,d10_i_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b1) (I => PAD) = (d11_i_lh_pad_lh,d11_i_hl_pad_hl);
ifnone (I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbs4r_pg.v
// Description : CMOS 3-state bi-direction I/O pads with controlled driving strength of four level, uncontrolled Schmitt trigger
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBS4R_PG(PAD,IE,OEN,I,DS0,DS1,C);
output C;
input OEN,I,DS0,DS1;
inout PAD;
input IE;
and #0.01 (C,PAD,IE);
bufif0 #0.01 (PAD, I, OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
d00_oe_lh_pad_lh=0,d00_oe_hl_pad_hl=0,
d01_oe_lh_pad_lh=0,d01_oe_hl_pad_hl=0,
d10_oe_lh_pad_lh=0,d10_oe_hl_pad_hl=0,
d11_oe_lh_pad_lh=0,d11_oe_hl_pad_hl=0,
d00_i_lh_pad_lh=0,d00_i_hl_pad_hl=0,
d01_i_lh_pad_lh=0,d01_i_hl_pad_hl=0,
d10_i_lh_pad_lh=0,d10_i_hl_pad_hl=0,
d11_i_lh_pad_lh=0,d11_i_hl_pad_hl=0;
// Delays
if(DS0 === 1'b0 && DS1 === 1'b0) (OEN => PAD) = (d00_oe_lh_pad_lh,d00_oe_hl_pad_hl);
if(DS0 === 1'b0 && DS1 === 1'b1) (OEN => PAD) = (d01_oe_lh_pad_lh,d01_oe_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b0) (OEN => PAD) = (d10_oe_lh_pad_lh,d10_oe_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b1) (OEN => PAD) = (d11_oe_lh_pad_lh,d11_oe_hl_pad_hl);
ifnone (OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
if(DS0 === 1'b0 && DS1 === 1'b0) (I => PAD) = (d00_i_lh_pad_lh,d00_i_hl_pad_hl);
if(DS0 === 1'b0 && DS1 === 1'b1) (I => PAD) = (d01_i_lh_pad_lh,d01_i_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b0) (I => PAD) = (d10_i_lh_pad_lh,d10_i_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b1) (I => PAD) = (d11_i_lh_pad_lh,d11_i_hl_pad_hl);
ifnone (I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pot4r_pg.v
// Description : CMOS 3-state output pads with controlled driving strength of four level
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module POT4R_PG(PAD,OEN,I,DS0,DS1);
output PAD;
input OEN,I,DS0,DS1;
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam i_lh_pad_lh=0,i_hl_pad_hl=0,oen_lh_pad_lz=0,oen_hl_pad_zh=0,
oen_lh_pad_hz=0,oen_hl_pad_zl=0,
d00_oe_lh_pad_lh=0,d00_oe_hl_pad_hl=0,
d01_oe_lh_pad_lh=0,d01_oe_hl_pad_hl=0,
d10_oe_lh_pad_lh=0,d10_oe_hl_pad_hl=0,
d11_oe_lh_pad_lh=0,d11_oe_hl_pad_hl=0,
d00_i_lh_pad_lh=0,d00_i_hl_pad_hl=0,
d01_i_lh_pad_lh=0,d01_i_hl_pad_hl=0,
d10_i_lh_pad_lh=0,d10_i_hl_pad_hl=0,
d11_i_lh_pad_lh=0,d11_i_hl_pad_hl=0;
// Delays
if(DS0 === 1'b0 && DS1 === 1'b0) (OEN => PAD) = (d00_oe_lh_pad_lh,d00_oe_hl_pad_hl);
if(DS0 === 1'b0 && DS1 === 1'b1) (OEN => PAD) = (d01_oe_lh_pad_lh,d01_oe_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b0) (OEN => PAD) = (d10_oe_lh_pad_lh,d10_oe_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b1) (OEN => PAD) = (d11_oe_lh_pad_lh,d11_oe_hl_pad_hl);
ifnone (OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
if(DS0 === 1'b0 && DS1 === 1'b0) (I => PAD) = (d00_i_lh_pad_lh,d00_i_hl_pad_hl);
if(DS0 === 1'b0 && DS1 === 1'b1) (I => PAD) = (d01_i_lh_pad_lh,d01_i_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b0) (I => PAD) = (d10_i_lh_pad_lh,d10_i_hl_pad_hl);
if(DS0 === 1'b1 && DS1 === 1'b1) (I => PAD) = (d11_i_lh_pad_lh,d11_i_hl_pad_hl);
ifnone (I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pisdr_r10k.v
// Description : Schmitt trigger Input Pad with Pull-down
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PISDR_R10K(PAD,IE,C);
output C;
input PAD,IE;
tri0 PAD;
and #0.01 (C,PAD,IE);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0;
// Delays
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pisur_r10k.v
// Description : Schmitt trigger Input Pad with Pull-up
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PISUR_R10K(PAD,IE,C);
output C;
input PAD,IE;
tri1 PAD;
and #0.01 (C,PAD,IE);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0;
// Delays
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pb4r.v
// Description : 3-state Output Pad with Controllable Input, 4X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PB4R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
and #0.01 (C,PAD,IE);
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pb8r.v
// Description : 3-state Output Pad with Controllable Input, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PB8R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
and #0.01 (C,PAD,IE);
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pb12r.v
// Description : 3-state Output Pad with Controllable Input, 12X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PB12R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
and #0.01 (C,PAD,IE);
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pb16r.v
// Description : 3-state Output Pad with Controllable Input, 16X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PB16R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
and #0.01 (C,PAD,IE);
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pb24r.v
// Description : 3-state Output Pad with Controllable Input, 24X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PB24R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
and #0.01 (C,PAD,IE);
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbd4r.v
// Description : CMOS 3-state Output Pad with Controllable Input and Pull-down, 4X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBD4R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbd8r.v
// Description : CMOS 3-state Output Pad with Controllable Input and Pull-down, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBD8R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbd12r.v
// Description : CMOS 3-state Output Pad with Controllable Input and Pull-down, 12X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBD12R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbd16r.v
// Description : CMOS 3-state Output Pad with Controllable Input and Pull-down, 16X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBD16R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbd24r.v
// Description : CMOS 3-state Output Pad with Controllable Input and Pull-down, 24X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBD24R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbu4r.v
// Description : CMOS 3-state Output Pad with Controllable Input and Pull-up, 4X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBU4R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbu8r.v
// Description : CMOS 3-state Output Pad with Controllable Input and Pull-up, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBU8R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbu12r.v
// Description : CMOS 3-state Output Pad with Controllable Input and Pull-up, 12X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBU12R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbu16r.v
// Description : CMOS 3-state Output Pad with Controllable Input and Pull-up, 16X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBU16R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbu24r.v
// Description : CMOS 3-state Output Pad with Controllable Input and Pull-up, 24X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBU24R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsd4r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-down, 4X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSD4R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsd8r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-down, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSD8R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsd12r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-down, 12X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSD12R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsd16r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-down, 16X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSD16R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsd24r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-down, 24X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSD24R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsu4r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-up, 4X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSU4R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsu8r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-up, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSU8R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsu12r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-up, 12X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSU12R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsu16r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-up, 16X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSU16R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsu24r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-up, 24X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSU24R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsd4r_r10k.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-down, 4X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSD4R_R10K (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsd8r_r10k.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-down, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSD8R_R10K (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsd12r_r10k.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-down, 12X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSD12R_R10K (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsd16r_r10k.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-down, 16X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSD16R_R10K (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsd24r_r10k.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-down, 24X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSD24R_R10K (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b0, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b0) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsu4r_r10k.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-up, 4X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSU4R_R10K (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsu8r_r10k.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-up, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSU8R_R10K (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsu12r_r10k.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-up, 12X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSU12R_R10K (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsu16r_r10k.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-up, 16X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSU16R_R10K (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbsu24r_r10k.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input and Pull-up, 24X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBSU24R_R10K (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
parameter PullTime = 0.01;
reg lastPAD, pull;
bufif1 (weak0,weak1) (C_buf, 1'b1, pull);
and (C,C_buf,IE);
bufif0 (PAD, I, OEN);
pmos (C_buf, PAD, 1'b0);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
if (PAD === 1'bz ) begin
if (lastPAD === 1'b1) pull=1;
else pull <= #PullTime 1;
end
else pull=0;
lastPAD=PAD;
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbs4r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBS4R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
and #0.01 (C,PAD,IE);
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbs8r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBS8R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
and #0.01 (C,PAD,IE);
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbs12r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBS12R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
and #0.01 (C,PAD,IE);
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbs16r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBS16R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
and #0.01 (C,PAD,IE);
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbs24r.v
// Description : CMOS 3-state Output Pad with Schmitt Trigger Controllable Input
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBS24R (PAD,IE,OEN,I,C);
output C;
input OEN,I;
inout PAD;
input IE;
and #0.01 (C,PAD,IE);
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbcd4r.v
// Description : 3-state Output Pad with Controllable Input and Controllable Pull-down, 4X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBCD4R (PAD,IE,OEN,REN,I,C);
output C;
input OEN,I,REN;
inout PAD;
input IE;
supply0 my0;
bufif0 (C_buf, I, OEN);
pmos (PAD,C_buf,my0);
and (C,PAD,IE);
rpmos #0.01 (C_buf,my0,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
ren_hl_pad_hl=0,ren_lh_pad_hz=0,ren_lh_pad_lz=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
( REN => PAD) = (ren_lh_pad_lz,ren_lh_pad_hz,ren_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbcd8r.v
// Description : 3-state Output Pad with Controllable Input and Controllable Pull-down, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBCD8R (PAD,IE,OEN,REN,I,C);
output C;
input OEN,I,REN;
inout PAD;
input IE;
supply0 my0;
bufif0 (C_buf, I, OEN);
pmos (PAD,C_buf,my0);
and (C,PAD,IE);
rpmos #0.01 (C_buf,my0,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
ren_hl_pad_hl=0,ren_lh_pad_hz=0,ren_lh_pad_lz=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
( REN => PAD) = (ren_lh_pad_lz,ren_lh_pad_hz,ren_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbcd12r.v
// Description : 3-state Output Pad with Controllable Input and Controllable Pull-down, 12X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBCD12R (PAD,IE,OEN,REN,I,C);
output C;
input OEN,I,REN;
inout PAD;
input IE;
supply0 my0;
bufif0 (C_buf, I, OEN);
pmos (PAD,C_buf,my0);
and (C,PAD,IE);
rpmos #0.01 (C_buf,my0,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
ren_hl_pad_hl=0,ren_lh_pad_hz=0,ren_lh_pad_lz=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
( REN => PAD) = (ren_lh_pad_lz,ren_lh_pad_hz,ren_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbcd16r.v
// Description : 3-state Output Pad with Controllable Input and Controllable Pull-down, 16X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBCD16R (PAD,IE,OEN,REN,I,C);
output C;
input OEN,I,REN;
inout PAD;
input IE;
supply0 my0;
bufif0 (C_buf, I, OEN);
pmos (PAD,C_buf,my0);
and (C,PAD,IE);
rpmos #0.01 (C_buf,my0,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
ren_hl_pad_hl=0,ren_lh_pad_hz=0,ren_lh_pad_lz=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
( REN => PAD) = (ren_lh_pad_lz,ren_lh_pad_hz,ren_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbcd24r.v
// Description : 3-state Output Pad with Controllable Input and Controllable Pull-down, 24X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBCD24R (PAD,IE,OEN,REN,I,C);
output C;
input OEN,I,REN;
inout PAD;
input IE;
supply0 my0;
bufif0 (C_buf, I, OEN);
pmos (PAD,C_buf,my0);
and (C,PAD,IE);
rpmos #0.01 (C_buf,my0,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
ren_hl_pad_hl=0,ren_lh_pad_hz=0,ren_lh_pad_lz=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
( REN => PAD) = (ren_lh_pad_lz,ren_lh_pad_hz,ren_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbcu4r.v
// Description : 3-state Output Pad with Controllable Input and Controllable Pull-up, 4X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBCU4R (PAD,IE,OEN,REN,I,C);
output C;
input OEN,I,REN;
inout PAD;
input IE;
supply1 my1;
supply0 my0;
bufif0 (C_buf, I, OEN);
pmos (PAD,C_buf,my0);
and (C,PAD,IE);
rpmos #0.01 (C_buf,my1,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
ren_hl_pad_hl=0,ren_lh_pad_hz=0,ren_lh_pad_lz=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
( REN => PAD) = (ren_lh_pad_lz,ren_lh_pad_hz,ren_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbcu8r.v
// Description : 3-state Output Pad with Controllable Input and Controllable Pull-up, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBCU8R (PAD,IE,OEN,REN,I,C);
output C;
input OEN,I,REN;
inout PAD;
input IE;
supply1 my1;
supply0 my0;
bufif0 (C_buf, I, OEN);
pmos (PAD,C_buf,my0);
and (C,PAD,IE);
rpmos #0.01 (C_buf,my1,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
ren_hl_pad_hl=0,ren_lh_pad_hz=0,ren_lh_pad_lz=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
( REN => PAD) = (ren_lh_pad_lz,ren_lh_pad_hz,ren_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbcu12r.v
// Description : 3-state Output Pad with Controllable Input and Controllable Pull-up, 12X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBCU12R (PAD,IE,OEN,REN,I,C);
output C;
input OEN,I,REN;
inout PAD;
input IE;
supply1 my1;
supply0 my0;
bufif0 (C_buf, I, OEN);
pmos (PAD,C_buf,my0);
and (C,PAD,IE);
rpmos #0.01 (C_buf,my1,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
ren_hl_pad_hl=0,ren_lh_pad_hz=0,ren_lh_pad_lz=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
( REN => PAD) = (ren_lh_pad_lz,ren_lh_pad_hz,ren_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbcu16r.v
// Description : 3-state Output Pad with Controllable Input and Controllable Pull-up, 16X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBCU16R (PAD,IE,OEN,REN,I,C);
output C;
input OEN,I,REN;
inout PAD;
input IE;
supply1 my1;
supply0 my0;
bufif0 (C_buf, I, OEN);
pmos (PAD,C_buf,my0);
and (C,PAD,IE);
rpmos #0.01 (C_buf,my1,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
ren_hl_pad_hl=0,ren_lh_pad_hz=0,ren_lh_pad_lz=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
( REN => PAD) = (ren_lh_pad_lz,ren_lh_pad_hz,ren_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pbcu24r.v
// Description : 3-state Output Pad with Controllable Input and Controllable Pull-up, 24X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PBCU24R (PAD,IE,OEN,REN,I,C);
output C;
input OEN,I,REN;
inout PAD;
input IE;
supply1 my1;
supply0 my0;
bufif0 (C_buf, I, OEN);
pmos (PAD,C_buf,my0);
and (C,PAD,IE);
rpmos #0.01 (C_buf,my1,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0,
i_lh_pad_lh=0,i_hl_pad_hl=0,
oen_lh_pad_lz=0,oen_hl_pad_zh=0,oen_lh_pad_hz=0,oen_hl_pad_zl=0,
ren_hl_pad_hl=0,ren_lh_pad_hz=0,ren_lh_pad_lz=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
( REN => PAD) = (ren_lh_pad_lz,ren_lh_pad_hz,ren_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pot4r.v
// Description : CMOS Output Only Pad, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module POT4R (PAD,OEN,I);
output PAD;
input OEN,I;
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam i_lh_pad_lh=0,i_hl_pad_hl=0,oen_lh_pad_lz=0,oen_hl_pad_zh=0,
oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pot8r.v
// Description : CMOS Output Only Pad, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module POT8R (PAD,OEN,I);
output PAD;
input OEN,I;
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam i_lh_pad_lh=0,i_hl_pad_hl=0,oen_lh_pad_lz=0,oen_hl_pad_zh=0,
oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pot12r.v
// Description : CMOS Output Only Pad, 12X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module POT12R (PAD,OEN,I);
output PAD;
input I,OEN;
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam i_lh_pad_lh=0,i_hl_pad_hl=0,oen_lh_pad_lz=0,oen_hl_pad_zh=0,
oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pot16r.v
// Description : CMOS Output Only Pad, 16X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module POT16R (PAD,OEN,I);
output PAD;
input I,OEN;
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam i_lh_pad_lh=0,i_hl_pad_hl=0,oen_lh_pad_lz=0,oen_hl_pad_zh=0,
oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pot24r.v
// Description : CMOS Output Only Pad, 24X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module POT24R (PAD,OEN,I);
output PAD;
input I,OEN;
bufif0 #0.01 (PAD,I,OEN);
`ifdef functional
`else
specify
// Parameter declarations
specparam i_lh_pad_lh=0,i_hl_pad_hl=0,oen_lh_pad_lz=0,oen_hl_pad_zh=0,
oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pot4odr.v
// Description : CMOS Output Only Pad, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module POT4ODR (PAD,OEN,I);
output PAD;
input OEN,I;
supply0 my0;
nor (ctrl,I,OEN);
nmos (PAD,my0,ctrl);
`ifdef functional
`else
specify
// Parameter declarations
specparam i_lh_pad_lh=0,i_hl_pad_hl=0,oen_lh_pad_lz=0,oen_hl_pad_zh=0,
oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pot8odr.v
// Description : CMOS Output Only Pad, 8X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module POT8ODR (PAD,OEN,I);
output PAD;
input OEN,I;
supply0 my0;
nor (ctrl,I,OEN);
nmos (PAD,my0,ctrl);
`ifdef functional
`else
specify
// Parameter declarations
specparam i_lh_pad_lh=0,i_hl_pad_hl=0,oen_lh_pad_lz=0,oen_hl_pad_zh=0,
oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pot12odr.v
// Description : CMOS Output Only Pad, 12X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module POT12ODR (PAD,OEN,I);
output PAD;
input I,OEN;
supply0 my0;
nor (ctrl,I,OEN);
nmos (PAD,my0,ctrl);
`ifdef functional
`else
specify
// Parameter declarations
specparam i_lh_pad_lh=0,i_hl_pad_hl=0,oen_lh_pad_lz=0,oen_hl_pad_zh=0,
oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pot16odr.v
// Description : CMOS Output Only Pad, 16X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module POT16ODR (PAD,OEN,I);
output PAD;
input I,OEN;
supply0 my0;
nor (ctrl,I,OEN);
nmos (PAD,my0,ctrl);
`ifdef functional
`else
specify
// Parameter declarations
specparam i_lh_pad_lh=0,i_hl_pad_hl=0,oen_lh_pad_lz=0,oen_hl_pad_zh=0,
oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pot24odr.v
// Description : CMOS Output Only Pad, 24X Drive
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module POT24ODR (PAD,OEN,I);
output PAD;
input I,OEN;
supply0 my0;
nor (ctrl,I,OEN);
nmos (PAD,my0,ctrl);
`ifdef functional
`else
specify
// Parameter declarations
specparam i_lh_pad_lh=0,i_hl_pad_hl=0,oen_lh_pad_lz=0,oen_hl_pad_zh=0,
oen_lh_pad_hz=0,oen_hl_pad_zl=0;
// Delays
( OEN => PAD) = (oen_lh_pad_lz,oen_lh_pad_hz,oen_lh_pad_lz,oen_hl_pad_zh,oen_lh_pad_hz,oen_hl_pad_zl);
( I +=> PAD) = (i_lh_pad_lh,i_hl_pad_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pir.v
// Description : Controllable Input Pad
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PIR (PAD,IE,C);
output C;
input PAD,IE;
and #0.01 (C,PAD,IE);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0;
// Delays
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pisr.v
// Description : Schmitt Trigger Controllable Input Pad
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PISR (PAD,IE,C);
output C;
input PAD,IE;
and #0.01 (C,PAD,IE);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0;
// Delays
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pidr.v
// Description : CMOS Controllable Input Pad with Pull-down
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PIDR (PAD,IE,C);
output C;
input PAD,IE;
tri0 PAD;
and #0.01 (C,PAD,IE);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0;
// Delays
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : piur.v
// Description : CMOS Controllable Input Pad with Pull-up
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PIUR (PAD,IE,C);
output C;
input PAD,IE;
tri1 PAD;
and #0.01 (C,PAD,IE);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0;
// Delays
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pisdr.v
// Description : Schmitt Trigger Controllable Input Pad with Pull-down
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PISDR (PAD,IE,C);
output C;
input PAD,IE;
tri0 PAD;
and #0.01 (C,PAD,IE);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0;
// Delays
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pisur.v
// Description : Schmitt Trigger Controllable Input Pad with Pull-up
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PISUR (PAD,IE,C);
output C;
input PAD,IE;
tri1 PAD;
and #0.01 (C,PAD,IE);
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0;
// Delays
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : picdr.v
// Description : Controllable Input Pad with Controllable Pull-down
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PICDR (PAD,IE,REN,C);
output C;
input PAD,IE,REN;
supply0 my0;
and (C,PAD,IE);
rpmos #0.01 (PAD,my0,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0;
// Delays
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : picur.v
// Description : Controllable Input Pad with Controllable Pull-up
//
//
`celldefine
`suppress_faults
`enable_portfaults
`ifdef functional
`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit
`else
`timescale 1ns / 10ps
`delay_mode_path
`endif
module PICUR (PAD,IE,REN,C);
output C;
input PAD,IE,REN;
supply1 my1;
and (C,PAD,IE);
rpmos #0.01 (PAD,my1,REN);
always @(PAD) begin
if (PAD === 1'bx && !$test$plusargs("bus_conflict_off") &&
$countdrivers(PAD))
$display("%t --BUS CONFLICT-- : %m", $realtime);
end
`ifdef functional
`else
specify
// Parameter declarations
specparam pad_lh_c_lh=0,pad_hl_c_hl=0,
ie_lh_c_lz=0,ie_hl_c_zh=0,ie_lh_c_hz=0,ie_hl_c_zl=0;
// Delays
( IE => C) = (ie_lh_c_lz,ie_lh_c_hz,ie_lh_c_lz,ie_hl_c_zh,ie_lh_c_hz,ie_hl_c_zl);
( PAD +=> C) = (pad_lh_c_lh,pad_hl_c_hl);
endspecify
`endif
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvdd1r.v
// Description : VDD Pad
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVDD1R (VDD);
output VDD;
pullup G2(VDD);
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvdd2r.v
// Description : VDD Pad
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVDD2R ();
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvdd3r.v
// Description : VDD Pad
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVDD3R (VDD);
output VDD;
pullup G2(VDD);
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvss1r.v
// Description : VSS Pad
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVSS1R (VSS);
output VSS;
pulldown G2(VSS);
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvss2r.v
// Description : VSS Pad
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVSS2R ();
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvss3r.v
// Description : VSS Pad
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVSS3R (VSS);
output VSS;
pulldown G2(VSS);
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pana1apr.v
// Description : antenna pad
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PANA1APR (PAD);
inout PAD;
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pana2apr.v
// Description : antenna pad
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PANA2APR (PAD);
inout PAD;
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvdd1apr.v
// Description : analog vdd
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVDD1APR (SVDD1AP);
output SVDD1AP;
pullup G2(SVDD1AP);
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvss1apr.v
// Description : analog vss
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVSS1APR (SVSS1AP);
output SVSS1AP;
pulldown G2(SVSS1AP);
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvdd3apr.v
// Description : analog vdd
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVDD3APR (SAVDD);
output SAVDD;
pullup G2(SAVDD);
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvss3apr.v
// Description : analog vss
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVSS3APR (SAVSS);
output SAVSS;
pulldown G2(SAVSS);
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvdd5apr.v
// Description : analog vdd
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVDD5APR ();
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pvss5apr.v
// Description : analog vss
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PVSS5APR ();
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : p1diode8r.v
// Description : Power-Cut Cell for High Voltage Drop for difference voltage level between digital and analog, but it only includes two single diodes of opposite polarity connected in parallel
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module P1DIODE8R (VSS1,VSS2);
inout VSS1;
inout VSS2;
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pdioder.v
// Description : power cut
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PDIODER (VDD1,VDD2,VSS1,VSS2);
inout VDD1;
inout VDD2;
inout VSS1;
inout VSS2;
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : p1dioder.v
// Description : power cut
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module P1DIODER (VDD1,VDD2,VSS1,VSS2);
inout VDD1;
inout VDD2;
inout VSS1;
inout VSS2;
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pdiode8r.v
// Description : power cut for high voltage
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PDIODE8R (VSS1,VSS2);
inout VSS1;
inout VSS2;
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine
// ****** (C) Copyright 2017 SMIC Inc. ********
// -- SMIC Verilog Models
// **********************************************
//
// Model type : zero timing
// Filename : pdiode8sr.v
// Description : power cut for high voltage
//
//
`celldefine
`delay_mode_path
`suppress_faults
`enable_portfaults
`timescale 1 ns / 10 ps
module PDIODE8SR ();
parameter ExtLoad = 50.0 ;
`ifdef NOTIMING
`else
specify
specparam cell_count = 0.000000;
specparam Transistors = 0 ;
endspecify
`endif
endmodule
`nosuppress_faults
`disable_portfaults
`endcelldefine