描述
找到版本: v1.6
已解决的版本和其他已知问题:请参阅(Xilinx答复45195) 。
如果在控制器路径中添加了额外的逻辑级别,则某些内存配置可能会失败。
解
如果在MIG设计的控制器逻辑中发生时序故障,则应以下列方式修改bank_state.v模块:
原始代码
//注册输出数据pre-fifo几乎满状态并折叠WR状态
reg ofs_wr_rdy = 1’b0;
永远@(posedge clk)
如果(RST)
ofs_wr_rdy <= #TCQ 1’b0;
其他
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;
//在配置确保后,禁用一个状态的优先级功能
//在刚安装的io配置上转发进度。
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;
输出线rts_col;
assign rts_col = ~sending_col &&(demand_ok || override_demand_r)&&
col_cmd_rts && ofs_rdy;
修改代码
//注册ctl_full和cmd_full
reg phy_mc_ctl_full_r = 1’b0;
reg phy_mc_cmd_full_r = 1’b0;
永远@(posedge clk)
如果(rst)开始
phy_mc_ctl_full_r <= #TCQ 1’b0;
phy_mc_cmd_full_r <= #TCQ 1’b0;
结束其他开始
phy_mc_ctl_full_r <= #TCQ phy_mc_ctl_full;
phy_mc_cmd_full_r <= #TCQ phy_mc_cmd_full;
结束
//注册输出数据pre-fifo几乎满状态并折叠WR状态
reg ofs_rdy_r = 1’b0;
永远@(posedge clk)
如果(RST)
ofs_rdy_r <= #TCQ 1’b0;
其他
ofs_rdy_r <= #TCQ~phy_mc_cmd_full_r &&~phy_mc_ctl_full_r &&〜(phy_mc_data_full &&〜rd_wr_r);
//在配置确保后,禁用一个状态的优先级功能
//在刚安装的io配置上转发进度。
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;
输出线rts_col
assign rts_col = ~sending_col &&(demand_ok || override_demand_r)&&
col_cmd_rts && ofs_rdy_r;
修订记录
07/25/2012 – 初始版本
没有回复内容