// 'ConnRules_inhconn.vams' - Verilog-AMS connection rules file with
//                            Inherited Connections.
// last revised:   1/13/05 (ronv)
// Updated:  09/08/06 (jlz)  - Added include disciplines.vams so electrical
//                             discipline is available for AMSVF flow.


// This line is added to make sure that all connect rules are 
// defined by default When ncverilog is run with
// +define+CDS_SELECT_CRS, the connect rules are defined
// selectively based on other +define settings that are sent to 
// ncverilog

`ifndef CDS_SELECT_CRS
`define CONNRULES_INHCONN_FULL
`define CONNRULES_INHCONN_MID
`endif

// This file is a template for definition of rules for a particular 
// logic family.  Values for some typical parameters are defined here,
// then used in the three sets of connections rules below.
// See the "README.txt" file for a more complete usage description.

`include "disciplines.vams"

`define Vthi  0.67
`define Vtlo  0.33
`define Tr    0.4n
`define Rlo   200
`define Rhi   200
`define Rx    40
`define Rz    10M

`ifdef CONNRULES_INHCONN_FULL
connectrules ConnRules_inhconn_full;
  connect L2E_inhconn #( .vthi(`Vthi), .vtlo(`Vtlo),
      .tr(`Tr), .tf(`Tr), .tx(`Tr), .tz(`Tr),
      .rlo(`Rlo), .rhi(`Rhi), .rx(`Rx), .rz(`Rz) );
  connect E2L_inhconn #( .vthi(`Vthi), .vtlo(`Vtlo), .tr(`Tr) );
  connect Bidir_inhconn #( .vthi(`Vthi), .vtlo(`Vtlo),
      .tr(`Tr), .tf(`Tr), .tx(`Tr), .tz(`Tr),
      .rlo(`Rlo), .rhi(`Rhi), .rx(`Rx), .rz(`Rz) );
endconnectrules
`endif

`ifdef CONNRULES_INHCONN_MID
connectrules ConnRules_inhconn_mid;
  connect E2L_inhconn #( .vthi(`Vthi), .vtlo(`Vtlo), .tr(`Tr) );
  connect L2E_1_inhconn #( .tr(`Tr), .rout(`Rlo) );
  connect Bidir_inhconn #( .vthi(`Vthi), .vtlo(`Vtlo),
      .tr(`Tr), .tf(`Tr), .tx(`Tr), .tz(`Tr),
      .rlo(`Rlo), .rhi(`Rhi), .rx(`Rx), .rz(`Rz) );
endconnectrules
`endif