機能
8ビット双方向バスx2ポートの機能コード.標準TTL74245のNSL記述版
信号機能
Port_A = 8ビット双方向バス
Port_B = 8ビット双方向バス
DIR = 転送方向.1のときはAポートからBポートへ,0のときはBポートからAポートへ
nOE = 出力イネーブル.0のときにDIRの要求に応じた信号伝達.1のときはHi-Z
記述特徴
any{・・・}のなかで,nOEとDIRの状態の組合せによって,信号の伝達を行います.
NSL合成ツールは,inout宣言された出力信号に対する制御が**行われていない**時(未使用時)には,Hi-Zにするコードを生成します.
備考
記述量が最も少ない.Verilog HDL/VHDLにおけるネット記述と同等
NSL記述例
/* ************************************************************ */
declare TTL_74245_TypeC {
inout Port_A[8] ;
inout Port_B[8] ;
input DIR ; // Direction. 0 = Port B -> A, 1 = PortA -> PortB
input nOE ;
}
/* ************************************************************ */
module TTL_74245_TypeC {
/* Equation for biridection pin */
{
if ( ~nOE ) {
any {
~DIR : Port_B = Port_A ;
else : Port_A = Port_B ;
}
}
}
}
Verilog変換例
/*
Produced by NSL Core, IP ARCH, Inc. Fri Jun 04 17:56:16 2010
Licensed to :EVALUATION USER:
*/
module TTL_74245_TypeC ( 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 _net_0;
wire _net_1;
assign _net_0 = ~nOE;
assign _net_1 = ~DIR;
assign Port_A = (_net_0&(~_net_1))? ((_net_0&(~_net_1))?Port_B:8'bZ):8'bz;
assign Port_B = (_net_0&_net_1)? ((_net_0&_net_1)?Port_A:8'bZ):8'bz;
endmodule
/*
Produced by NSL Core, IP ARCH, Inc. Fri Jun 04 17:56:16 2010
Licensed to
*/