用于PCI Express的Endpoint Block Plus Wrapper v1.9  – 对于GTX(FXT / TXT),turn_off_upper_lanes Perl脚本不正确-Altera-Intel社区-FPGA CPLD-ChipDebug

用于PCI Express的Endpoint Block Plus Wrapper v1.9 – 对于GTX(FXT / TXT),turn_off_upper_lanes Perl脚本不正确

问题描述

已知问题:v1.9,v1.8

对于使用提供的下游端口的VHDL x8 Core仿真,需要perl脚本来修改生成的仿真模型,以使其与提供的核心兼容。该脚本修改仿真网表并关闭四个上部通道(GTX4和GTX6)的SIM_RECEIVER_DETECT_PASS0(1)。

问题是它正在寻找GTP_DUAL实例而不是GTX_DUAL实例;对于GTX,它是SIM_RECEIVER_DETECT_PASS_0而不是SIM_RECEIVER_DETECT_PASS0。

正确的脚本如下。

注意:您必须将生成的文件名放在“<文件名>”的位置。这是在CORE Generator GUI中输入的核心名称。

解决/修复方法

#此脚本的目的是解决在何时发生的仿真问题

#使用VHDL x8 pcie_blk_plus内核和x4下游

与示例测试平台一起提供的#port。这个脚本很糟糕

#x8 endpoint_blk_plus_v1_8​​fx.vhd核心网表并关闭SIM_RECEIVER_DETECT_PASS0(1)

#为四个上层车道(GTX4和GTX6)。这是必需的,以便x4

#downder port将与x8核心一起正确仿真。这个

#scrip仅用于x8核心配置,仅用于VHDL

# 流。该文件的输出是<core name> .. vhd。原本的

#source文件<核心名称> .. vhd保持不变。打算的客户

#仿真x8 VHDL pcie_blk_plus核心用他们自己的x8 downtream端口应该使用

#original source file <core name> .vhd并且不应该使用此脚本来生成

#一个修改过的核心网表。

$ infile =’../../../ <核心名称> .vhd’;

$ outfile =’../../../ <核心名称> .. vhd’;

打开(INFILE,$ infile);

打开(OUTFILE,“> $ outfile”);

@lines = <INFILE>;

关闭(INFILE);

$ GTX4_found = 0;

$ GTX6_found = 0;

foreach $ _(@lines)

{

if(/ GTD_4_GT_i:GTX_DUAL /){

print OUTFILE $ _;

$ GTX4_found = 1;

}

elsif(($ GTX4_found == 1)&&(/ SIM_RECEIVER_DETECT_PASS_0 /)){

S / TRUE / FALSE /;

print OUTFILE $ _;

}

elsif(($ GTX4_found == 1)&&(/ SIM_RECEIVER_DETECT_PASS_1 /)){

S / TRUE / FALSE /;

print OUTFILE $ _;

}

elsif(($ GTX4_found == 1)&&(/ port map /)){

print OUTFILE $ _;

$ GTX4_found = 0;

}

elsif(/ GTD_6_GT_i:GTX_DUAL /){

print OUTFILE $ _;

$ GTX6_found = 1;

}

elsif(($ GTX6_found == 1)&&(/ SIM_RECEIVER_DETECT_PASS_0 /)){

S / TRUE / FALSE /;

print OUTFILE $ _;

}

elsif(($ GTX6_found == 1)&&(/ SIM_RECEIVER_DETECT_PASS_1 /)){

S / TRUE / FALSE /;

print OUTFILE $ _;

}

elsif(($ GTX6_found == 1)&&(/ port map /)){

print OUTFILE $ _;

$ GTX6_found = 0;

}

其他{

print OUTFILE $ _;

}

}

关闭(OUTFILE);

修订记录

2008年9月9日 – 初步发布

请登录后发表评论

    没有回复内容