From 7ceaab012650dba42056568afdb65442fe4c8b40 Mon Sep 17 00:00:00 2001 From: Gwenhael Goavec-Merou Date: Sun, 28 Nov 2021 16:50:13 +0100 Subject: [PATCH] spiOverJtag: add bitstream for ECP4CE15F23 --- doc/compatibility/board.rst | 2 +- spiOverJtag/Makefile | 2 +- spiOverJtag/build.py | 1 + spiOverJtag/spiOverJtag_ep4ce1523.rbf.gz | Bin 0 -> 19084 bytes src/board.hpp | 2 +- 5 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 spiOverJtag/spiOverJtag_ep4ce1523.rbf.gz diff --git a/doc/compatibility/board.rst b/doc/compatibility/board.rst index 0e1e106..50db9ce 100644 --- a/doc/compatibility/board.rst +++ b/doc/compatibility/board.rst @@ -49,7 +49,7 @@ Boards nexysVideo `Digilent Nexys Video `__ Artix xc7a200tsbg484 OK OK orangeCrab `Orange Crab `__ ECP5 LFE5U-25F-8MG285C OK (JTAG) OK (DFU) pipistrello `Saanlima Pipistrello LX45 `__ Spartan6 xc6slx45-csg324 OK OK - qmtechCycloneIV `QMTech CycloneIV Core Board `__ Cyclone IV EP4CE15F23C8N OK NT + qmtechCycloneIV `QMTech CycloneIV Core Board `__ Cyclone IV EP4CE15F23C8N OK OK qmtechCycloneV `QMTech CycloneV Core Board `__ Cyclone V 5CEFA2F23I7 OK OK runber `SeeedStudio Gowin RUNBER `__ littleBee GW1N-4 OK IF/EF runber `Scarab Hardware MiniSpartan6+ `__ Spartan6 xc6slx25-3-ftg256 OK NT diff --git a/spiOverJtag/Makefile b/spiOverJtag/Makefile index 05ccea8..5d8a464 100644 --- a/spiOverJtag/Makefile +++ b/spiOverJtag/Makefile @@ -4,7 +4,7 @@ XILINX_PARTS := xc6slx45csg324 xc6slx100fgg484 \ xc7s50csga324 XILINX_BIT_FILES := $(addsuffix .bit,$(addprefix spiOverJtag_, $(XILINX_PARTS))) -ALTERA_PARTS := 10cl025256 ep4ce2217 5ce223 5ce423 +ALTERA_PARTS := 10cl025256 ep4ce2217 ep4ce1523 5ce223 5ce423 ALTERA_BIT_FILES := $(addsuffix .rbf.gz, $(addprefix spiOverJtag_, $(ALTERA_PARTS))) BIT_FILES := $(ALTERA_BIT_FILES) $(XILINX_BIT_FILES) diff --git a/spiOverJtag/build.py b/spiOverJtag/build.py index 76ef944..40f9c2c 100755 --- a/spiOverJtag/build.py +++ b/spiOverJtag/build.py @@ -81,6 +81,7 @@ else: full_part = { "10cl025256": "10CL025YU256C8G", "ep4ce2217" : "EP4CE22F17C6", + "ep4ce1523" : "EP4CE15F23C8", "5ce223" : "5CEFA2F23I7", "5ce423" : "5CEBA4F23C8", "5cse423" : "5CSEMA4U23C6", diff --git a/spiOverJtag/spiOverJtag_ep4ce1523.rbf.gz b/spiOverJtag/spiOverJtag_ep4ce1523.rbf.gz new file mode 100644 index 0000000000000000000000000000000000000000..9b15a7a23fc24d44f3b720594131434c6aa8a3b5 GIT binary patch literal 19084 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%0AxRO-qCsnhs+r=Lg7QrP@E8Ywm8OV8i^ zFM<#Uv*>@{>;EQ_|H+j8@9zIEI)HA^%K9H08qc0KXS{BK+z*VMj-%9#7|ijFoYf0eGo}7bvb&!2xQ<`A* z&?Q@42sALPEt>R7z9Wd_dA6=Jh3n=q60r8s4K@zC&V-4Et-Iy+kmhlxG7L^U*wVAA z3fXS)$44IIxLqy^D53e6isMwP@?yF_saKWAJ2kOf*PrxI6{cExHfJ5`WOtfS>+}ehKyH;dB_O;EA^O%_< zP5Fv7Wlz%?xHl)A>sx=>v4D?qVoeqlboyo!YdM7?5xBSGya1F!>Fco^kA+{0l;p4O zD3jk#fu(D$>@?LYl%n2kH2g%YSQ4BG(bh*T5;Wa4v{-8vBAVECh%-AcYTQ`@;AOSy zj}3+M*?(@$zI+W)y@w2_bHMyuCMPt#&s3vaZVEc)Vnq0lo*?Luk#@`l`8Q@a+a0I) zjnlqO&m`9U>T!`B6_bxK${Z(xZM}Fjg>3D$EsOf^F=2ENJ-aXGX;Bt}QM+;5SfT42 z?B0*Q*W(S=80IMk*r=bmJENRORh4w&i>~cWRh7pJzZ6anhm)n;0+A6>L{->GZ+~RO z;}x<)`@Tl8`oY9g{N@ysl{L^v+-tsPWcJ?fuEn%-I)SxhUa+v1&9w7xYBY$chkmH^ zZ|XFK+D`9FFo_elml79^*(qlu^xU~h@Bf=PjZf!SKStFV=olH4?3AWAyp@AM0t?vK z@8vyy^)KJ?w}-C6HElIk;WkcTt$0Tcik;tMZf#~Rj~Ex8GE3yAdq75GM}r_$58)46 zkb_-M0RXfFB@Ul3mGQP8a*)vQNX?MMEPWZ!HsHOwN|FNdQTvY8?9!_<`2ru1P{MvC z2H9Rui7QtzWV0DcCoL(}eWz+5lsK_0|LxU#!47LO%`1nZZj*%_Mpj>X-@M_V3sOM; zs>vwu)L_I+Vz+%~#`T2|PasJ(0f7N8Fk#$1mF%^Vw-se4f*DIGpX*COx9OzsrlEkI z`x|o~hnCX0{KqW2ANY@l=<{Qo8~BX@m+w$5K_dmM`aX6f)_Mf zs1DZATyfQ~9@UIgDbo@GLz>n6#6)k(#h)dNULyuQtt)nuE8EG8>;U1_-Y($_rLd5Y zlt{HG8cUjdd6~R-8JX&&)T5Lg`;k6vrE+Eh4$P$h;^8ztwD+|SaLbc7L%LyV=lL*r z(f$kWh`HWTrVr}T4que`$wc4**B4)1wus5x-6mlaAg)q=qi!?l*&(2=VcJkre2k0mIMwIlU+; zgI66^#Zpt%IW0_|FSwajP>J}4!n9@1OiZjA0L5$f`;X2-Z!8jDDnA|JO!XUGMC(?% zvBrHfQ7gbGdYNPM0et{0bwpi$^bBBX!^H04zL%i8N8ipKG2;$B+=4$8{bJFpmK$pc z8$Beqd(4hB2o0PC4*6?Jx+ZnRGmIDM{bsf`d@WNxe3US5EPl`gI=H7NAC)2EyZz{5 zo)%ns@hM!ofTr^>Wuzrc*tcR_Yl?F~$z`Cp(Goy2y*DQN?LN#fk~?0pCtocTU-=6p z;bo&x@2FOJQfyy-5-SU#VKtE*n?JTv8RwYAFsPrch{qWh?K<1AKcR@;zh?fvpB!bd zg@4V8h0F7?{KH`hlmTC19WQxPUslx^^fEW-(m@t64NHNHiH779G4(dem30$6jKjCJ zfD#RfpJJPOkHLw?fv@Y&5;=>n$T#9ty!-EG?E^&V6SwMpX2A@KLN2+El~X#d9M49I zBvoyiUlpw%oombYBPEiRLzRli$?1|DzuGH2I}%(>=6nhS^2?IL*X$BJ2GQe>I_v7( zh0|s6l6hwcbV5rRNCjq;@Gb?rGz-UhU%ALL7oi3MxNm}Xfe;!Niw&>Zfc^SNxbI)8u(x}C$~rI>A%96HM}O994}8fRUQ-AOfs)*XNNO2O`-GFA6&R6 z-bTzJ%+2Mu;Rc?E>%-=n$;PitV_Jq^44S+xfV=20Ej~`=mQ2Yh+)rf686(pw*?&+D z)7ChBpNhlwOds3OOf;-bQ$L>H+drW&O&_$&j<1S2uCeI@QAa~`|9InvxYXx~DQqJJ;R09;gWJ7JZFUvQl=MuONM7>ZA!waoqP;@TY)(85-2cW(x!lu`Boi4Y$}PK5Ms=@@U7b7* z{z_`}_Td*?&F1oP3V`tDjN zz^i|azEWJCItO1_hBf6B^lSu8JGta?=&;? zQUO<_-fw;GhDiUkMNMwsXwz*vOl=SY)jh4>Fel(+*^>Ci8`ZtZe3Y`fcw$_i%uU`Z zM~)CU94z2I)oq6ts2=&uy5z{TMbno1)v3)1;&^LJu$sWwvE&jQBCFr73xjmC^Dlh5FrKDg=?Bac#o`)-6k4_HB@Hg5Mp@sXsD>+Fx7Q~h| zdEzl|X4mun1T-XQ1%ww(?nIib8@L)-$Smo6TQKn~tb|*!Kd9V^<0^0k5h}xE>v?~= z-%Ae<428u+s32MGVn8!s7#J{|ovgC4Bg!v)|3myJX^cg>IjUc}%#tOs+QSAqCux(_ zzdL`tNh%HP6R*J!1HL|TZ_}@an`&EOwsc2J8H(?*eWGww{W9w>9L&xI99)6Z+Hg z5(f0LjfGUB1jflS(z~@-9Gom^-0@hq2{{ik2BK?i-Daa)}fP)s2??~}~0>)@B3 z;Q5gd1IneX*gP6ZL9G12T1orOA9brPBJs^$ka9>wY*Za#GSDMaRgGiptTDT%7WlZbfNWjag# z43{ksmm?5X@kUPBT<1P;W1p#eNH((U{BoA3`6}^DU7gd|Bvd8id$2qeU4SLz2d;KE zLtk>50PVBpt4pPKQy-Lc2jQQ5*4t@7=?`oX<332woadkAAW2?1X=+4BLxDZ=x^2#4+N3F<9g}DN?3S%p(Chro)$Sf!AjCpxz4r8s z$8r)RSnCwqr+{G9@*Xi=cf8LerV02fA?!`nhT4l07egvv=kIR4vK`Mf^H92-QR zo!Ky{A6})U%3sFiM69xv5_eTFXdvRdTrn|VA4fQwwb)kV@d9aLhksK(ri{5q0as{Z zT$PiXla_bZv`n@jPV_K#J+^@-}kX0xq?Hssv8R1y44&#pE>kf#)#4vm(4}BTg z4|b;7ef2e64LC>$Y+?IAX0H4O>&>OhqPYEDcA2wU_=6zs{L53X1wH)fond`KCq2(B zO5@8nFdwU*!_jrxUxmda7c6#Ly{ywJtWQ|7HuMaa=mQ5RS8A&ZFFi9r%vx_MXI!rX zm|p7rSgtXSe$~73v7k&vM4!!ff%jo!Vum@)dxi0t zc^6)L$Y*72OxUay>~#iCR+?p#z`YgmX3hTWyCwV#lhvLf2DC`Vj&i9jGp$vI6dh~t zW-fJ$j43}aNsT^%#FQd1bt6=|}mzEx~N=jOvr9N*#LJ^$>_#ai~s zo7fVjeGHYN$ee(!Bxa4Db%WnXr*DyH&&$ z&C0V{G#K0E2|o;{z3{ah&I`&h{Fv9sgR_wY_K_PV%`WXry?)%WFH zZOLQW5yMm2GeB*C0XvFkzSN@#H)AI^-N}0fSA41~$_X=m8?OJmdmkoc>HH9HExEq`g^+OC^$Dk!QNj1qI z-J2L{x$BOw$<2nYF6}8TS$^0ebQ-7gdUxQN4Z@3Z!4|BGF}7_!YL!b8YfgPnV!2|W z)nUb!qVq|=rOq?^M@01RU6B!YWqVso7A8_gu6c=EzC!N-QHX8=w{oqh7}zw2soAN{ zulu;TN1kqbnto|TH^;R<8H!7d#&oYBXr94H=bYMophE9%HtF73!WG7xCM?9y-+`oO}d@#ftU%DGw=l75h zp{-HyWnF?p2N^M-pzb1ngE~;znTjE`{Px50y~E}-*sUVAd;;p>jo9wkhTT8qu;yvL zUYAsV+*F^{aEUZkS$UxFa;N^S^AJG4Yn;(BMHGM6-W?RkkB_bwuCONid>;Ea^(Z`g z$Ng7;C6W8qmO5vGKs+q@5u|QR9JTdNU*o9D=y?69%NhBeZrif5)F6m~!x&1^%E)A0 zOLjTDc|bkLU;Mi;Yp?g^AX~p_%LfCe%b^9IdBA2%8SFj2vRSOc&6`Ey!5HI~?N&LK z7@%hj5VGm#Oufw3AHAFqy7ve^h#$oQe2>fQ+f(XN{YBuy3YYXE{b9W+7dIi+Y&D2S zKFLb1+<=Y#hIoq*e{@QBn$kImxVd!eJK?2eM8c7~#EO;QxEpk^N1M!zJWf0dX7sMU zq;0(1E~kndjW_Kdm*zUIb_br0{Hu@A6+YEGbmJm zy;n!Wz;mflaA4Ek3UB;=hMc*++L%%9&i499;Wv<;rS;k@X_N8ZhkNO-%PwfS%Ri(-#;(U7;s>*tvX4hHMXp%>xmAz$~ zHIwDOmXMQ6=SlTU*H50!6S27`+Ru~^ zPgowW-q#(9d|3LXns2_X=4(kQY8gzOr^g**Z#FnHhRviQn&33C za+Q(nu&G72sc&T-jxyP>nplEZW>D2ixD}sG_shyb3=}TQ#2EumR-;3qcIh3&|13XA z9sk5?68Pf+pzZth_986O>1KPK6^DrWb|fqg1WWGl=T|FlJre`oFz@>NjNd?e1Y1E4 z@B{WK{iV>ITU0#R>p{FIRUqwVN`RC*Q9JNu%*=ZHFn*)=&~cY)b-O=}JA2K|_!9Qv zbYMLLp%(U`ToX`F(pQl`J4$5k3+L*$r2hPD?k1%c7YNJ`hjY&uT2wX8jDFo(AHYgD z=X|=@(mL<&6SMA8TZq^R7J6XV%9Yp;TfXGT5`E7Y_yRv|i|N7wo>7+D1+7U)3kA1H zmDScP4iP@BxT0yS4KYZ=<=`{DO6|Z$z26DD0m|;Dsa-AVKsWjtUCx{OqnO{G83}=g zyTX6=ZUYe#$!PD?Ck4@g0Dr%%iLA`fgp}?8Xjf-OIWEdX*}UTpKUq{|n51@>H&xHU zno|A8J)HA_2$80L{9>ZH=c3Q_RwrbK&8aiT@v>7;c2F`5=`0LnYP$C=5e&Vx_ZJPC z_d>FAt)7F`tHr}&<${hNUHav?`l=?pQA;i@J-qCJMYWcQlmN03#Hi}mSH zOa7dKt8fuqUMV?BemV)%%OA8Bn7uh60wJ=|s(BIUz`XnxG3=DX^z-Ylun!upsdfc3 zZW+lrk;#`+(wxfvOujBHi;Q3j$n#yt!m=UbD*&*I_oqoWj{!9~Y-Eq+d z);kLZU*p~LsX8Q#_AnlO816W?-1;*t0i3ToqX81n_Z8*6FxUa5AhD~VyN z0hUtqa7*b^Qs1JxEUJw$aDMDCQU%vH!{&3#j+0*e+yw1^t|s@$xdwl-sCUI6vNn6n z9bH}0#7ZXew8x;2YMCUQ=S!IL-U(5?bBn-TsESQoieoWUnf+NKfO&X}ZF2YUmesh8VL7gK z?gA;D(+lBTa*ZdNs5AFEO&w-;%UT9tA7DZc@6cKbr|&q942352-1%VA_ZGB`6c zUl!5xU&I$L8sjOa5nAb>LL_eKRAJT)C6AXF;;r-Q?)^qlbkn*9)8rz{JaG?wfxMJS zzJCPWWlU0E)=P{R03!%ea2C%TR9qy!%8-}fA$0aru5_(uhL7kg{xR?^{yDB0>I9kM z6fP!OdtSr8a-iQ&Gn8e^LEKF6=&T)n6@PF{lQAZBRO^ubau2G%{N-5VWk;n}Qby6w z^RjA_(WrhEl&UjRmq~(|f-tmeM zbB(nQnL=)y9^DAms&w%yMKjI;%kDTT;rix_sHffD1LL!3d=1;!kirp90xc{ma zi5PKTWR1dw4jkW#duF;nJ?tjEYQo-lR~+wsh8E=%pWQW^SIA~DCjx3J@|1Y*mG-9n z@bPNaZ)E*pEN97UoTPG`2_@#fE&HOHXlB>5bFrn=#I8KnGI8$S-2a;{vh_oK%5+eh zI)T!wokZETQ|(!yobRR8P0f5udkbV~V~ib@Q}D;;cA_H5pGxaI&R^Eq5gxDTebb{I z?ljoMeoj#c081}^PsBGY9GdwFZzcCnqwCTCe5-U!e8B};qb?Wt{8=?D`h_q{M?<>A z9O`Z{mLB@HQiShfY`uJHs=KXs06HosciCvt!)XPYgp|?B46ysg8W%w0EphadBo;An z2I?I7>1lyKxJ9=hYuRy&*oUmq#vJ8b%B@)r5I5OHwthipO>5>yHb}d=|X)d9A@r;Yf_&yc-(S@GxO-wHDVD9P!rr2e0>_G&F57P%@ zQJu)^FATWLm1*RkG)f1o(|hZ}b00i{%VS2A!@QP8HmRd2<&-OR$09+IQ#t z?FNI(oH1rH%MMIj>N0aNGk@&ZR^3Zl#!tzyVHbuu4;!mJiAjJ%3v_qxjo*7LZ#b^R zJ8ysWGQ_qAq}rT#!e9 zp?T;`X>Uicf!OUnf4;^!tE{2)efmR9;_C3rj{_Y+`({wawVUYf-~_=C@+y2Xms_nK z?=J6HhPWh&@U~WKsD4ui1H7P{{I@wm2vcZ35L*^x?z$SklCbS}jejo1i($r<8TluFi zwog~ayqJF@ywc-RhU2Vp6y~(Oxh+L_>SYb^5?~4)@NZ~I#f>5U-WvNQwW7|Fp`aIx zDk4N-6teFI1(PK%oPB_$i)R)X(;TSABrkPgt|k5vRjx^JDli#J)B+dv zC@(9uT12`#O{&iz1-TL8`y<6TuNQDNEHO@&B}=@h#D=+oPP9^fMb@mrQLsGSIwU3y!rqpqTKylWttqI}6TyV{_8YpCR3M+?3jy?`TaIjR!Be@!P{0!xbu#ilV8~?z|^GUa;Bk38(PWy|x`Nd;%O)NDb zwa{B}feu1!Ns{!T7d1P=h5P&vw7;{FvD{HE>wCm5NXdwXEgXa}vq-JuRVJ{5@NQ|u zfZZ;ZcaT5!iRc=XR8?h_CdKj`Kto&C{bCB4)doHGS3?pZ{DviF5835 zw9r$Jj1kKZhX77ni@MwHZ21q}1@ZcKy@e!Zs9~ej!ZFgPwfz?t_$NqZl$iy7bhQhj zOVnz(Lu&u}QS1pDZ?nQCdC3s_ln4{{5Fb}_>lHsJH}Uz$R9pN~ho-6bczlq&I4G7i z#!~@8egg;I`S^AWuejh)qi2dL5Crwm$y-%RwoHm?j-e}GPNjsoM(H9M9uWMkUFNC0 zE|zga+rE#?Yohocld2|3Y9wiHFYyGO%Ehjm7RjIuHD4}K-fI?VGhs)@{NS!2m|^eh z-+P|DsjaiG!EEeR)^}uw7mS;yDUh7?{Hw6<{DDPF8XvstYB4c4{5?(2lD5Q|FQ;%m z{Zgo5GQ(keh%YHuG{(eCBiIhXgB5;VY{X?&nTmZ&%HX1EWaQ^OtluE-Rx9>&nS7ga z?%9(yFdw)rJ*getJ4bHV8q>f_y8+K<;^AgpuZ6c+Esn&*&&M=etk8^80pTtok4 zDiBB-Hf?i;!m{@WYgQgYqYe%F;#J4A3=9}}u+COvRGR3jZHe8CzRsHzi!~poFS!3L zD+q6TRqqjc>b{~^5E@{AYzNd{!6E%qIZG`7BN+SNAC4U)dHM-R!x)8`1zs-f&tFd? zwf&rHEyeC&N2}AojWdYg?5+^Hb^by|3w1p;-4kvyqpNZ!jXu+HWjkrM$2P58^@^J# zo<_%2TKv@Bh%oOBV|6B)y(90Bk?Z;)SqV{ucIGgR+&kzW@OjEnDD?c@_pH{=GoH^> zq(+8E4HQ?4mJ*V|g)pC~7;T9k8RO#32Cr+NjjJ+3TuXvEE53*Li|Nbsx;}r(GPP4< z>WlwaJ^9|^*R!EmQdo4Yl{XCAt^3zMcS+j*De9S*Fv5^$TPZt)=>8U;qWKA^=>XPv z%B+u>$G=5gD5mg7HO*apAsnA&lc_g-7bj9XEL34}JojUPd)G=+8<{NXouMi}^y-Wa z+y8Tct5ae*u{wb|>s#J;`9E319VC7h+u0rXG&Q}?^kT6^SN%InR-T(3D$JU(HiIKr zRetV9bU?B`*hNF_LEk~KYvk%BE z`x4O>tutXgXA}F!g&X6s*@Us48~omExZ3Wa#DHSdTd|>;2uWWzmlbk{Mqx3b2q$r7 zlZl_a!4X)W-Ighu#2(x}6Y1|rsh+N}$F3!ZDs)uko7?64&AlZ->Et zjNE-(Rwo)TRss=dd|Am~W;TjxvwlgHY_*$QfiC*BN+~hdu5%uG?GFXnQ5zAHX9Ji-K!@P%zg0;@RmYi6>`N z7MiN+{(Mn^H4SvcG40r?16z?I`^+EfEG(7Gysz6raZ|$zWhb$N_APzmKJBUZC{Yrf zWFuvFCz!$`-&=0Q4q?r#Yq;z2x=}9Pu-VpIJg*%u1|BVyDB2Ik(4~^JKhDrs zrzr=(%Pa}OS96eFFP)5Cv~X3W_!gUphpXr)$W=j^_jIezujdo^D=ITYS3r4V1f>xg zx*l1@Gi}jnQ<%q=j1taaGn+@6aMx0_YKVCpGX^e}C(~|WDha8*ue)u9V~@7cLVa5q z*o8q5$XiE~!q5|gR7_=jL9)QXzjMLhy#qCAo_IeSQQtZ8?3nK*Ll;+exIA||mSBSi zmPnYkuW}i$v#WSB;+sHx{-0s;`31S!y{=#mO$MqGyDiA{-zt=-8CR>+aJ8AW22Z_Z zgo+V|Z91d~-Nw!^(#Ls2K_aisf9>_)K>w6h4ufR}Mb=fzK;69FV%z(7YcbbjxM9&m5t7m6eh+gTj z9E(Qrm@h1#F9xvF-_6VHU}oxqJ~TuCKmr5o8zD0n!O6QH<(f@cl? zFEO2cJfaT8d<>aJv?6!a?@yL>p2M8TkKb!+>w)3-pKIR;_i&JU`wvG^K2?LrMcxdJ zA9xM02WJfQSPt$fB^syHHg@Zo8}#s#~SUM%yF* za>8_cl^qh}X5l(vw$XWNjCIB+BJ%x+r%DUKKCdXJ@CQ8q4aK`=B zM#&%lMUv3a5b26&bF78#o%A1l=l<$?twSefrJ?oLOC@`LY0fQ>g-jL*Ke z(F&Qb)v$3SDW-agOVjFls71W?ALt$Zwcw={#_c1NFIG;`W=z(400GX8rEhzvYuSTD z6>~esXSIj!n; z9OqAJ@J+G5Y(XMSW!?KLZM5(44^(~Gga<$QMh5QZygump66AB#=#V(hZ|u#or`k8; zyqv%By8?}5eLJJgx^}d+e5IHr&~OgX_0;6JUnAE*sm#^r(kHp)D-1iZxXv|iE8z$O z(_XqB%s*9?GcAfh);!InF2}#+W+V%=#W*q)-?nQk^uv?5L}Q1BC&GQBzOum%?FRkp zNc2YPUaBy&?M#19kudD-8yoi#7+r86LfF(3}&H&Ll-N(RwwSR&W=+(MAEfQ59-4K+h2(8pY=MWdWs|RON zmY0!wJ4Ep>c4j{TLv(EIwq`jW92(Yw5i_-4&Z{j8Jd<&_tMa1muD5dHQ|JfT^`f4a z@H0Iu4u@6hFeQL<)_{6nr{pPdhZO6EIZjdnTMEzb(D9~8=0S!V zCT_*llL+UQkV{3$vDRHrQ?=`gU5F{TnNzErjRu`*@*4pH!^Rwud0fS@3EEYGT-0w5 zk+uBv>IA8-n;LKKxHqrn1qnARn1Xi@4+gST%i8OD;QQ@{ua`L&KQ?sBdw%lz{4|lh z$5M{wkMi1xxcgYratOblsFm3`GI9H;ru|QPWx%dNW598Zr$iwpjo;RpVjA-&vyoHH zk2kflRaihh7)V-smc`&bma6eQ$3*5lj+^bOD z%gir?f3U&AS%g0m}BS*=cxK*8s7G{+j5RU%dGvHWst2vfF zfi+>pOXtz|H}M;xX#}L|`g#~oLOVc{j7fIqKxDe_ zNfcK*p?K1C$l6)UIJft;gMremGDm`aHpBd|)aj4=9J)rA^J|NZQ^{zD`j zlBTt8L)oH5f^;-!)DuWOQ8ezrIel-6tq-nIrLG><3D1mw&4(Kq*8%LUa+z?Lw`Y1l zI9Y_eN2SN+uOo=#tL)OiQZ;Bd20+skVIw9LntC;!1DlT?K^4r{OEc_J%n+IEYR@pNrTXCk zO7$eE+qOI=-_373P)LZRa21!%8dB7z?WH+jOo3ESUYfngktZ01TwhQbBdtM>4xc8+ zfS#72t1Rpdzm~pYfFUUtTQxsh50$~aBmpWANyh4=-BJsMY=;Z}^aD4Gh_uqZ+98bT zi|;nZf;d;4GkANpvJ;zy4MdFL?UDV8JBO2onPdjanY`cS1Y+d|EH&$kSc42=AEhdd z9BEFx+`uvBEsJ=NU%Brfov|H48O-0r6Sr7kgXozIy>Vf?@1jx-+1k4_O^tnC@p}tg zOMaq^krPlJZQUBeA9mUznvXV{>!(@X&Z~^w@dmB7wZ2Q1)mmZxY!m3z!b&8>O%b=+ z_)!!xX-7iZ0>FQ-x#YLM zUvD-U#j5h9%Yvn=6|kjSF{Rvoy4(QZI&9x`CjN;ej8|UtlV{n8i6h-@q?~weoh302 z%;x;`a(R#@-2FQsvyX>@2Pa(mjuvJqyczZWktBr_pTr=6hm!UgqiviHmPI@PQBt0Z zMeRV#lkVfH`wygU!sqLT4Nc56L3VBvjgWoisgmkq`M3h9DbcqHFX9rMX^0~^tw|K^ z{rCTZpDJ1WyUfDLl6Zm|vXSs1cG@7xh$_;+>`Wo`;N|~aYVp4da{j+vYVq(|!muVS zA6nR2q&OgvygT|Jx4m}Q-9KtNza+H%Q*%GV*Ujc*onrM6b9T3!b=R@^H6t66IRk5= z&sYBUQZnd$R%L6+MfjA)UQU)v36{C!4#E0d7;IgX6{%IV@L8CObpg;G&_L@y`kojx zHBi+0aS>d|`W%C$ybqZSinmY(6>HlmkeRYduG*0l`GMgNjF2?gG*2|AX zZHGyk-p&PzlTO5$@hXbSXS^|fB?`TooyXP#4^j~JTYYUxAh;?N+H95LX%dlHs(j$d zmoVHAe##c`%*4&m#0IA6b!U)X*6$oboycjO+BQ=rfoh0g;`KHFIm^>HGeQf(O9jNw zaUCN(-e`+Sb{ zXoTe;MSklZMSbvGVd|DQqjk+Ap~Ci!Ek0q_m{EY;t|vf3^td{C^$zfo(fuE?eS|IV zELz$5YU3}hFvM7RRo!l+8hE<#rTlnu_9pE~Gy-;#ZWWHK&vgA;Y1VA2Q#c4L1ZSIs zi|0KRmgCugJw9xMj}1D`OWrx)N4@ReDxl;|d% zPi1u7oFUe6$s=XA3e#^S|M;ZsaN_^}%=^mU&F2Lx7ngNp-ias|iZLneF1x&Z_pC+x zHy%DvW&7z>-{cn4F4tchMQ$G4^X28D!rK!)9WQ>3KDsAkzrUR4Y_|PMVq)j3rj#1z z&uTI6aP58Pw9(?SoOKyT)V@EP?w#^d`h5JY*E;L64-?`=xthCoefE!&`tslYt(#t##&yZ@@w6vZAG$AmVFWFhfo*1I-Y@(^ zHuu*C(B^nZxeMDVpZ;NY4q^{CXy5!Drkabfk71j^%LRd(z`=`eK>GgVJxGRZxrgtc z2OcH>+I0N^W*~4I_|B!lppD_@bu)f70E@PA!TJ?_kzW7aoNs41{3YYw!VBxKdSCjU zs(-fp-~ESogwOoL*i?D){=A<^dn%j1oJp0-JOAtCl5ClI^=?JYR*Q1{^XGh1hqb9<9r^@Ka~j!a_eEt~Y? za9QTZWY4-yla{%DFpy+CF)<=!W6$R;9Uo_hOw9hX@tFMrIZHjcoBsKJ@{yB2X#M%x zn|dL5W6tFt+fOG6KDNK#xr~3a?TojLpw0br4}*5>f31ZdPJr04zup&V$9`Tnc*lM& zc;j`sFfl=z+k_mXTUP>u^cKr{Ur3NL!#3|X-e;x%-hA8}CI4MJ`2K;(c7fgZTEK^L zKq|Jo2ip^+L1_rGZ$Brs2^4mq)DJ!Sz+NuH`+@xzpTA6euNESXT(H@~3_Nn7AfO*| zaDg1(tBdH_fg5Lbc({`la_Ry9AD{`PoFBmFBY=Ya zPu?S7B8NG>@jh=2^aO&8nhTI~AApBR0MAkosDlasPmQqIUcv=D@!`QvR`hcxb~li9 z?gSBm0L*&Gfv{_FFtC7FZ@=^PQlR4=uQRK?EumYV&K>_|x6o32Estoi`UiU!&$KPt z)A(Wk--v^UV_#a$TynIfQelScr_L!!CQ3o_9ZQ$K5&PO`vR&q`aL}{u2IAWzHqP*8 zTb=xV+SSm~?oAsC@;2IC*v`{#_5X9k751W|yN@nWE%N5dP&fbm+SDLF#@i_Y0k z@J?ebobtzHDqCrHluXF$)>p!%yLYy_6n6h~s6Ax5eN7to board_list = { JTAG_BOARD("pipistrello", "xc6slx45csg324", "ft2232", 0, 0, CABLE_DEFAULT), JTAG_BOARD("minispartan6", "", "ft2232", 0, 0, CABLE_DEFAULT), DFU_BOARD("orangeCrab", "", "dfu", 0x1209, 0x5af0, 0), - JTAG_BOARD("qmtechCycloneIV", "", "", 0, 0, CABLE_DEFAULT), + JTAG_BOARD("qmtechCycloneIV", "ep4ce1523", "", 0, 0, CABLE_DEFAULT), JTAG_BOARD("qmtechCycloneV", "5ce223", "", 0, 0, CABLE_DEFAULT), JTAG_BOARD("runber", "", "ft232", 0, 0, CABLE_DEFAULT), JTAG_BOARD("tangnano", "", "ch552_jtag", 0, 0, CABLE_DEFAULT),