AR# 8788

C_IP4 COREGEN: DA_FIR_V1_0: Warning! Port sizes differ in port connection (port 4) [Verilog-PCDPC]

説明

キーワード: Distributed Arithmetic FIR Filter, Verilog

重要度 : 重要

概要:

Virtex デバイスを使った CORE Generator の DA FIR Filter で Verilog のビヘイビア シミュレーションを実行中、次のようなエラーが表示される:

"Warning! Port sizes differ in port connection (port 4) [Verilog-PCDPC] "top_dafir.v", 111: DIN"

このような警告は通常、インターコネクトしたモジュールのインターフェイス ポートの接続上の問題から起こるエラーですが、ここでは CORE Generator DA FIR モジュールでカスタム パラメータの順序が VEO テンプレート ファイルに送り込まれるという問題も考えられます。この 2 つ目の問題が原因の場合、VEO テンプレート ファイルのモジュール宣言セクションに送り込まれたパラメータの一部が不正な場所に置かれます。

つまり Verilog の 3 番目と 5 番目のパラメータ C_COEFF_WIDTH および C_DATA_WIDTH が、VEO ファイルで 4 番目および 6 番目のパラメータとして送り込まれます。その結果 3 番目および 4 番目のパラメータは 5 番目および 6 番目と入れ替わります。

ソリューション

次は VEO ファイルのパラメータ リストで、値が送り込まれるビヘイビア モデルのパラメータを示しています。// はコメント マーカーです。

// synopsys translate_off

C_DA_FIR_V1_0 #(
1, // C_BAAT
1, // C_CHANNELS
0, // C_COEFF_WIDTH parameter #3
16, // C_COEFF_TYPE parameter #4
0, // C_DATA_WIDTH parameter #5
10, // C_DATA_TYPE parameter #6
0, // C_ENABLE_RLOCS
0, // C_FILTER_
...

また次の例では、データ タイプ Signed および Unsigned の定義もモデルで宣言しています。

`define c_signed 0 // for c_data_type
`define c_unsigned 1


VEO パラメータの設定を決定するには、XCO ファイルで生成したコアに対応する設定を確認します。各コアの XCO はプロジェクト ディレクトリにあります。

# Xilinx CORE Generator 2.1i
# Username = karlton
# COREGenPath = h:\f2_1i\coregen
# ProjectPath = H:\f2_1i\Active\projects\testvir
# ExpandedProjectPath = H:\f2_1i\Active\projects\testvir
SET BusFormat = BusFormatAngleBracket
SET SimulationOutputProducts = VHDL Verilog
SET ViewlogicLibraryAlias = "karlton"
SET XilinxFamily = Virtex
SET DesignFlow = VHDL
SET FlowVendor = Synopsys
SELECT Distributed_Arithmetic_FIR_Filter Virtex Xilinx,_Inc. 1.0
CSET coefficient_file = H:\f2_1i\coregen\data\vsdafir.coe
CSET coefficient_data_type = signed <-------------------------------------
CSET number_of_taps = 10
CSET register_output = FALSE
CSET optimize_coefficients = TRUE
CSET component_name = vsdafir
CSET zero_packing_factor = 2
CSET impulse_response = non_symmetric
CSET number_of_channels = 1
CSET filter_type = single_rate_fir
CSET coefficient_width = 16 <-----------------------------------
CSET input_data_width = 10 <-------------------------------------
CSET input_data_type = signed <-------------------------------------

生成

これに基づき、VEO テンプレート ファイルの関連行を次のように修正します。COEFF_WIDTH は 16 に、COEFF_TYPE は 0 (Signed) に、C_DATA_WIDTH は 10 に、C_DATA_TYPE は 0 (Signed) に設定します。

C_DA_FIR_V1_0 #(
1, // C_BAAT
1, // C_CHANNELS
16, // C_COEFF_WIDTH parameter #3 - corresponds to CSET coefficient_data_width=10
0, // C_COEFF_TYPE parameter #4 -- corresponds to SIGNED data type for coefficients -
10, // C_DATA_WIDTH parameter #5 -- corresponds to CSET input_data_width = 16
0, // C_DATA_TYPE paramepter #6 -- corresponds to CSET input_data_type = signed
AR# 8788
日付 09/10/2008
ステータス アーカイブ
種類 一般