UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 20433

7.1i XST - 「ERROR:Xst:872 - "file.v" line xx: Unsupported target.」というエラー メッセージが表示される

説明

キーワード : ISE, HDL, ,Verilog, index, vector, part, select, 指標, ベクタ, パーツ, セレクト

重要度 : 標準

概要 :
「ERROR:Xst:872 - "file.v" line xx: Unsupported target.」というエラー メッセージが表示されます。

このメッセージは、ポート マップでレジスタまたはワイヤの割り当てがサポートされないことを示します。

ソリューション

1

「index vector part select」を使用すると、上記のようなエラー メッセージが表示されます。

module top (clk, idx, byte_inp, byte_out);
input clk, idx;
input [1:0] byte_inp;
output [1:0] byte_out;

reg [0 :3] vec ;

assign byte_out = vec[2*idx +: 1]; //ERROR:Xst:850

always @(posedge clk)
vec[2*idx +: 1] <= byte_inp ; //ERROR:Xst:872

endmodule


上記の例を使用して、「index vector part select」を記述しないでコードを書き直すことができます。

例 1 :

module top (clk, idx, byte_inp, byte_out);
input clk, idx;
input [1:0] byte_inp;
output [1:0] byte_out;

reg [3:0] vec ;

assign byte_out = vec >> 2*idx ;
always @(posedge clk) begin
vec = byte_inp << 2*idx ;
end

endmodule

例 2 :

module top (clk, idx, byte_inp, byte_out);
input clk, idx;
input [1:0] byte_inp;
output [1:0] byte_out;

reg [3:0] vec ;

assign byte_out = idx ? vec[3:2]:vec[2:1];

always @(posedge clk)
begin
case (idx)
1'b0 : vec[1:0] <= byte_inp ;
default : vec[3:2] <= byte_inp ;
endcase
end

2

ポート マップ中に出力ポートが間違って定数値に接続されると、上記のようなエラー メッセージが表示されます。

my_mod DUT(
...
.OUTPUTPORT(8'b00000000),
...
);

次のように出力ポートを信号に接続するか、

my_mod DUT(
...
.OUTPUTPORT(my_sig),
...
);


または、オープンにしておきます。

my_mod DUT(
...
.OUTPUTPORT(),
...
);
AR# 20433
日付 02/13/2012
ステータス アーカイブ
種類 一般
このページをブックマークに追加