Code Monkey home page Code Monkey logo

tnoc's Introduction

Network on Chip Implementation Written in SystemVerilog

Overview

This is a Network on Chip (NoC) Router/Fabric implementation written in SystemVerilog. It has following features.

  • 2-D mesh network
  • Dimension order routing (X-Y routing)
  • Flow control
    • Wormhole (FLIT based) flow control
    • Virtual channel flow control
    • On/Off Flow control
  • Configurable design
    • Packet format
    • Mesh size
    • FIFO size
    • etc.
  • Support standard bus protocol
    • AMBA AXI4

Details

TBW

Contact

If you have any problems, questions, ideas, etc., you can post them on the following ways.

  1. Issue Tracker
  2. Chat Room
  3. Mail

Copyright

Copyright (c) 2017-2018 Taichi Ishitani. See LICENSE for further details.

tnoc's People

Contributors

taichi-ishitani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tnoc's Issues

FLIT 幅の決定方法の変更

FLIT 幅の決め方を変える。
現在、header 全体の幅か、payload の幅の大きい方を FLIT の幅にしている。
これを、header の共通部分の幅か、payload の幅の大きい方を FLIT の幅にする。
これに伴い、FLIT 構造体 (noc_flit) に、先頭の FLIT であることを示す、head フィールドを追加する。

読み出しインターリーブをサポートする

AXI は読み出しインターリーブをサポートしているので、これをサポートする。
レスポンスパケットのペイロードに、末尾のレスポンスかどうかを示すフィールドを追加する。

burst_length のフォーマット変更

burst_length のフォーマットを変更する。
現状、burst_length は、単なる、binary になっているが、PCIe のように、

  • burst_length 幅
    • BURST_LENGTH_WIDTH = $clog2(MAX_BURSTS)
  • burst_length = 0 の場合
    • 2**BURST_LENGTH_WIDTH を示す
  • 上記以外
    • そのまま

とする。

また、現状、burst_length 幅を Config で設定するようになっているが、最大バースト長で設定するように変更する。

AXI ブリッジを転送サイズのフィールド変更に対応させる

AXI ブリッジを #51 に対応させる。
AXI のリードデータチャンネルには、転送サイズを示すフィールドはない。
なので、ブリッジ内で、

  • 要求パケットから、転送サイズを取り出して保持
  • byte_count/byte_offset を管理

する必要がある。

これを保持するバッファが必要になるが、パラメータで保持する値を指定する。
バッファのインデックスは、

  • location_id/tag の幅が ID 幅より小さい場合
    • location_id/tag そのもの
  • location_id/tag の幅が ID 幅より大きい場合
    • location_id/tag から CRC を計算し、その上位ビット

とする。インデックスがリクエストの ID となる。

tnoc_packet_packer/unpacker でヘッダーフリットの扱いに不整合がある

1 フリットに収まらないヘッダーがある場合、tnoc_packet_packer/unpacker でヘッダーフリット扱いに不整合があり、フリットからパケットを再現できない場合がある。以下のコマンドで再現できる。

$ cd sim/router_data_width_64
$ make tnoc_router_invalid_destination_test

上記の環境場合、レスポンスヘッダーは 1 フリットに収まるが、当該モジュールでは 2 フリットで構成されている前提で処理されてしまう。
パケットの種類によって、フリット数を切り替えてやる必要がある。

ローカル側インターフェース仕様変更

ローカル側インターフェースの仕様を変更する。
現状、flit を VC 間で共有しているが、これを配列にして分離する。

  • tnoc_flit_if の変更点
    • ローカルか、内部接続用のインターフェースかを識別するパラメータを追加する
    • flit を配列化し、要素数を以下のようにする
      • ローカル用の場合は、VC 分
      • 内部接続用の場合は、1
    • 他のモジュールも、この変更に合わせて、適宜変更する

Error-[NYI-CSTR-SYS-FTC] NYI constraint: sys function calls

Hello !
After I git clone it,I execute the script "./setup_submodules.sh" in the root directory.When I do "make",it has errors.Details as follows:
[gzl@gzl tnoc]$ cd sim
[gzl@gzl sim]$ ls
axi_adapter_data_width_16 fabric_data_width_64_vc_2
axi_adapter_data_width_256 makefile
axi_adapter_data_width_64 router_data_width_256_vc_1
common router_data_width_256_vc_2
fabric_data_width_256_vc_1 router_data_width_32_vc_1
fabric_data_width_256_vc_2 router_data_width_32_vc_2
fabric_data_width_32_vc_1 router_data_width_64_vc_1
fabric_data_width_32_vc_2 router_data_width_64_vc_2
fabric_data_width_64_vc_1
[gzl@gzl sim]$ make
make -C fabric_data_width_256_vc_1 SIMULATOR=vcs
make[1]: Entering directory /home/gzl/uvm/tnoc/sim/fabric_data_width_256_vc_1' make run_simv TEST_NAME=tnoc_fabric_sample_test make[2]: Entering directory /home/gzl/uvm/tnoc/sim/fabric_data_width_256_vc_1'
if [ ! -f simv ] ; then
make compile_simv ;
fi
make[3]: Entering directory `/home/gzl/uvm/tnoc/sim/fabric_data_width_256_vc_1'
vcs -full64 -sverilog -timescale="1ns/1ps" -l vcs.log -ntb_opts uvm-1.2 +define+UVM_NO_DEPRECATED +define+UVM_OBJECT_MUST_HAVE_CONSTRUCTO -top top -f /home/gzl/uvm/tnoc/rtl/bcm/compile.f -f /home/gzl/uvm/tnoc/rtl/common/compile.f -f /home/gzl/uvm/tnoc/rtl/router/compile.f -f /home/gzl/uvm/tnoc/rtl/fabric/compile.f -f /home/gzl/uvm/tnoc/env/tue/compile.f -f /home/gzl/uvm/tnoc/env/bfm/compile.f -f /home/gzl/uvm/tnoc/env/common/compile.f -f /home/gzl/uvm/tnoc/env/fabric/compile.f -f /home/gzl/uvm/tnoc/test/fabric/compile.f /home/gzl/uvm/tnoc/env/fabric/top.sv +define+TNOC_FABRIC_ENV_DATA_WIDTH=256 +define+TNOC_ROUTER_ENV_VIRTUAL_CHANNELS=1
Chronologic VCS (TM)
Version L-2016.06_Full64 -- Mon Jul 13 10:39:13 2020
Copyright (c) 1991-2016 by Synopsys Inc.
ALL RIGHTS RESERVED

This program is proprietary and confidential information of Synopsys Inc.
and may be used and disclosed only as authorized in a license agreement
controlling such use and disclosure.

Parsing design file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_pkg.sv'
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_version_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_global_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_message_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_phase_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_object_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_printer_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_tlm_defines.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm_imps.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_tlm_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_sequence_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_callback_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_reg_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/macros/uvm_deprecated_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_pkg.sv'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dpi/uvm_dpi.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dpi/uvm_hdl.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dpi/uvm_dpi.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dpi/uvm_svcmd_dpi.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dpi/uvm_dpi.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dpi/uvm_regex.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dpi/uvm_dpi.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_pkg.sv'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_coreservice.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_version.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_object_globals.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_misc.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_object.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_pool.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_queue.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_factory.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_registry.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_spell_chkr.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_resource.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_resource_specializations.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_resource_db.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_config_db.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_printer.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_comparer.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_packer.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_links.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_tr_database.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_tr_stream.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_recorder.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_event_callback.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_event.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_barrier.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_callback.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_callback.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_report_message.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_report_catcher.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_report_server.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_report_handler.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_report_object.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_transaction.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_phase.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_domain.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_bottomup_phase.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_topdown_phase.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_task_phase.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_common_phases.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_runtime_phases.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_component.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_root.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_component.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_objection.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_heartbeat.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_globals.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_cmdline_processor.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_traversal.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_base.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_pkg.sv'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dap/uvm_dap.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dap/uvm_set_get_dap_base.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dap/uvm_dap.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dap/uvm_simple_lock_dap.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dap/uvm_dap.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dap/uvm_get_to_lock_dap.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dap/uvm_dap.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dap/uvm_set_before_get_dap.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/dap/uvm_dap.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_pkg.sv'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm_ifs.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_sqr_ifs.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/base/uvm_port_base.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm_imps.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_imps.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_ports.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_exports.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_analysis_port.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm_fifo_base.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm_fifos.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm_req_rsp.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_sqr_connections.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm1/uvm_tlm.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_pkg.sv'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_pair.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_policies.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_in_order_comparator.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_algorithmic_comparator.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_random_stimulus.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_subscriber.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_monitor.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_driver.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_push_driver.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_scoreboard.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_agent.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_env.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_test.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/comps/uvm_comps.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_pkg.sv'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_seq.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_sequence_item.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_seq.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_sequencer_base.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_seq.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_sequencer_analysis_fifo.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_seq.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_sequencer_param_base.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_seq.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_sequencer.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_seq.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_push_sequencer.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_seq.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_sequence_base.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_seq.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_sequence.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_seq.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_sequence_library.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_seq.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_sequence_builtin.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/seq/uvm_seq.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_pkg.sv'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2_defines.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2_time.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2_generic_payload.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2_ifs.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2_imps.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2_ports.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2_exports.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2_sockets_base.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2_sockets.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/tlm2/uvm_tlm2.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_pkg.sv'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_item.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_adapter.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_predictor.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_sequence.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_cbs.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_backdoor.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_field.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_vreg_field.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_indirect.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_fifo.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_file.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_mem_mam.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_vreg.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_mem.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_map.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_block.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/sequences/uvm_reg_hw_reset_seq.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/sequences/uvm_reg_bit_bash_seq.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/sequences/uvm_mem_walk_seq.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/sequences/uvm_mem_access_seq.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/sequences/uvm_reg_access_seq.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/sequences/uvm_reg_mem_shared_access_seq.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/sequences/uvm_reg_mem_built_in_seq.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/sequences/uvm_reg_mem_hdl_paths_seq.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/snps_uvm_reg_bank.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/reg/uvm_reg_model.svh'.
Back to file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_pkg.sv'.
Parsing design file '/home/gzl/uvm/tnoc/rtl/bcm/tbcm_counter.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/bcm/tbcm_fifo.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/bcm/tbcm_mux.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/bcm/tbcm_demux.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/bcm/tbcm_selector.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/bcm/tbcm_onehot.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/bcm/tbcm_round_robin_arbiter.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/bcm/tbcm_crc_pkg.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/bcm/tbcm_crc.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_pkg.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_types.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_utils.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_flit_if.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_flit_if_connector.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_flit_if_dummy_receiver.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_flit_if_dummy_receiver_array.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_flit_if_dummy_sender.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_flit_if_dummy_sender_array.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_flit_if_mux.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_flit_if_demux.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_flit_if_fifo.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_flit_if_slicer.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_vc_arbiter.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_vc_splitter.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_vc_mux.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_packet_if.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_packet_serializer.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_packet_deserializer.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/common/tnoc_address_decoder_if.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_port_control_if.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_port_controller_local.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_port_controller_internal.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_input_fifo.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_error_checker.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_vc_merger.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_route_selector.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_input_block.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_input_block_dummy.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_output_switch.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_output_block.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_output_block_dummy.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_if_transposer.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/router/tnoc_router.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/fabric/tnoc_dummy_node.sv'
Parsing design file '/home/gzl/uvm/tnoc/rtl/fabric/tnoc_fabric.sv'
Parsing design file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/tue_macros.svh'.
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_macros.svh'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/macros/tue_version_defines.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_macros.svh'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/macros/tue_object_defines.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_macros.svh'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/macros/tue_sequence_defines.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_macros.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/base/tue_version.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/base/tue_globals.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/base/tue_fifo.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/base/tue_configuration.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/base/tue_status.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/base/tue_check_type.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/base/tue_object_base.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/base/tue_component_base.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/base/tue_component_proxy.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/base/tue_component.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_subscriber.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_item_waiter.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_monitor.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_driver.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_scoreboard.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_agent.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_env.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_test.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/seq/tue_sequence_item_base.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/seq/tue_sequence_item.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/seq/tue_sequence_base.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/seq/tue_sequence.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/seq/tue_sequencer.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/seq/tue_sequence_item_dispatcher.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_param_monitor.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_param_agent.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/seq/tue_reactive_sequencer.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/seq/tue_reactive_sequence.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_reactive_monitor.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/comps/tue_reactive_agent.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/reg/tue_reg_cbs.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/reg/tue_reg_field.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/reg/tue_reg.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/reg/tue_reg_block.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/reg/tue_reg_map.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/reg/tue_reg_item.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/reg/tue_reg_predictor.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/reg/sequences/tue_reg_sequence_base.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/reg/sequences/tue_reg_hw_reset_seq.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/reg/sequences/tue_reg_bit_bash_seq.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/reg/sequences/tue_reg_access_seq.svh'.
Back to file '/home/gzl/uvm/tnoc/env/tue/src/tue_pkg.sv'.
Parsing design file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_types_pkg.sv'
Parsing design file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_flit_if.sv'
Parsing design file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/tue_macros.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_configuration.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_status.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_utils.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_flit_item.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_packet_item.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_component_base.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_packet_vc_monitor.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_packet_vc_sequencer.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_packet_vc_driver.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_packet_vc_agent.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_packet_dispatcher.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_packet_sequencer.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_packet_agent.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_sequence_base.svh'.
Back to file '/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_pkg.sv'.
Parsing design file '/home/gzl/uvm/tnoc/env/common/tnoc_common_env_pkg.sv'
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Back to file '/home/gzl/uvm/tnoc/env/common/tnoc_common_env_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/tue_macros.svh'.
Back to file '/home/gzl/uvm/tnoc/env/common/tnoc_common_env_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/common/tnoc_common_utilities.svh'.
Back to file '/home/gzl/uvm/tnoc/env/common/tnoc_common_env_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/common/tnoc_packet_scoreboard.svh'.
Back to file '/home/gzl/uvm/tnoc/env/common/tnoc_common_env_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/common/tnoc_model_base.svh'.
Back to file '/home/gzl/uvm/tnoc/env/common/tnoc_common_env_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/common/tnoc_sequence_base.svh'.
Back to file '/home/gzl/uvm/tnoc/env/common/tnoc_common_env_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/common/tnoc_test_base.svh'.
Back to file '/home/gzl/uvm/tnoc/env/common/tnoc_common_env_pkg.sv'.
Parsing design file '/home/gzl/uvm/tnoc/env/common/tnoc_bfm_flit_if_connector.sv'
Parsing design file '/home/gzl/uvm/tnoc/env/fabric/tnoc_fabric_env_pkg.sv'
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Back to file '/home/gzl/uvm/tnoc/env/fabric/tnoc_fabric_env_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/tue_macros.svh'.
Back to file '/home/gzl/uvm/tnoc/env/fabric/tnoc_fabric_env_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/fabric/tnoc_fabric_env_configuration.svh'.
Back to file '/home/gzl/uvm/tnoc/env/fabric/tnoc_fabric_env_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/fabric/tnoc_fabric_env_model.svh'.
Back to file '/home/gzl/uvm/tnoc/env/fabric/tnoc_fabric_env_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/fabric/tnoc_fabric_env_sequencer.svh'.
Back to file '/home/gzl/uvm/tnoc/env/fabric/tnoc_fabric_env_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/fabric/tnoc_fabric_env.svh'.
Back to file '/home/gzl/uvm/tnoc/env/fabric/tnoc_fabric_env_pkg.sv'.
Parsing design file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_tests_pkg.sv'
Parsing included file '/opt/synopsys/vcs-mx_vL-2016.06/etc/uvm-1.2/uvm_macros.svh'.
Back to file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_tests_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/env/tue/src/tue_macros.svh'.
Back to file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_tests_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_test_base.svh'.
Back to file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_tests_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_sample_test.svh'.
Back to file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_tests_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_invalid_destination_test.svh'.
Back to file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_tests_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_stress_access_test.svh'.
Back to file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_tests_pkg.sv'.
Parsing included file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_random_test.svh'.
Back to file '/home/gzl/uvm/tnoc/test/fabric/tnoc_fabric_tests_pkg.sv'.
Parsing design file '/home/gzl/uvm/tnoc/env/fabric/top.sv'
Top Level Modules:
top

Warning-[UII-L] Interface not instantiated
/home/gzl/uvm/tnoc/rtl/bcm/tbcm_crc.sv, 1
Interface 'tbcm_crc' defined in logic library 'work' is never instantiated
in design. It will be ignored.

Warning-[UII-L] Interface not instantiated
/home/gzl/uvm/tnoc/rtl/common/tnoc_address_decoder_if.sv, 3
Interface 'tnoc_address_decoder_if' defined in logic library 'work' is never
instantiated in design. It will be ignored.

TimeScale is 1 ns / 1 ps

Error-[NYI-CSTR-SYS-FTC] NYI constraint: sys function calls
/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_configuration.svh, 54
tnoc_bfm_pkg, "$clog2(this.virtual_channels)"
System function calls are not yet implemented in constraints.
Remove the function call or if possible replace it with an integral state
variable assigned in pre_randomize().

Error-[NYI-CSTR-SYS-FTC] NYI constraint: sys function calls
/home/gzl/uvm/tnoc/env/bfm/tnoc_bfm_configuration.svh, 64
tnoc_bfm_pkg, "$clog2(this.tags)"
System function calls are not yet implemented in constraints.
Remove the function call or if possible replace it with an integral state
variable assigned in pre_randomize().

2 warnings
2 errors
CPU time: 24.083 seconds to compile
make[3]: *** [compile_simv] Error 255
make[3]: Leaving directory /home/gzl/uvm/tnoc/sim/fabric_data_width_256_vc_1' make[2]: *** [run_simv] Error 2 make[2]: Leaving directory /home/gzl/uvm/tnoc/sim/fabric_data_width_256_vc_1'
make[1]: *** [tnoc_fabric_sample_test] Error 2
make[1]: Leaving directory `/home/gzl/uvm/tnoc/sim/fabric_data_width_256_vc_1'
make: *** [simulation_fabric_data_width_256_vc_1] Error 2
[gzl@gzl sim]$

Do you know why? Thank you for your reply!

転送サイズを示すフィールドの変更

転送サイズを示すフィールドを変更する。
バス幅変換をしやすくするため。

  • 要求
    • burst_length を byte_length に変更
      • 単位はバス幅ではなく、バイトに変更
  • 応答
    • byte_size を追加(ヘッダー)
      • 要求で来た値をそのまま返す
    • byte_offset を追加(ヘッダー)
      • バス上でどの位置から始まるかを示す
      • アドレスの下位ビット相当
      • 幅は全体で共通で、最大データ幅から求める
    • byte_end を追加 (ペイロード)
      • バスの終端位置を示す
      • 最終フリット上の end_byte が有効
      • 幅はデータ幅から求める
    • ステータスの変更
      • ExOkay/Slave Error/Decode Error をビット単位に変更する
        • バス幅を減らす際に、ステータスは OR を取れば良い

PH_TIMEOUT error is reported

The test below reprots PH_TIMEOUT error.

  • Test Name: fabric_data_width_32_vc_1/tnoc_fabric_random_test
  • Random Seed: 1908132033
  • Simulator: VCS P-2019.06

パケットフォーマットの変更

AXI での使用を考慮し、パケットのフォーマットを変更する。

  • length を廃止し、burst_size と burst_length に分ける
    • Request Header に編入する
  • burst_type を Request Header に導入する
    • Fixed Burst
    • Incremental Burst
    • Wrapping Burst
  • Response Header から以下のフィールドを削除する
    • Lower Address
    • Last Response

ドキュメントを書く

Readme などドキュメントを書く。

  • 概要
  • packet/flit のフォーマット
  • router の詳細
    • ブロック図
    • インターフェース

パケット用の interface を定義する

tnoc_packet を送受信するための interface を定義する。
また、パケットからフリット、フリットからパケットに変換するモジュールも作成する。

tnoc example testbench

hi taichi-ishitani ,
I'm appreciate for the Repo of tnoc. I use the vcs could regress all testcase in tnoc and view the waveform in verdi .

My question : use a 3 master to 4 slave axi port innterconnect as DUT , but i don't know how to connect the tnoc axi adapter , fabric and router as the DUT .

If the tnoc have a example of  connect the 3 parts , it's good for learner. Thank you very much!

BR,
Yuanchao

NOC TB presentation

Hi @taichi-ishitani ,

I'm trying to understand your NOC TB here, it would be great help if you can have a presentation on this. I have already gone through your work " rggen " which was awesome and impressive, trying to understand this NOC TB the same way. If you have a presentation explaining how this works and it's structure..It will be great.

Thanks !

ディレクトリ構成の変更

rtl 内のディレクトリ構成を変更する。

  • config ディレクトリを作成
    • 以下のファイルを配置
      • tnoc_config_pkg.sv
      • tnoc_config_defines.svh (tnoc_defines.svh から改称)
  • include ディレクトリを削除
    • 中のファイルは rtl/common に移動

読み出しデータにもステータスを乗せる

AXI など読み出しデータにステータスが乗ってくるプロトコルにも対応しやすくするために、各読み出しデータにもスタータスを乗せるようにする。
ヘッダーに乗っているステータスと、読み出しデータに載っているステータスが異なる場合の挙動は、アダプターの実装依存とする。
(ヘッダーのステータスがエラーで読み出しデータのステータスがエラーでない場合、ヘッダーのステータスを優先するほうが良いかもしれない。)

不正な宛先のパケットの処理

不正な宛先のパケットの処理を実装する。
実装するポートはローカルポートのみ。

  • posted write
    • 破棄
    • レスポンスは返さない
  • non-posted write
    • 破棄
    • ステータスを DECODE ERROR として、レスポンスを返す
      • リクエストが使った VC を使ってレスポンスを返す
  • read
    • 破棄
    • ステータスを DECODE ERROR として、レスポンスを返す
      • リクエストが使った VC を使ってレスポンスを返す
    • リクエスト分のダミーデータを返す
      • データはコンフィグで指定する
    • バース長が 0 の場合は、データなしのレスポンスを返す
  • response
    • 破棄

packet_item と flit_item の直接変換

packet_item と flit_item の変換には flit 構造体を介して行っている。
直接変換できるようにして、パフォーマンスの改善をはかる。

ファブリック生成スクリプトを作る

ファブリック生成スクリプトを作る。
以下の項目を設定し、

  • 共通項目
    • プロジェクト名
    • データ幅
    • アドレス幅
    • タグ数
    • 最大バースト長
    • 入力 FIFO サイズ
    • エラーデータ
  • マスターノード
    • プロトコル
    • ファブリック内での位置
  • スレーブノード
    • プロトコル
    • ファブリック内での位置
    • アドレス
      • 開始アドレス
      • サイズ

以下の項目を自動生成する。

  • コンフィグパラメータ (tnoc_config) を収めた SystemVerilog Package
  • RTL
    • アドレスデコーダ (アドレス -> ファブリック内位置情報)
    • ファブリック

router 内 flit 接続の変更

router 内の input/output block の flit 接続には、各ルート用のポートが使用されている。
記述簡略化のため、ポートを配列に変更する。

VC 1 の場合のシミュレーションを実行する

VC 1 の場合のシミュレーションを実行する。
以下の対応が必要。

  • tnoc_bfm_packet_item/tnoc_bfm_transmit_packet_sequence の修正
    • packet_item と virtual_channel を紐づけている制約の削除
    • 別途、configuration で対応付けできるようにしておく
  • makefile の修正
    • 特定のテストを実行しないようにする

Xcelium 対応

VCS 用の実行環境しかないので、 Xcelium 用の実行環境も作成する。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.