From f59b1e9c15e37c75489bcc0c6a415b0e697becf7 Mon Sep 17 00:00:00 2001 From: Mike Walters Date: Mon, 20 Jan 2020 17:20:21 +0000 Subject: [PATCH] cpld/sgpio_debug: Add TX/RX counters to check SGPIO For RX, this replaces received samples with an 8-bit incrementing counter. This allows for identification of any dropped or repeated samples across the SGPIO interface. For TX, this compares transmitted samples against another 8-bit incrementing counter, and raises pin B2AUX1 if they don't match. This should be used with a tool on the host-side that transmits a matching counter. --- firmware/cpld/sgpio_debug/default.xsvf | Bin 37629 -> 37629 bytes firmware/cpld/sgpio_debug/top.jed | 530 ++++++++++++------------- firmware/cpld/sgpio_debug/top.ucf | 2 + firmware/cpld/sgpio_debug/top.vhd | 26 +- 4 files changed, 284 insertions(+), 274 deletions(-) diff --git a/firmware/cpld/sgpio_debug/default.xsvf b/firmware/cpld/sgpio_debug/default.xsvf index f9a2e3503b56cbadaeb1d23caff04682bd00ad35..c7362e05769cd08d2170bab3e09269ed80abe68b 100644 GIT binary patch literal 37629 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 literal 37629 zcmeI5UyL199mmhPw{-7X!jijXneXYI`Hk~S zcsTQL@67C--+q3-@A*4(e)mp^S+QFT#ZdMJav+45mow@`wL|ZTY4h^_-!8t?8z}u( z_wemmeZ{-8VtB=HX4o6{hnEd^&h6Z(uh>1D8V-hXPD&w9{?hr|>Cy}X8PCZ)A} zr%&?tTG!vLf7b2M{1y8OzKmwHnNWMJL%S6aXRF0LaV>O?bcs;YsdcH(yhN@@42Ew%O@R4GAYia?+IBHG=_r zkC6J0Q_@h3Qk3)s?9s*>r}FV+Ic!dnwaU2Oqxmb|xnN&C*4NkV(foaTY2V&&->udX zwYH+v@&xD8B!A_jM&C*ewRQaXnti-R^!MSj|FIobTkjut%F84n`6~`AC@22^ufGS} z`N9_JK`YO%Z)kVzI+r9`7i%N>`-hFcylP#o%gd&7NF6`_q^!UBO${i2G=E=k<2StT!{rz3H{t6ZHR~;dZch&leqX675PNqrrj@9eGV_hH6?hlF4xu;wUNv*ji zmgfh~oO0};zqI>Ti@N@9yV0I6$Z<8k@|z|4`(~)T5bN*DL4RrO)yv)bE3fI;-#y*> zE9U&F+Gk1ity_E5v;4MC_w`fp{K5EpyVGR}Q_?I)&`+$hB?h~*Tk+zsd2BwEecN&W z{&a)S^nPFATN?Ak+Kntg_JQS#{g-b7s(dR zOgnOvgAHUi^3R>>*|ca#~)5zf2j1CYMRi-f{C zB}orsPXN*lyhx64HJbF$BizHxNRDs@VsVtBm>09>Dc)b_MJk2MyAT-Pt3C)f;6RrtEk(6z(xzq?&NPwLlQ1&oCpo!eN{|ecWx$kPu3nZlu&MkUFH%srlQ@t2R5PTy zbLO~7yA%{Ic@B#AVP2%5aLG|Xx`P)fD4b_hxq}%gRO37y%1&OSpm3g1mM!3)OBDE3jDQ2V=!rjA*)JC|E@*=en?i0*NErk0nFH#%fj`Je55$;RO zNG*iBkryc_T!N#@AMzr#5$-N#q!z+m!Hd*JxR3B6^~8LlQeNZoLhf5Y4oFWh zBW-9H`{p35NyHlWSzaU&Ud9el`Xnz>)yL)QL7`p3rt*8dNWv{kqb5z|S9pBk3H!JnGm?(d*k%GG6t2&VWNO@Yo2QT4&x@2k))`q$P`pvNhj@`pjkB92Tq}*j zUCWDPYMdP;M8c+WUo)h(&*S>x3<+o|pJYY~Cs_c}Azmassx%32m)<-zuHhoaw!(>U zss}{rYThX68W+kI0i^qzB2Be=L|E(NdG6!?FEqbHbe4N znI_NUQsKtd)zG2f^1MfRk@Voi&P_E_%M}aIyME~aGm<-mb7;~7&w|)pyh!c@9Eo&_ z7nG$LUL@UAZohdR5gz14sxKA-K96vZ^CGno?j~NOHp1P`ixd=29f9IKVnzxlWdYJ6 zFH(4w7p|t*!;91pr-nh4=6I1rIJ*pxzQc=T`nYX3&r0T}nUTt;1D62vG?icAMS@Xf zoy^n6UC)aY77iDl9bralA>7w^k=h71#f#KNxXUhq)F2nI(bzj|2im2D4-1m{!eMGU zBK@m*=bSrB_3EDwBEjtn2(MoV)tQWc^*xCOI?aXBsv88Pn7F+Z~?9`<{Ea2)e9?dTNyRgEjo)ZRT~teBr!woBtYTAl^jF+a0b zlJuRs6EL8O`I#|46UvD`VfS(RFy?3af~4ww9DWFwhsOL&h?1v|i}{%lrI??oLjvo1 zV}2$S6y18C_nfp(t>bO7n4f6}DBX|wnK}$mqSX<=5aAU z6Qblvtd04Z5G7BIi}{%trB%2m5c4x3N}d`Q^D`kzo*EbPGcih7<6?d$MhWkn#QaRX z7IWf6%CjIl=4a|C)si7G1tR8W;#at0?n=zh^!&6AjF)15W|JBh^D{j^GX!NR=4WDA z!fdgapQ)p?;*JEckBj-4SeCGli}{&YmaxXf{7k2|nS%stT+GkJC}E9@`I(*{1cQ-4 z%+JKKGy_qJ`I*>y4ObC '0', others => '1'); end if;