v2.2 COREGen Aurora  –  Standard_cc_module产生的WARN_CC周期对于最大长度的UFC消息而言太短-Altera-Intel社区-FPGA CPLD-ChipDebug

v2.2 COREGen Aurora – Standard_cc_module产生的WARN_CC周期对于最大长度的UFC消息而言太短

问题描述

一般问题描述:

Standard_cc_module产生的WARN_CC周期对于最大长度的UFC消息而言太短。如果使用UFC消息并且使用standard_cc_module生成WARN_CC和DO_CC,则会发生这种情况。

解决/修复方法

要解决此问题,必须进行以下更改以防止在DO_CC事件附近请求长UFC消息时可能发生的UFC / CC冲突。

1.在standard_cc_module中找到prepare_count_r寄存器的声明并添加2位:

例如,

reg [0:7] prepare_count_r; ===> reg [0:9] prepare_count_r;

signal prepare_count_r:std_logic_vector(0到7):=“00000000”; ===> signal prepare_count_r:std_logic_vector(0到9):=“0000000000”;

2.更改prepare_count_r的移位寄存器代码:

一世。找到代码中分配了prepare_count_r的行。

例如。单个2字节通道VHDL

– 对于1车道,我们需要8个周期的计数。

处理(以user_clk)

开始

if(USER_CLK’event和USER_CLK =’1’)然后

在DLY之后,prepare_count_r <=(cc_idle_count_done_c&prepare_count_r(0到6));

万一;

结束过程;

例如,单个2字节通道Verilog

//对于仿真,将准备计数初始化为全零以仿真SRL16

//配置完成后电路也将工作的是init值包括

// 那些。

初始

prepare_count_r = 8’b00000000;

//对于1个泳道,我们需要8个循环计数。

总是@(posedge USER_CLK)

prepare_count_r <=`DLY {cc_idle_count_done_c,prepare_count_r [0:6]};

II。根据Pg上提供的表格更改使用的计数。 “COREGen Aurora用户指南”第91页:( http://www.xilinx.com/aurora/aurora_member/ug061.pdf)。如果使用

Verilog,也将初始语句更改为10位。

3.找到prepare_count_r(7)或prepare_count_r [7]的每个实例,并分别替换为VHDL和Verilog的prepare_count_r(9)或prepare_count_r [9]。

请登录后发表评论

    没有回复内容