TpgGate

class TpgGate : public TpgObjBase

ゲートの情報を表すクラス

主な目的は縮退故障/遷移故障などのゲート構造に基づいた故障の 設定用の情報を提供すること

外部入力/外部出力も「ゲート」とみなす.

Public Functions

TpgGate() = default

空のコンストラクタ

不正な値となる.

inline TpgGate(const std::shared_ptr<NetworkRep> &network, SizeType id)

値を指定したコンストラクタ

パラメータ:
  • network -- [in] 親のネットワーク

  • id -- [in] ID番号

~TpgGate() = default

デストラクタ

std::string name() const

名前を返す.

TpgNode output_node() const

出力に対応するノードを返す.

SizeType input_num() const

入力数を返す.

TpgNode input_node(SizeType pos) const

入力に対応するノードを返す.

パラメータ:

pos -- [in] 入力位置 ( 0 <= pos < input_num() )

BranchInfo branch_info(SizeType pos) const

ブランチの情報を返す.

パラメータ:

pos -- [in] 入力位置

bool is_ppi() const

PPI のときに true を返す.

bool is_ppo() const

PPO のときに true を返す.

bool is_simple() const

組み込みタイプのときに true を返す.

bool is_complex() const

論理式タイプのときに true を返す.

PrimType primitive_type() const

ゲートタイプを返す.

組み込みタイプ(is_simple() = true)のときのみ意味を持つ.

Expr expr() const

論理式を返す.

論理式タイプ(is_complex() = true)のときのみ意味を持つ.

SizeType extra_node_num() const

追加ノード数を返す.

Val3 cval(SizeType pos, Val3 val) const

制御値を返す.

pos に val を与えた時の出力値を返す. 他の入力値に依存している場合は val3::_X を返す.

パラメータ:
  • pos -- [in] 入力位置

  • val -- [in] 値

TpgFault stem_fault(Fval2 fval) const

ステムの故障を返す.

  • 故障タイプが網羅故障/遷移故障でない場合には不正な呼び出しとなる.

  • 定義されていない場合は空の故障を返す.

パラメータ:

fval -- [in] 故障値

TpgFault branch_fault(SizeType ipos, Fval2 fval) const

ブランチの故障を返す.

  • 故障タイプが網羅故障/遷移故障でない場合には不正な呼び出しとなる.

  • 定義されていない場合は空の故障を返す.

パラメータ:
  • ipos -- [in] 入力位置

  • fval -- [in] 故障値

TpgFault ex_fault(const std::vector<bool> &ivals) const

網羅故障の故障を得る.

  • 故障タイプが網羅故障でない場合には不正な呼び出しとなる.

パラメータ:

ivals -- [in] 入力値のベクトル

struct BranchInfo

ブランチの情報を表す構造体

Public Members

TpgNode node

ノード

SizeType ipos = {0}

入力位置