Overtone NSL Support

NSLサポートページ



1ビット 片方向 ハイインピーダンス機能付き入出力バッファ


機能

片方向のハイインピーダンス制御機能付きバッファの記述例(2)

信号機能

解説

入力端子「OUT_to_HiZIO」の状態を出力端子HiZ_IO_pinに伝達する.
OEN信号がHレベルのときに入力端子の状態を出力端子に伝達.
OEN信号がLレベルのときは出力端子をHi-Z(ハイインピーダンス)にする.

IN_from_HiZIO出力端子には,双方向端子HiZ_IO_pinの値が常時反映される.

留意点

出力方向しかない端子であっても,Hi-Z機能を使用する場合には「inout」属性をもつ端子名で宣言します.
「output」属性の端子はHi-Zの合成は行われません.

NSL記述例

/* ************************************************************ */
declare HiZ_sample_INOUT    {
    inout       HiZIO_pin ;

    output      IN_from_HiZIO ;
    input       OUT_to_HiZIO ;

    func_in     OEN() ;     //  0 : BIDIR.out = HiZ, BIDIR pin value -> IN pin.
                            //  1 : OUT pin value -> BIDIR pin,
}
/* ************************************************************ */

module  HiZ_sample_INOUT    {

/* ************************************************************ */
/*
// Equation sample #1
    {
        if ( OEN )  HiZIO_pin = OUT_to_HiZIO ;  // Data output at OEN is 'H'
        IN_from_HiZIO = HiZIO_pin ;             // Always reflect.
    }
*/
/* ************************************************************ */
/*
// Equation sample #2
    any {
        OEN     : HiZIO_pin = OUT_to_HiZIO ;
                // Output internal signal to PIN at an 'OEN' is 'H'
        else    : IN_from_HiZIO = HiZIO_pin ;
                // PIN value is reflected to IN_from_HiZIO pin.
                //  - But, a pin of declared as output, right side value is
                //    reflected to left side even if 'else' situaion.
    }
*/
/* ************************************************************ */

// Equation sample #3
    {
        IN_from_HiZIO = HiZIO_pin ;     // Always reflect.
    }

    function    OEN {
        HiZIO_pin = OUT_to_HiZIO ;
                    // Output internal signal to PIN at an 'OEN' is 'H'
    }

}

Verilog変換例

/*
 Produced by NSL Core, IP ARCH, Inc. Fri Jun 04 17:54:28 2010

 Licensed to :EVALUATION USER:
*/

module HiZ_sample_INOUT ( p_reset , m_clock , HiZIO_pin , IN_from_HiZIO , OUT_to_HiZIO , OEN );
  input p_reset, m_clock;
inout HiZIO_pin;
  output IN_from_HiZIO;
  input OUT_to_HiZIO;
  input OEN;

   assign  HiZIO_pin = (OEN)? ((OEN)?OUT_to_HiZIO:1'bZ):1'bz;
   assign  IN_from_HiZIO = HiZIO_pin;
endmodule
/*
 Produced by NSL Core, IP ARCH, Inc. Fri Jun 04 17:54:28 2010

 Licensed to
*/
PAGE TOP