描述
CPRI核心的版本6.1与最新的收发器设置一起发布。但是,请确保在ARTIX-7 FPGA的设计咨询主回答记录中有详细的更新。(赛灵思解答51456)已被应用。
解决方案
TX同步控制器改变
(赛灵思解答55009)描述对CPRI核心6.1版本中不存在的相位对齐实现的所需更改。因此,使用GTP收发器的设计必须遵循以下步骤。
步骤1
用户应该首先在核心生成器工具中打开7系列FPGA收发器向导核心的版本2.5,并生成具有协议模板设置为CPRI的核心。在生成之后,用户应该将GTMZZARADV2V5XTXMUAL ALPHEAL SealEngReal.VHD文件从GTWZADARV2V2Y5/Excel设计目录复制到CPRI核心的Excel设计/GTPY和TycLe/GTP目录中。该文件以及其中存在的实体和体系结构应重命名为lt;此外,GTHZADARV2VY55SycCyBoo.VHD和GTwitZADARV2VY5SycCyPulk文件应该被复制并添加到ISE项目或实现和仿真脚本文件中。
步骤2
然后,用户应该在CPRI核心包装文件中包含手动TX相位对齐块。要做到这一点,请编辑CPRI核心文件ExpRePuthDealth/Gtpl和yCl//lt;
删除CPRIV6VY1LXTXYSCONC组件,并将其替换为手动相位对齐文件的组件声明:
组件&名称;
γ(α数)α(α):整数范围1至32:=4;
第0~31:=0
;
γ-端口(StaseLyCalth-Y.S.Y.A)
在StdyLogic中,α,β,α,β,α,β,β;
在StdyLogic中,α、β、β、α、β、α、β、α、β、β、β、α、β、β、β、β、β、β、β、β、β等;
第0阶段;
第二类:TXDLYSSERADE,α,β,α,α,α,α,β,α,α,β,α,β,β,TXDLysRead;
α,β,α,β,β0;
α,β,α,α,α,α,β,α,β,α,β,α,β,α,β,α,β,α,β,α,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β
α,β,α,β,β0;
(0):(S=)(其他=gt;0′);
α,β,α,β,β0;
(0):(S=)(其他=gt;0′)
第二类;
端部元件;
步骤3
相位对齐块(TXY-SycCII)的实例化也应该改变。要做到这一点,L&ClultTyNo.GTY和O.Clord.VHD文件的标题为“TX缓冲区旁路逻辑”的部分应改为:
------------------TX缓冲区旁路逻辑----------------------------------------------------------------------------------------------------------------------------------
TX同步模块驱动绕过TX缓冲器所需的端口。
如果你绕过TX缓冲区,在你自己的设计中包含TX同步模块。
(0);
α~(1);
γ-噻嗪酮,β-噻吩唑啉;
γ- TXSCONCYNEX-Y.A,β,α,β;
(1);
TyxSycCiI: &组件名称No.TXSYNC
α-泛型映射
α(α数),α=>1;
M.Smith-LaeeSuix[Y]=>0
第二)
β-端口映射
(α)
一个稳定的时钟,即:
第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第二、第四、第二、第二、第二、第二、第二、第二、第二、第四、第二、第二、第二、第二、第二、第四、第二、第二、第四、第二、第二、第二、第二、
一种新的方法。
α-α-π~(Ⅳ)的配位
TydLySeRead、TyxDysStRead、TyxSysReSead、TyxDysReSeTest-VEC、
TyxDysReStEtdo-To,S.
TypHiNIT-A,β,α,β,α,β,β,β,β,β,
TypHiNITONTH.E.
Tythangang-yx~(?)
γ-x~(2+)-TxPluldodo-S.
Tydlayn,β,α,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β
②
TxdLysRead,γ,α,π,π;
TxdLysReTeDeNeE-VEC(0)<= TxDysReSeTeTo;
(0);
(0);
TxpHealdoeNeVEC(0)α<
(0);
TxPHINITONEY-VEC(0)α<
{ ReSeTypPlord&lt;=不(TXY-ClkYOK和TXRESETON);
更改在标题为“RX缓冲区旁路逻辑”的部分结束。
步骤4
下面的信号应该在文件中声明:
信号txdysReSeTeVeC.Vix.V.E.S.(0下降到0);
信号txdLysReTeNeDeNeVECα:STdLogLogic向量(0下降到0);
信号TxPHINITITIVEC(EXYL):SdLogLogic向量(0下降到0);
信号TxPHINITONEY-VECα和α:STdLogLogic向量(0下降到0);
信号txPixOrthixVeC.1,StdLogLogic向量(0下降到0);
信号txPieldEnEnVIEC**:STdLogLogic向量(0下降到0);
信号TxdLyEnE-VEC,α,β,(0下降到0);
信号相位校准,即:STDYLogic;
信号恢复对准,即:StdLogic;
步骤5
最后,在该文件中,应该将相位对齐块的完成输出添加到TXY-SycCyrST信号的生成中:
TXYSycCyrrt<=不(Txl Clksik OK和TxReSeTeTo和PrimeEI对齐完成);
步骤6
完成更改(赛灵思解答55009)TXSCONCYOVRD收发器参数应设置为1。这是在Excel设计的/GTPL和TyCl/GTP/&LT;组件名No.V7HGTZZARD.VHD文件中设置的:
TxSycCyvOrddIn中的一个
复位顺序改变
(赛灵思解答53561)描述使用GTP收发器进行设计的接收器复位过程的更改。这些变化不存在于CPRI核心的版本6.1中。建议客户升级到2013.1发布的CPRI核心版本7。
如果不可能升级到版本7,可以将所需的更改添加到版本6.1的GTP设计中,通过将下面的步骤中描述的建议状态机添加到Excel设计/GTPY和OA时钟//LT;
步骤1
首先,在Excel中设计了以下几行:GTPL和TyCl//lt;
gtxtxRead & lt=(RSTY-CONTUTHONE)和(复位或GTyReSeTeLeReq或Ro(RXPLLKDET))或RealDoKyRead;
gtxrxRealth&lt;=(RSTY-CONTUTHONE)和(复位或GTyReSeTeLeReq或Ro(RXPLLKDET))或RealDoKyRead;
应用以下代码替换:
gtxtxRead & lt=(RSTY-CONTUTHONE)和(复位或GTyReSeTeReqQui或Ro(RXPLLKDET))或WestDoKyRead;
gtxrxReSeTeTi和lt=(RSTY-CONTUTHONE)和(复位或GTyReSeTeLeqQui i或Ro(RxPLLKDET))或WestDoKyRead;
-同步复位信号到状态机时钟
RxSysCyReSeTySycCyrSmii I: &组件名称No.gt;
端口映射图
γ-Reestein in=Gt;GTXRXRESETIⅠ,
第二,
GyxRxReSeTyr
②
-将RxpMASReTeTo信号同步到状态机时钟
γ-域
RxpMaReStEndoeSycCyrSmil I:L.组件名称No.G.;
端口映射图
α,β=g=;
第二,
复位,复位,
α=β=gt;
-状态机响应于执行内部数据宽度变化
-用户重置
ReTeTySuxeYSM:过程(AuxiCLK)
开始
然后,如果上升沿(AuxiCLK)
如果是(重置=1),那么
第二个状态是空闲的;
另一个
一类格的状态
当空闲=>
γ,γ,β,0′;
(0);
(7)0)和(t=0);
α~(0);
α,α,β,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,β′,α′,β′,β′,α′,β
α,α,α,β,α,β,α,β,β,β0;
如果是(GtxRxReSeTyr==1),那么
α、α、β、α、β、α、β、α、β、β等;
如果是;
当WaiTaFixStultSmith= & Gt;
如果是(SmithLoad=0),那么
α,α,β,α,α,β,β;
第二个“1”;
如果是;
当读写11==gt;
γ,γ,β,1′;
第二、7、0、0;
α,α,α,β′,α′,β′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,α
α,α,α,β0;
第二种状态:
当WaiaFi1111RyRDY=Gt;
α,α,α,β′,α′,β′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,α
α,α,α,β0;
如果是(GTyDrydihan==1),那么
α,α,β,β,β;
α,α,β,α,α,β,β;
如果是;
当写11= >
α,α,α,β′,α′,β′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,α
α,α,α,β1;
11,保持Rx1数据宽度
第15、14和010;
第二种状态:
当WaiTi Fur1111yRDy=Gt;
α,α,α,β′,α′,β′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,α
α,α,α,β0;
如果是(GTyDrydihan==1),那么
α,α,α,β,β;
如果是;
当Waij-FuxGtxRxReSeTeIIILUL= & GT;
α,α,α,β′,α′,β′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,α
α,α,α,β0;
如果是(GtxRxReSeTyr==0),那么
γ,γ,α,β,0′;
一个高的;
如果是;
当WaiaFixPaReSeTeDeNeHy= & Gt;
α,α,α,β′,α′,β′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,α
α,α,α,β0;
如果是(RxpMaReTeNeNeR==1′),那么
α,α,α,α,β,β;
如果是;
当WaiaFixPaMeReTeDeNeO-Ly= & Gt;
α,α,α,β′,α′,β′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,α
α,α,α,β0;
如果是(RxpMaReTeNeNeR==0′),那么
α,α,β,α,α,β,β;
如果是;
当读数11S2=>
第二、7、0、0;
α,α,α,β′,α′,β′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,α
α,α,α,β0;
α,β,α,α,β,β;
当WaiaFi1111Rydiy2= & Gt;
α,α,α,β′,α′,β′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,α
α,α,α,β0;
如果是(GTyDrydihan==1),那么
α,α,β,β,β;
α,α,α,α,β,α,β,β;
如果是;
当写11112=gt;
α,α,α,β′,α′,β′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,α
α,α,α,β1;
11,保持Rx1数据宽度
第15、14和011;
α,β,α,α,α,β;
当WaiTi Fo.1111rDyr2= & Gt;
α,α,α,β′,α′,β′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,β′,α′,α
α,α,α,β0;
如果是(GTyDrydihan==1),那么
α、α、β、β=惰性;
如果是;
最后一个例子;
如果结束;
如果结束;
结束过程;
将多路输入信号一起输入多路复用器
当GeTyNeNehanChneleGTP,l.l.lt;=ReSeTydn当ReStEsSmithTHOLL=“1”GTYDENY信道时;
当GeTydWehannEngEngpTpα-l.l.l.lt;= ReSeTydDE当ReStEnSmithHOLL=“1”,否则GTydWey信道;
当GeTydSmithHuy=1’GTGDI时,GTydiIGTP,γ,α,π,β;
GTyDADDRGGTP(7下降到0)& lt=ReSeTyDADDR(7下降到0),当ReSeTySmithLoad=“1”时,GTyDADDR(7下降到0);
GTydDADRGTGTP(8),α,α,π,β=GTyDADDR(8);
步骤2
需要在文件中声明以下信号和组件:
信号GTXrxReSeTexi(Ⅱ):STDyLogic;
信号GTXrxReSeTeRex1,StdLogic;
信号rxpMaReStEndo.A.Y.Y.A,StdLogic;
信号RXPMASReTeDeNeNeRe~(α):STDYLogic;
型TyStATEYREST是(空闲的,WaITY-FuxStultSmithSM,
另一种方法是:Waiga Fur1111RyRDY,WaWiTi Fur1111yRDY,
α,α,β,β,β,α,β,β,β,β,β,β,β,β,β,β
高,
α,β,β,α,β,β,β,β,β,β,β,β,β,β,β,β,β,β,
WithaFur1111RyRydi2,WrITY-11RrRydi2,WrITYA 11112,
α、α、β、β、β2;
信号恢复状态:TyStATEYReSET: =空闲;
②信号ReStEsSmithHythix.1:STDYLogic;
信号ReETeTdAdDr.1,StdLogLogic向量(7下降到0);
信号恢复的第二类:STDYLogic;
信号ReTeTydEW.Y.Y.A;
信号恢复,即:StdLogLogic向量(15下降到0);
信号恢复数据,即:StdLogLogic向量(15下降到0);
信号GTYNDEN信道NGTP:STDYLogic;
信号GTydWeeChhanel-GTP:STDYLogic;
信号GTYDIIGTP(α):SdLogLogic向量(15下降到0);
信号GTydDADRGTPG*Y.*:STdLogLogic向量(8下降到0);
信号GTyReSeTeLeqQuix*:STDYLogic;
“组件”与“组件”
第二端口
第二类:
在StdyLogic中;
γ-重置:在STdyLogic中;
在StdyLogic中;
端部成分;
步骤3
新的状态机需要使用来自收发器的RXPMALSETEONT信号。这应该从收发器包装文件中路由出来。
RXPMASRESTHOTE信号是GTPL和TyCl/GTP/LT组件中的收发器的输出。这应该被路由出这个文件,并通过GTPL和X时钟/ GTP/LT;该输出从GTPL和TyCls/GTP/LT;ClultTyNo.G./V.7GGZZARD.VHD文件然后连接到RXPMALSeTeTrON信号中。
步骤4
状态机使用DRP总线在复位序列期间设置收发器。这与状态机发生冲突,以在速度变化操作期间改变收发器设置。为了在2个状态机之间进行适当的仲裁,需要进行以下更改。
在GTPL和TyCl//lt;StultNo.No.gt;更改SypHyStReTyr信号,使其由复位状态机复位:
-小状态机来设置收发器中的RXCDRYCFG设置
这取决于链路运行的线路速率。
首先检测速度变化。
加速过程:过程(UpjyCLK)
开始
然后,如果上升沿(AuxiCLK)
如果是ReTestSmithHOLL=“0”,则重置
SuffySmithSelpTytR&lt;
如果结束;
如果结束;
结束过程速度变化;
步骤5
SturySwiteSeaSM状态机应该改变,以便在新的复位状态机繁忙时重置它。搜索SypLySochange进程,并将重置从
如果(重置=“1”)
到:
如果(RESET=‘1’或ReStEySmithHOLL=‘1’)
步骤6
应该生成一个新的GTyReStETi信号。将下面的代码添加到GTPL和TyCl//lt;
GTyReSeTyReqSmith:过程(AuxiCLK)
开始
然后,如果上升沿(AuxiCLK)
如果(重置=‘1’或RESETIMSM占线=‘1’’),则
G.TyReSeTeLeqQui&lt;=“0”;
另一个
Syth-SmithStand的一个例子
当闲=>gtyReSeTeLeqQui&lt;=‘0’;
当WaiaFiMyMcMyDeClkkrRDy=Gt;
如果是(MMCMrDrpDrDy=‘1’),那么
(1);
如果是;
当别人= >
(0);
最后一个例子;
如果结束;
如果结束;
结束过程;
步骤7
来自2个状态机的多路复用输出信号应该路由到收发器包装器。名为“通道动态重构端口(DRP)”的文件的部分应改为:
信道动态重构端口(DRP)----------------------------------------------------------------------------------------------------------------------
G.0TrpDADRDyA在α,β,β,β,α,β,β,β,β,γ,β,β,γ,β,γ,β,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,π
G.00DrpClkgin,α,β,β,α,β,α,β,β,γ,γ,β,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,π
γ-G~(2+)-G~(0)-Drpdii~(Ⅱ):
G.0TrpDodoOxEuthoGuang-DrpdooOut-X.P.
γ-G~(2+)-G~(0-)
G.0TrdyDylOut-Exo.[2],β,β,
G.0TrpWeWixinα,α,β,β,α,β,α,β,β,β,γ,γ,β,β,γ,γ,γ,β,β,γ,γ,γ,β,β,γ,γ,γ,β,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,γ,π
步骤8
要完成对该文件的更改,新状态机的繁忙输出应该路由到CDR锁计数器、DRPY-ARBGNGT和GTYDADDR信号的生成:
------------------------RX缓冲器旁路逻辑--------------------------------------------------------------------------------------------------------------------------------------------
α- RX同步模块驱动绕过RX缓冲器所需的端口。
-如果RX缓冲区被绕过,在您自己的设计中包含RX同步模块。
-等待CDR被锁定以启动RX相位对齐
当x(rPrPrPisith-GtxReSeTest-ExpUpUp= 1)时,r xxcDrLogixTime*ll&lt=y“00010000000000”,否则“10011100010000”;
进程(AuxiCLK,ReStEffSmith-繁忙,GTXRXRead)
开始
如果是(gtxrxRead=‘1’或ReStIsSmithLoad=‘1’),那么
α,α,α,α,α,α,α,α,α,α,α,α,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β0;
然后,EXYLCK'事件和AuxiCl k=1′
如果是(RxA cDRCHOLION计数器和lt;=RXA CCDROCKYTIME)
α,α,β,β=1;
第二、第二、第二、第二章
α,α,β,α,α,α,α,α,α,α,β,β,α,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,β,
如果是;
如果是;
结束过程;
当DRP准备就绪时,向内核发送一个赠款
{DrpPARBGNGT&LT;=DRPY-ARBY-Req,而不是(Smith-忙碌)而不是(ReSeTySmithHOLL);
-当我们访问桶移位时,DRP地址高位设置
GTyDADDR(8)<=“1”(GTyDrpDADDR(7下降到0)=x“50”)
另一个是“0”和“0”,另一个是“0”;
步骤9
用户应该增加CPRI设计中的CPRI看门狗定时器的超时时间,以及TycNo./lt;由于复位序列的长度现在较长,所以它可能在完成低线速率时超时。
当前代码假定125MHz辅助时钟用于驱动看门狗定时器。计时器是一个20位计数器,在大约4ms之后给出超时。建议计数器增加到24位以给出一个64毫秒的超时时间。
步骤10
除了以上所需的更改之外,还必须为基于GTP的内核正确设置以下属性:
PMAYRSv2= X000 02040(GTP通道)
BiasyCFG= x“00000000000 50001”(GTP通用)
应该注意的是,SimuGtRestEtSupUpUpUp参数必须设置为“false”,以便对修改后的设计进行正确的仿真。
没有回复内容