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# 50734

MIG 7 シリーズ DDR3 - ロジックのレベルが追加されると、コンフィギュレーションによってはタイミング エラーになることがある

説明

問題のあるバージョン : v1.6
修正されたバージョンやその他の既知の問題 : (ザイリンクス アンサー 45195) を参照してください。


メモリ コンフィギュレーションによっては、コントローラー パス内にロジック レベルが追加されるとタイミング エラーになることがあります。

ソリューション


MIG デザインのコントローラー ロジック内でタイミング エラーが発生している場合は、bank_state.v モジュールを次の方法で変更する必要があります。

もとのコード

// register output data pre-fifo almost full condition and fold in WR status

reg ofs_wr_rdy = 1'b0;

always @(posedge clk)

if(rst)

ofs_wr_rdy <= #TCQ 1'b0;

else

ofs_wr_rdy <= #TCQ ~(phy_mc_data_full && ~rd_wr_r);

wire ofs_rdy =

~phy_mc_cmd_full && ~phy_mc_ctl_full && ofs_wr_rdy;

// Disable priority feature for one state after a config to insure

// forward progress on the just installed io config.

reg override_demand_r;

wire override_demand_ns = rnk_config_strobe || rnk_config_kill_rts_col;

always @(posedge clk) override_demand_r <= override_demand_ns;

output wire rts_col;

assign rts_col = ~sending_col && (demand_ok || override_demand_r) &&

col_cmd_rts && ofs_rdy;

変更後のコード

// Register ctl_full and cmd_full

reg phy_mc_ctl_full_r = 1'b0;

reg phy_mc_cmd_full_r = 1'b0;

always @(posedge clk)

if(rst) begin

phy_mc_ctl_full_r <= #TCQ 1'b0;

phy_mc_cmd_full_r <= #TCQ 1'b0;

end else begin

phy_mc_ctl_full_r <= #TCQ phy_mc_ctl_full;

phy_mc_cmd_full_r <= #TCQ phy_mc_cmd_full;

end

// register output data pre-fifo almost full condition and fold in WR status

reg ofs_rdy_r = 1'b0;

always @(posedge clk)

if(rst)

ofs_rdy_r <= #TCQ 1'b0;

else

ofs_rdy_r <= #TCQ ~phy_mc_cmd_full_r && ~phy_mc_ctl_full_r && ~(phy_mc_data_full && ~rd_wr_r);

// Disable priority feature for one state after a config to insure

// forward progress on the just installed io config.

reg override_demand_r;

wire override_demand_ns = rnk_config_strobe || rnk_config_kill_rts_col;

always @(posedge clk) override_demand_r <= override_demand_ns;

output wire rts_col

assign rts_col = ~sending_col && (demand_ok || override_demand_r) &&

col_cmd_rts && ofs_rdy_r;

改訂履歴
2012/07/25 - 初版
AR# 50734
日付 01/16/2013
ステータス アクティブ
種類 既知の問題
デバイス
  • Kintex-7
IP
  • MIG 7 Series
このページをブックマークに追加