Overtone NSL Support

NSLサポートページ



3ステート 8ビット幅 バスバッファ Bタイプ


機能

8ビット双方向バスx2ポートの機能コード.標準TTL74245のNSL記述版

信号機能

Port_A = 8ビット双方向バス
Port_B = 8ビット双方向バス
DIR = 転送方向.1のときはAポートからBポートへ,0のときはBポートからAポートへ
nOE = 出力イネーブル.0のときにDIRの要求に応じた信号伝達.1のときはHi-Z

記述特徴

本コードは,output_AtoB(),output_BtoAという名称で2つの内部制御信号を作成し,nOEとDIRの状態の組合せでこれらの制御信号が呼ばれます.
制御信号が呼ばれると,functionで書かれたプロシジャが呼び出され,この中で信号の伝達が行われます.

NSL合成ツールは,inout宣言された出力信号に対する制御が**行われていない**時(未使用時)には,Hi-Zにするコードを生成します.

備考

記述量は多いが,可読性はtypeA/TypeCに比べて高い.

NSL記述例

/* ************************************************************ */
declare TTL_74245_TypeB {

    inout       Port_A[8] ;

    inout       Port_B[8] ;

    input       DIR ;       // Direction. 0 = Port B -> A, 1 = PortA -> PortB

    input       nOE ;
}

/* ************************************************************ */
module  TTL_74245_TypeB {

    func_self   output_AtoB() ;         // Data output PORT A to PORT B
    func_self   output_BtoA() ;         // Data output PORT B to PORT A

/* Equation for biridection control */

    {
        if ( ~nOE ) {
            any {
                ~DIR    : output_BtoA () ;
                else    : output_AtoB () ;
            }
        }
    }

/* Equation for instruction */
    function    output_AtoB {
        Port_A = Port_B ;
    }

    function    output_BtoA {
        Port_B = Port_A ;
    }
}

Verilog変換例

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

 Licensed to :EVALUATION USER:
*/

module TTL_74245_TypeB ( p_reset , m_clock , Port_A , Port_B , DIR , nOE );
  input p_reset, m_clock;
inout [7:0] Port_A;
inout [7:0] Port_B;
  input DIR;
  input nOE;
  wire output_AtoB;
  wire output_BtoA;
  wire _net_0;
  wire _net_1;

   assign  output_AtoB = _net_0&(~_net_1);
   assign  output_BtoA = _net_0&_net_1;
   assign  _net_0 = ~nOE;
   assign  _net_1 = ~DIR;
   assign  Port_A = (output_AtoB)? ((output_AtoB)?Port_B:8'bZ):8'bz;
   assign  Port_B = (output_BtoA)? ((output_BtoA)?Port_A:8'bZ):8'bz;
endmodule
/*
 Produced by NSL Core, IP ARCH, Inc. Fri Jun 04 17:56:11 2010

 Licensed to
*/
PAGE TOP