From c638cb71918d9586fc479f1c727c27b8887d9b63 Mon Sep 17 00:00:00 2001 From: Greek Date: Wed, 29 Apr 2020 23:53:49 +0200 Subject: [PATCH] * Update diagram (No transparency) * Fix Markdown table --- Readme.md | 19 +++---------------- feedback.png | Bin 8663 -> 9070 bytes 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/Readme.md b/Readme.md index 1776543..00a5d80 100644 --- a/Readme.md +++ b/Readme.md @@ -29,6 +29,8 @@ # Board Mapping +Zedboard Pin | Description +--------------------------------|--------------- JC1 PMOD Connector (Upper Row) | PMOD-AD1 Board JD1 PMOD Connector (Upper Row) | PMOD-DA3 Board JA1 PMOD JA1 Pin | Optional External Clock [NOTE: Clk has to be connected in VHDl and PLL has to be reconfigured accordingly] @@ -36,7 +38,7 @@ JA1 PMOD JA4 Pin | External SYNC Pulse [NOTE: if pin is left un SW7 | Standby / Write Mode (Allows xillinux to write configuration) LED7 | Standby Status BTNC | Global reset -BTNU | Debug value reset +BTNU | Debug value reset # Project Description @@ -100,18 +102,3 @@ Currently the FPGA logic sends every second the max values of the both ADC chann The `read_debug.c` C program can be used to read the debug values. Since the program enters an endless loop, a signal handler has beeen implemented and the program can be safely terminated with `CTRL-C` and co. e.g. `./read_debug /dev/xillybus_debug` - - - - - - - - - - - - - - - diff --git a/feedback.png b/feedback.png index c87962f1c51b268051bfbd7d49692332fd18849b..b9f10b403aac2d4395cb0d2a06d52aec9fe8f7b0 100644 GIT binary patch literal 9070 zcmeHtc{r8p+x8Klbsy$NL@McO36=d~bj0d7k^eulpL#^SrNn1zgosV&2KI z6G0GW6=g*&1leMWAaq9=8Q_Uqa92Kp97a?W<#k*VX8Pr9Ib1h37aENoEhHA3?u$&j zz+d!m=*Z(;2Nk0q)m45wnWp?k^?GV@!_3?8Lbai~$4&}=h%@T*|8dIDrFbHqO}p%g zuFz|()U@RLL-=X|!?Ff_Hi6@YSIY)ZUVH8JcEhi}zJ_kBjnhRoHS8ACx5T#b;nmmY zmSW$qB8bIPQ}!u|7KzIUa+A-RMXHzNv%*e?c*mxmAF;x-4BXxd--J`1rc}wggziC* z7?s|OAr$K1`Tscsb{_J>_?b2=E;_WQz0?tkK96tIY=M`0dV6=49l^zYNdHpfWpd!)L32Ahyd^t<$Dycu``qa*$c3=x=4Q@_!gZT9 zrA(dh`;vk~_sigefqOrlldN29FeAOqn%&RP*qA{l%=m+a_Uu4apRAMn%B;~2|N6zn zQ8jBZj;UXsIxeco*gU>8b67OAFHy$%o(GQ9b;@;q@OSDj$Nq62+ag5^%Y!LYj7pruFb@QB7d$K@*DRc1gTa3_-hn$M#cTt z`YqVMyeSg#|71X_DJH`p=MPhMBi^Ug#l@YTGoz#CZ7Y)=uk{2U;@*vSb#=9~81wu7 z{yhyfFX~ArRxh|nC-MmR>f=vq6s}iOR=6@`TV%hdX0QWxdU3H}{qswux@>$-is__d z#kyz2C;uMQoh{f5OpDkD%C+oU`Nz|(L%8a)yVD8Q0tW(fzkhLcth+^<%!#PeXJF82 zsyv&e|2V73Sjdy5oAtL(R%(#|Nc0}*2YHdkGKC~3w)dFZO(nFu%_gUZESjvY@9_^cPiPGa(YW7#+S}p=JF2H zbn7NqRVS-6m$i%Za37`EgmQ_hx#a+cDF`uVG(`qOt|@%Z(|+1@_hfd?8ShiV!p_{Q zy}i90ZU*733_q9j|97C1nJ`Sqmlyx8=;Id|=@DnEAH~iTwwbV5V%PP7G{~#Kj+9;e z5p(CGz8DwOZhwla22{~NJF5kbr)zO>F?d|hWW_C!T;}A|fCi|or=X^!+ucB}W~qsd zwx^;s#W^}UdWLgMAMd;<|H^>14yon-2^vb6mW|U)i7V=-HI^E0M-X{^$cKpq2oF{#qa%od*pSROi)CsTc!9=ZDurTWz=DXBknZsQlQCaNab`(mcJ@6 zIn}Fq=~=UR169WhAQwfC|^<#|`S&Z_&>)oQQ13&Q+AsB(I8v1U%3ABffMo z9GaAjpYCi^x`2N==6|QSmz=pGZzCS>u(^TLH#Cf_s;YV}!vd+RF;wh9o(Nl;Uw1ab zWM9`KG2N2$*fi>1s$Sr6JZw1uGqf=&_=HFo|U&_tN$$4YE%g*Z#dqsxi4>U{a z*>tFMo_p@AfN8WS1hC}h-T}krdUx1knQC7jDv|5_H`saTo`}M-?QHz|^quwLOa3(>24e`L0HP=qn}}hT};+>)MxO z*`M4g5=2RyPJG=;eXhLHAxXkX^V)1~cRSZbI)B!x*x+JPJ@*pbO-X*5wgzp}80EZT zC2vBC`i&bmX0#*ItyNK2bvr2%o9=q_HM6^s3BKRUL6!v-6C`(Ri>GSd(#5iw z8~8!ONf9a6#I&U%3;a06EzxOfFzaO~_L(Jb&=*xNYyeJA`jWq5ec>yzA*qN@sm}2( zxSgOtJC_V{#BQQ9tZUC{QhuwGo==wzvq8<-CX%$*#!H*J^gZ887st~M^x1uOOEy9v zy{e}Kx+SD@9Y{~8)*M;6wAQusak5BIShzGaNdNjdiu8Hu3CkJoPADb~Hfy6LW$rkGM`K`VK#;T=L*!Sh#lP%~U?El~Yk?ikKF8INs zaNWt05pWN*U6Db~Vb%H|AONKOqHIz$s-pnNED8nuOqC0JBDFHHD|5tXL!pC?0Wl7c zMu?l07zZHKF}9s5*u8t|MX-AVltFnx-Ktd?vs5UmOF=Fmxarwh)#Ge?>qSOd6J>6( z`w0pOHBl%J+tW-LApXciN{3ZL(#A6XX{MB_#|oH`M{o9{vopA?E~b5{biTq={}i=F zJf67%+ro%WN$<$Rd_zxf@Ho36%EULH^!FQ;JCP39ycs-!zP~8O!3^S%P6_>gjA)I; z^H)SMlHs{#@qu*x_Pb|x#aqaieh{>c+jidBI)Ui8@|lZzc1dSr&TCU?Mw}VLG)x%q z>?IL2-D%eND>5@P@7KCCoI^ig7$(h%=6s9(_wD~&Z^S@euX-4B1YahO2Z<^(*FQx` z&cuXk^N63R<6U5ZN@H4In_Rz3>-A8cOzzYJ{4)|({En`!J%u=R0vDC5UL@5Zr=&(M z$dui|)m7lg5jf2h6c;-U(*WVaH8b41BwkWly_~!H=cLv*czvdJH>IwVbnqqlAZ;b8 z?dGyt-LgGrJ?t{%O1nQ#6_=ayP)kjcf|lIvHo5n$uCJ^D$^4aCax}<-3jkjgIUK?pz6?Kd;9iMPhTHNN-xnbPvUX+VrPodV*LuyiFweNzW4#_ zCaOx>Xq5P%l;1hb7$1D})Kt*Jck9Vin_`+(7|&>E13-gX=EUdoG4RVw$P-ClTv^;( zUq1R0aHY3Kv&Y9OUoUcWbd=Mi&r1{EZaZhWXB;Qlv=aFC7Lir*mHr&@8uib{IUGLE zA~;HZ*eVjlG%XS1z}8Fawr1oM_b12GXV`ll^zT69nV?p5sL;b7hzo*}oasW82hU>D;Fz3Mb8zL-+NJt33pQFV|mVtd!hH zOPtF2UD671-rZvC^Dy$%1gm)V`a9;U^$(wG4%Abtoj%pYu}XXSS;t8{oYEv#5?d>m zEL#*9<5Rs7RWk@UTCMCPg@8}0Vl=G^sSCDwMsrS(wO@269%?ErDd|;u#}J&N65^}z zvAdV%{Dswm<@)+qEg%o0>AqJwCuY1dv@$7!oXajk(GgdVI}Rt1b8eK5yz$w-NZcfo z+kZ!6Ud-~QTHy6FyP8HO?pl*~!w&XqYBbhatWQz5lzUC7jPvZWZH+zsr(`D{KT}Cr zEnUF_eM;riO0TjBhU;A(LHp{mduiu0h?^-%$uy_%4erOVnE_&)Sq?$Jewj3G-{spw zv->2=d8vJU%6v0~z)vC40Y??>ewHb$raG93`IXGPa%%ME#lL==&3hi>n@$ zMoX(}pF>$@3iI7LkBCxDcqlb&AYJ)iTvaaU$^JxgQc|h|wOh%s{+ee;VJR_rV}4lq zGnBw}q9kqxf+VH^r^Yj`Slh@A?&xC1&Beu!3t@Sl>(gUlB3ZfiS2W0?&FeCnXq4wX zT9flTq(a8Xjw7i{@r0wM>th%0F5R#cA^Ee4zqqy?_m3xhUU6kF+G<8_>gJ5ZAy;je z^9yl#a2S|!-~Y$6?~&dibuVWJ7y0L@KlDs{i(R?_se7FPW=d*3+k_=wr#Mmli z>NG7p$jMT=N38BYD|xD(VGn+yR(hlLP9~!yDt$w1)QG(d9=w>ok!ZTAJ$MzQnw5n^_IoGLP z+Ag?Zskph6TlN4Td{VTrWm(fiuiyGgp%w!)U74sol&pMe)fGz@cFHDu#`&=k5 z0X~XKTXk2)(#!YBo+U(+?CZR{Id44d8m`KH$vwWw%_fW%!6CA&DTREqi^jsCH0elv zx8mL}eLIraX5aUQ$SG4agB$flD+TV z-qv^6DV~z}^w%r78M1Xo)%w_7&tb<@7Dm$wE8-6HK~Z-`;=d;eUCoJ~<%!>tV#qzY z)yGk^*I5B3{W6P!tSpWHLeCcX1Axzt9fFZN*AC!WG-4f@nC0uQ1*gvgq zH!uc=0T#U&eBl47;fCCq|1>s+STQ-9FZJi)L^#^~vr9(U;!5SG#AjqMGexCI6zX3h z=R@DxyE+fv`%bAs|KJaF$E;)Y2gXSM!ttm6^5kFPkmR1E7gmU&Xq>4R`ONo4Y*)oy z3sZvNL`m#pjl$${q2Q(OF285Oy#qnU=;7Rf)S4%RK--kjJAzQ}o42DJ=Y)mEsi&_9 zuayZSe6{v|QkfUkjXx>>zp$*H8Y1uB=vK>Jl zCWI{0p_2#sY(0(1Mdu$zwJuT?LrT7< zs++X9vFq=V)cw@ZUi>pteeM=&d_68_o!;~8$ z_^+5*S}HBBzBVh=hfYLzqZu|zRpmrfxXU@AFlEK(vbYnE735Du{UH|rA$d~iu}Nc9}Xq@6pt)^eY;CaQt~N*pbeen5aKW)o79Aagod%P^goB~dx%6{0Y_$nt@!BjvQ9~9=`oJrrb5fM zk?HA{;+5?pGCy+hrkkOONiz&N=eedA5)zWydB>Hy#1ZTlsd`LbUq8%DR3P2jZQ~4` zI*S6kclrDzf#3Dp{0lfGF)S{HhK8Cyc%XeNKZc8&dz%(LvUwj;QgH+p{JK!a#lyp3 z^hZKsVqFWcDAx;(ZS~5P}CH;9s(uwN0@>c-uG_s#!k&I_)a&gH@I@_${f*AgUu|t|Wwg3b z3z&M-R5rPLax(MJTc=m&hc33KEj!xVV;ar0#3dv~zkXHF)YKeVT^ipT_}0wa{E}#F z5Zlget}C;N9&6w7=eBK4lEsCy@X9s}4ZX0nvumbO-Dv+p2x6mDYVY{wAw*M&3Vpu` zM;z`{fTF@W70CD)jYcadD#B*!s8Uu|Mu*>r?yH&W?2H00G`)N0rBW7w_-TNIw8aY&7e8dV0b-JAVs! zKRm*x3nBhXK;c_O^*S8{YC6p!q2Jd~$zWE2Idx7CP2g#6Pc9)%cLUOCT5=wLV=s{L|UUj50X zx3wzhyZW*3T7X4;?AtdzD1Hy>vcQDa*hdKA z+NiKs7+jpp6_k}7Px9I*Xa9bI_x0-$r8nNEe8iVn>23EGj8u6%5w2h3@gC!tRz6CmDq_<2Ps&y3G!}~ zgs*ufT>VX9_DlKE4y&T`u^yBj%a69=K0ZJ$hQVDjn%J# z!XtRE^(?d}{IfM&vq8outI=D)RgAYZgtZ_)9|JY`T+T~KNlD4$br_2*j*1QCm3xM- z*)Z5x2=!`!${Jm2ljCQi=fU`Dywu7pV(E8&9ybCuFEsK>XlO%=NN#P2W$(_%z!U!Q zm2TOccU1Ty!ocok@RJ>6-6-4X!9Ac6ieGiUf;@zai>E7N~ifLLXx@xLy;Q@_tHAOcIs&_a&rzurS04^8rwwoho{8QV?ruO9&2Pdcfjskhs;_*O*l9!muf?(8R;4pm?6P605 zT0}|?# zRaZY##@3CqohU9SsKfOk(dZWQ^Yh;X%kP(#k%=fSE>3PnEOtYrI3PBHt=Er7G%9E6 z?1Ty)1O4?90B~e*@bHA_{ALx7rVAI0Ww&Jqp}&g!2E2~aO0fZRMP#`%5bc7C;didz z7NY|Dn*v@{KF1S{LYZ2uT6cFhu+l|@{v2v^xOE)Rh~CRNv=0I$AFhnWMl{|(iyb_T zMi4j&Vx$I#WsnF8Ej={o2nwLT1xRj=Re`JIff_Gip!FkRPi$>%8yXu`+Rf=6{0@#Q zzMO*TvDF2<26okWeZhn0V2p{0i5ehLoP#Ko}q_fD3JGY`~`aNt0SjFj)JA zR;DsY1jQp5D6AA|?3K|P zD<}|M>?pFn5A+I1I5PIC79_b!0#f9Bb0O3N{wBhIHhlCt?&+C=Ybdo>*LpsVj5Kh&!y^d1IWw>(`S!r!+ zI~J?1DjJ*cY8!2CpbF3!b0tZ3^c^e?lX$OrZszfNtzARoWM>CK*j15Q4b=%H*VNRs zQ$lxJIy(q<=}&jgx-NWujQUhO{uqJ8n`T5tIG1vQEM!ASym^ zI3s{wXyH*S?oCfksSZ@*PD0Q@Qeh)huFIZ9ymv!5*^>bwpfswg&I3@OIy0gX)g~lT z9^Am`oY)VL5e3DJD#y~Abq&Z2og|)ZB0P|QLCGCfPvFM@A1sdXgf`dvvmA^603GcT zpf{;==hz5hXJT&t0@$q|uFPq=KjnWAy zx@~K6+Xm0V*}D%^bZAF!#) A#Q*>R literal 8663 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