From 976530a0b6f6c3a666156e3c3ba59bacfe515deb Mon Sep 17 00:00:00 2001 From: kdp1965 Date: Fri, 26 Apr 2024 23:32:43 -0700 Subject: [PATCH] feat(tt_um_lisa): Initial updates to LISA documentation. More to come. #529 --- projects/tt_um_lisa/docs/block_diag.png | Bin 0 -> 64526 bytes projects/tt_um_lisa/docs/block_diag.txt | 28 + projects/tt_um_lisa/docs/debug_uart.png | Bin 0 -> 48108 bytes projects/tt_um_lisa/docs/debug_uart.txt | 18 + projects/tt_um_lisa/docs/i2c_gpio_bridge.png | Bin 0 -> 30120 bytes projects/tt_um_lisa/docs/i2c_gpio_bridge.txt | 16 + projects/tt_um_lisa/docs/info.md | 529 ++++++++++++++++-- projects/tt_um_lisa/docs/lisa_arch.png | Bin 0 -> 75226 bytes projects/tt_um_lisa/docs/lisa_arch.txt | 28 + projects/tt_um_lisa/docs/lisa_direct_acc.png | Bin 0 -> 23794 bytes projects/tt_um_lisa/docs/lisa_direct_acc.txt | 15 + projects/tt_um_lisa/docs/lisa_indexed.png | Bin 0 -> 40259 bytes projects/tt_um_lisa/docs/lisa_indexed.txt | 19 + .../tt_um_lisa/docs/lisa_indirect_acc.png | Bin 0 -> 23863 bytes .../tt_um_lisa/docs/lisa_indirect_acc.txt | 14 + projects/tt_um_lisa/docs/lisa_pinout.png | Bin 0 -> 42557 bytes projects/tt_um_lisa/docs/lisa_pinout.txt | 18 + projects/tt_um_lisa/docs/lisa_stack.png | Bin 0 -> 30131 bytes projects/tt_um_lisa/docs/lisa_stack.txt | 19 + projects/tt_um_lisa/docs/qspi_arch.png | Bin 0 -> 42707 bytes projects/tt_um_lisa/docs/qspi_arch.txt | 27 + 21 files changed, 692 insertions(+), 39 deletions(-) create mode 100644 projects/tt_um_lisa/docs/block_diag.png create mode 100644 projects/tt_um_lisa/docs/block_diag.txt create mode 100644 projects/tt_um_lisa/docs/debug_uart.png create mode 100644 projects/tt_um_lisa/docs/debug_uart.txt create mode 100644 projects/tt_um_lisa/docs/i2c_gpio_bridge.png create mode 100644 projects/tt_um_lisa/docs/i2c_gpio_bridge.txt create mode 100644 projects/tt_um_lisa/docs/lisa_arch.png create mode 100644 projects/tt_um_lisa/docs/lisa_arch.txt create mode 100644 projects/tt_um_lisa/docs/lisa_direct_acc.png create mode 100644 projects/tt_um_lisa/docs/lisa_direct_acc.txt create mode 100644 projects/tt_um_lisa/docs/lisa_indexed.png create mode 100644 projects/tt_um_lisa/docs/lisa_indexed.txt create mode 100644 projects/tt_um_lisa/docs/lisa_indirect_acc.png create mode 100644 projects/tt_um_lisa/docs/lisa_indirect_acc.txt create mode 100644 projects/tt_um_lisa/docs/lisa_pinout.png create mode 100644 projects/tt_um_lisa/docs/lisa_pinout.txt create mode 100644 projects/tt_um_lisa/docs/lisa_stack.png create mode 100644 projects/tt_um_lisa/docs/lisa_stack.txt create mode 100644 projects/tt_um_lisa/docs/qspi_arch.png create mode 100644 projects/tt_um_lisa/docs/qspi_arch.txt diff --git a/projects/tt_um_lisa/docs/block_diag.png b/projects/tt_um_lisa/docs/block_diag.png new file mode 100644 index 0000000000000000000000000000000000000000..93a18f0a1a36ba6541fbf1851c5fde1462e17c0d GIT binary patch literal 64526 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 IdK>sZ03I7Eng9R* literal 0 HcmV?d00001 diff --git a/projects/tt_um_lisa/docs/block_diag.txt b/projects/tt_um_lisa/docs/block_diag.txt new file mode 100644 index 00000000..23de5d54 --- /dev/null +++ b/projects/tt_um_lisa/docs/block_diag.txt @@ -0,0 +1,28 @@ + +------+ {pw} + +------>|Config| +------+ +-------+{pw} + | | Regs | | LISA | | LISA | + +----+----+ +------+ | qspi | | qqspi | QSPI + |{pt} | {pt} | +<--->| +---> + |\ | Debug | | QSPI | | QPSI | CEs + rx1 -----*-+ | | Control +----------->| ARB | | Ctrl +---> + | | | | +----+ | +-+--+-+ +-------+ + rx2 ---*-|-+ +-----|->|UART+-|-----------+ |I |D + | | | | +>| +----+ +--------+ | | | +----------+ + rx3 -*-|-|-+ | | +---------+ Control| +--(--(----->|UART1 | + | | | |/ |Baud Set V v v | GPIO+-> + | | | |Port| /----------\ +-+-----+--+++ | I2C+-> + V V V |Sel | | HW INT |{pb}| | | UART2+-> + +----------+-+ | | MUL/DIV |<-->| +--->| | + | {pt} +--+ \----------/ | LISA | | Periph | + | ^Debug^ | /----------\ | CORE | | {py} | + | ^Autobaud^ | | bfloat |{pb}| | | | + +------------+ | MUL/ADD |<-->|{pb} +--+ | Timer1 | + \----------/ +-+-------+--+ | | Timer2 | + | | | +----------+ + +-------+ +----+--+ +--+----+| +----------+ + {pr}| RAM32 +----+ DATA | | INST |+>| LISA |{pt} + | 128B | | CACHE | | CACHE | | Debug | + +-------+ +-------+ +-------+ +----------+ + +

LISA Microcontroller Block Diagram

+{:FILE scale 0.8 theme light font-size 10} diff --git a/projects/tt_um_lisa/docs/debug_uart.png b/projects/tt_um_lisa/docs/debug_uart.png new file mode 100644 index 0000000000000000000000000000000000000000..395de2e5cb1d816d27c65592bb98dca17b4051a7 GIT binary patch literal 48108 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 Fe*lJX$KC({ literal 0 HcmV?d00001 diff --git a/projects/tt_um_lisa/docs/debug_uart.txt b/projects/tt_um_lisa/docs/debug_uart.txt new file mode 100644 index 00000000..4d8f5f56 --- /dev/null +++ b/projects/tt_um_lisa/docs/debug_uart.txt @@ -0,0 +1,18 @@ + .rx1. |\ +--------------------------------+ + ui_in[3]--------*-+1| |{pt} Debug Control | + .rx2. | | | .rx. | +------+ +---------------+ | Debug + uio_in[4]------*-|-+2+------------------------------------|->| | | | | Bus + .rx3.| | | | .tx. | | +--+----- FSM ----+---|----------> + uio_in[6]----*-|-|-+3| +---------------<------|--+ | | | | | + | | | |/ .1. | | | UART | | {cl} | | | + | | | |Port +-----|--+''\__________ | | | +-------+-------+ | + | | | | Sel | .2. *--+__/ uio_out[4] | | | | {pr} | + V V V *--------*-----|--+''\__________ | | | +-------+-------+ | Registers + +-------------+-+ | .3. *--+__/ uio_out[5] +--|->| {pb} | | Registers +---|----------> + | {pt} | +-----|--+''\__________ | | +---+--+ +---------------+ | + | ^Debug^ | .Baud Set. +--+__/ uio_out[5] | | +-------------------------|----------> + | ^Autobaud^ +--------------------------------+ +--------------------------------+ Uart + +---------------+ Passthrough +

Debug Connectivity and Autobaud

+ +{:FILE scale 0.8 theme light font-size 10} diff --git a/projects/tt_um_lisa/docs/i2c_gpio_bridge.png b/projects/tt_um_lisa/docs/i2c_gpio_bridge.png new file mode 100644 index 0000000000000000000000000000000000000000..1d5a7ac9fd9031c0cc42a2eb1392399ea73dd8d7 GIT binary patch literal 30120 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

Bt?79 zMvKhjk0e!Sh8sHWZ}+Lwp#PvPrFJ&f)9r}n$A&F=@wUOCNT-Z0;X%2XRlL>T{NC=Z zC5?)`q8UOhG7x!KN#?jNi^+MUS$v=7ia&F05eN*roO#0X1CgIEYZx=V9J{tdPRn^G z^LdcZT3mZydGc${hyID&6HBrjs?hY@Mh<#ToAOG->-=7=CIJMMVgO>?XfCT3v{;8f z@^@mzTR|)K!8qJMq_8S-#Bf&FkD?p?xIK%l-kgY*hm+<1UhyR*&Hd*HFyqOjqk$&> zCS%-wwvwlW3ORQF*Je8$u%$HO*bg2HVdG27?Exc}R{}JShoGPYiIBYg%nN0S;oQk! zL4HUlO5L=71#*fubv16|2L}_{XxG^gx%E(x{%b=8}*tXpJzkZqyQ zh+XFHY=Ayqkru~5RX=-xc=hxQ*0 zPVsDZ-G)>LxkrM05$Y<%O+NN!ToFpvSJK_T=R6U>!MdVGn`xHp5Y2bi6E-vLp02f$^IRyG^nn!Ban%0_TiRQ~KR zvfQ4>Utc8O&YH{;64HkdcdR`3NTq3MKm(GF2jlI;-^rDF$nr+6=ga`(h7)|0vV z*{?b(alAVmUtcq?VNRndw$ei@s?nPQehL3taamHuR9izuM}qgI1QP8N&Z5>mJ)dX9 zJ^<9v`@5%cX*qXA3bXmCU3`3=?zn)(o&}n~+=GOvZXYBTm-$=UK6qqofmMA|U^=` zs=wc*U;hcYA>T=N_$88o~b(UM$f)4f9wI_%)A`Q0WPu}F4&Yzd{&Nw296aU>fREtAl^Twh+<7_+ea=ZYr z5^=k5TR&7kBPDaOWSp%vsWp4?&v{my@?WP-%iDP|d!e4B)tJ+elar{<6bzXXx)KU$ zrFeFe!*09CaOH`r^w1Ft%}(`KYf9rvU2pD6mFY`iYEDdfmAR!$gF`hT4ICiB4f2Vj^>#~(Q z-Y^L6Z-WbJGH1*i`n=hmDXZ5J9vIgtETOan=+_wo{U$R4HLR2{YF*~+gx9>NE%Pe7-`RM<25^nT12#eSh`xYMuMlG#wkN(247r9{6opQd9e!j|(F#C9$y|Fo;K*isCulppq-nO0W>y66G=3;*9FJQRGzFfG)P{I= zU`Bgy{l8p*te1-lB_R~>2vFXe;XwP&|0ZommAF{MPR9@7Drq4zX92$)zLVM-Hd|yW zeSfotRZ5~gw%cDU6wYqBmhFwA8oddgDrNa`KU{x4v)Q*D@D#N2RevnvI@i>d_;Wjq z1JrR@ZPq-(LRt#6ro4_e&H%Rgc+yNk9x9(GM4d!>PyOyT4T4AwV`N2J*+kRx?XZCT zC^Sr`rtEz6x}vJn^6!JHs~);#EU#z~RyKxKQs)i|%s=cxMD(3h2c1bx32})w_co|u zIbw8e)-!Qg*a~($xpYh&adUKIzHc0A;g5|)qC5$;w&*R7t0*bsfcdzS=C*`7zXX4?pmJ8XO4AxRV{MTh>*m$MAsDkO6 zsg>vChhr2i-mugJ@W|((Dt0!uxm@D3-*3w1xKhJ1#dl)vM<$r#{>!I|{X0F{Dv@wf zP`7^dY+>rFxcx9>z|@UdVPl}O&hSZPLXietbZ|71(ir0BrnnUynxWLZIRitrvT2hJ z)~=1MnE##s-FJL!ScO4pKPPtQ2gx&RH;hf+e{HnwUcM=l{to(1d_tL^DWf<@Eu}Rg zRBcN0)6F18+9YftK|y=Qlx;qcFV2rV$y;(aZn;K{vvCMK^6Bw8F^}_a~P)ai^!P&H{6wT zkQ+jWO#qDHS=O`h1F4E1fInQ8s6qqcX4IPqg_!XyLXs=ov=R7~00a7h#H@)`OG%Zo$H4*OT@I#Z}zM)AcK0%6?@bVDTd+&t#YxS(FFc zz%R}7rY}M>AMI(d|6MqflrhVs(x=yGsffDkM3wAl)T<@CUQ;gWIryWX=JaUASP|UX zoG1(~gk3Gg`*@Wk6+0VS$JeBH)1P^gREmvV4l|yZhdRMRgH$ctF4z|Ag_idJa5_N3 z%flt~0RWznfP)Vjqb+6AaivX&EOjX{b9pR{d+FIu5--LA>@Ze72VxA|{#Z?2Ak$_E zG3EuFS(7(@BW)Zi;QG~TSWHfBDCuRBy^CAo3ysWlPDOePz~cq=8=ng7C=6;2mt$%y z6CTyhcX5b%l^mTYOVv@(I9K!D;D9-89a>CIJJ`jb$BCuyZ_fJ_F|cPf=@5e}{mtPd zX!$>@6@9ZwETnkD+Kg$CrF|CoDTm_zZLMp#PkUAzx$%{?^Vu#irL@N664v#OZHpa% zA_yQO;}D+_I6L(mRZy}df3{)$@MZ!5H#nC6x0gjb7#vlIk)`OUgm%(IG=Nyr_?@*S zebz(l0VEv0;Dfz-&NiICleBgkC6HbgT8pMGR5--wAM zzt0ls80>+@75W~~7m6#|D57h!tB+k==ni!jj&SksZNR*k__rgMAkWdkaBOCHIWs9~ zN*eX?0SF}F${(Fc*ymj2>#a(YQtVvQR~Xq+wuWpReavs&_c#GHF9h z6!D59=U6`M7t%6HH`7#~!MZpy4~q(OfnoL8UYyb!np355@WG|EgZSMO0qX}evW9`9 z9RKi&6jEReVIbls&Z!FbI6LPHM5IfIpqJ)DWqs!+xfgBB|}Cjq!7eJfSOF3 zjk#97-m#x#AmcWR?SUqWzk8 zNxf>^Z89EEVxkVNM$3@np&p~%-F9$;xy+Pi7Glo0B>=LU5|D;|w&ry3(NEA__VU(d zuu`TdoDMJDnbEprI~lkRs6|KeftWE6c$-{(Qm8SJ`alKpQ(Xqf0z6-4?@zK$D#&Dg zaFU~!=A+eZDtdJ4^wf(u+2?ViI?_@=mdRtpHT0p3r_orwnv;4AqXnBS+(&JO%#J@~ zt^&2J*;v1Ngv)Y>ILk(Is0yKiQ%<${v*kG6&-sZCMr62tTy(@h{hU6_e&TBNoI%F2 zdi@AeiCBT$2ZKyd_2EMA9$9y^urfUYrOvIWOGB1~3Y1RZjdlq*97)|Gx6!_F|KvV+ zKH{mbr6-Qp1*^-)2^dvs3zm&T_Eew<3cS0w*s9Kq_&Ufq@9M*g;JAF>sI(qTJ>R5! z3+bos5B3JuykJHEpg^!dRL;qJj){6s%N?o*@!qF9;~%{Q$fywRCy=92qd_RlWpb0} z)M)n04zmeieW@!B7WgcAjTaoKAa~8-%~l-jj@Pw@-1KpLz$nOv=V9Sf=#vM7z;c_T zt78!T$^Sc8emb4&bRY70NTEXMvE-k~;=PCOj_4L6PDAc5_B%Qr=dbYYLu~HGmD(^3 zIBm=t;BV2eey{sT(X4#|6t$b{EDiV|5ge|pa+y|zgI(DJ~9SU;Mt z!#QX4gwXyLtqHsD8%e$zsTwHXp~6888mHJX1K2ncUsCy5p-&k9&Vxv}@iLF0ys)=O zhJ;FAYk62;^{(8hzQ=uJr)_hTIMcHKK}?}qHA+$}hS!9}q*bideowRNd)lMOa!#xa zwb<}~55_PC!Tf(21`z}_<6GoNnf~-hqzK#5v!%z_pd7=HQAlwVq^T#hA-#|XS;R78Eh#! z%xFz^1Z|b-KSogwA{~;Qvz}wobN93sy9Nhzi5}F$xWb4=t>1)=qM)M(lL8;RmXaa_tI<6t`D-;#^{8i~^)YNW29c2faFeQ22czwP4ZrQH3lp)+gfJ0N-_ z+vXM@Dh*1a#BQNR*EB_!mA5sQvYoDohN?SUtBY(FM=LMCPC_f465|Fx@P8d`ok!&Y_K*L%AVPZ)AMHA}xZ^w^CZiigP4EG{7PE{5w==R+kk_=s|N8|X!;Tp+K8m|>2Vwx&Q{U3+2sAVKGKq@9nAt`(&^ zwrbBoUD%$3h%eN=fVkdVpKkRbAD3U{aBr$GSXOQN`lLygLEekA%gzx#7wm-T;m5G2 zY_~?8mtwHpzy7H7;7SxaVbkEP?_hFt2@t~9B@=umOh`X+q15x%j}tP#D?3Va zMY`s%$)B6U%|EafNos1~c$5U2Uy5^e5*F7`g2*1Pu18zlt=m>`uV9||!CF_@_HJAS ztZ7g!8Djb}r{tqUa_W|84O;HI@P2meG*}>Bcd;}vXY9ulO?CsFv=&MxLj*EJW;~L@C;)*DWXQ`&3pjom8+C06XJiGKZ$$Il@)So-l<-{Z8*PRu1D`+$0=9TeR7h?Eh=108Xz z*q_Pp%A^;<*ny(`h4p=vaG7>rNBs55Rm?A73<|En9)^UT20hXYuDHIT;pav8R`1|S3P0oBFD zJ*gPY^5r@ybIzHy3Z>#nIV7<8>LzXi$xF5}B=#t7c#~|Dwipz7IT@yYKfrV+6Mt`$ zq>bDX07-A%aeljy+9z_WG)W~BolyrXOdh9$2JY8rU*`9&-}X~wX3N8SOcZqQenlBN z+f4`8z1F1lsh!NvYifMKxj&O7 z4s0g(V(fkQw|@@^PVafK4WdI&6$aca)?~a}E-ihh-FsDA)p^y%<8*Rjb@pKA>cUl@ z3pk#jc4rZ5kUhF9?XS#9q)D^z>4GMLl;x_!Tc)W#tvd8~;!{%-jQ%6>x-z?3AXBm1 ztA*g7Lu*5({oT+Pkc=4|NOe(E)%;m2QyedDNmgfsAFMZ?MZW_?JEe%Ym*T1hQFYJmH@n^x3 z$AG}@-S;36y}o^b2kvMDhDGVlcsNw=S}NayO%bAa7;WE?^DYT@uasPH>k4ywM{fKF z8giM#U+^;@{PU&@l|R{eDuMbKC>BCOgl`d~I*3Gm`p~a&BiwMFK1WL$#~sjCnq$3T zp!x=nJFT=Z@`X+{z$!k?znQL7)jl}prN_GyBtf5pBS8fM`VUM-MnR0RK=qYBImGQ<(;=}}xucdUH zpukl`-NB`Vp*ScSr{K8fI{Hv_%HE}INP&qy^55GP9~cnDjRK*;+(PNSTV$}#Z{KVO z)_==K#Hro_S7*``7fkQHG>e$b4PC(b7T?l#oWb*YkH)-ni{H-{K6;|A+N;d43G-rPv=xkvMl-J#SFaoFuHUU5kai@+rX0+o>1W_J zs!nLn&Hg@)bOJwks$c|rBXs0DyW=)8vfXm?w-7Fe5sOb*z^@onnY_jGd-t~mzv?AU z$kMU}+lS&{evT0%6D&z3jI00Lz!r)a)|b?I%~5fM>2n$090MsV=N}M+Kg6gsvTF_u z?mbN?zFP!s{-%5rSW9=s`W|w?{dXmmXId$V7l|m1q|`s+#kt!vG2%td2xT*`J^eH^ zTzqR@mab&>ka%|4sd0_3U%iv?{TxYb_> zXz|+>%hhW8wt_IcwYRB&Sh}G~rBUU)>B6tSKiU3QuV%KT$046qQuJlVy#L8L-`fD^ zek)IQk=Omsv%cBuKlD{-$_?;spx%^RX6l0d4@Oo zJ)?kahikCNN$v_E`u!S?i_Ma80ntCrSp>p543UZCqe;sA(#Fu5cRFD4Vf6Q8l$6Y9 z6M9*;>s#F@se#wkmHQALr-tX(3n_orZ|&qTKi;Z476f7G?J?nGp0`?) zTblgfDj&0Nb!=<#`&x%V%dhn5bpSsQJpKu*mqsw;*X&18(GO3S9m;3)|zip zb6)Syyqstf22A4>xB}eSeEcxd1lZGrb~AYIclc)AGOua@;4kB+`)u1go9ff%#hzce zs2WjJzcKIm2j*F5C2!aP*4pfI-@o*lN}^{^RBbWyTT9-Z^+gXsgp@K98_zu>J;vU= zXuwimd*lIiG+y;3zGu~$>cOw{pqD$B^nO6CHG)%ndVpbqNm+4TZ|Q@p&a<2!@uJ*E+%=x{>JYd=*Cco*_uptxqRKsquH)Nv!P`W0sKMJx;QJhZOvmc z$K@1F2*U@EGj42q!^`_z_R@dX!U~NdS=6uV`=qs}w{3mBU5EPB=u@mJ+I;43ic*y&NHpZz_$Jh;XkZ*$_jGn@t7x8aYQ z7W-NG*@j_-?+zPWQtp57%e=~XQ2H2bh#&&eWaI5%;SkxsDMyej6H4Ea1St$gjv8T7 zp9-S0|18DQF%T0VxGNw?kaa%6f4p({wAHg0lD!anHfu2Y1$uCNRi#k*TJNS)SE#Fu ztcSd{x|1(7HKqTcy>Kq#!&neQO1O*eybkq;;TDBO8C3RGb8ayUA2`W{5oX$&zGp&} z2+y+x$U5Ht7CX_Yoo_OP^wWW<(hB$vHU6D=}^v-mw|Kph)qrfn~j zZjfAg6;E~Egq5|^HQqY~VXav;AQX9<0Zcnm)CAtvb8}#|dT@{1x88N(vg}xI++~XM zCA`r`|0a=~q*)WBV+=X;viUG3#hyQ-enym*(Xobv`sKAVsaDwtCP(-r16SF*^y|Rq zp}Ub8`3z?2l&Kp$1x3k6X8u05(pL`G&y)-<4?j@=jMXiycWje}^0B3MK{gbrzL0B- z@p;8n@cKV)yq4$4pC-HhIJ^U(=LJZF}kJ(izK{*nTx z@%n{n=hog&6^7A zME7(yR#+mP-!P@R;z?5oZJ!K0X5Y0{ zT5`X9KbNW25}!bJvlt#6@Ml$qiiD}R>U;S6#7<22Ovu~SEt3?B;*mSOVjBHonp~&B z0tUkAr3HQ&PihQ)>bRJK&v(yyXFkXo=iqywi2+K}-6GUT+rbDTvzF&&XAb3nXG z;;+^}4uxQZFpbjQVJo)K5g5OS<6KT?C^+daK1+?0nhDpqf%6JTBi?tb30)C|W6vmf zE$Zx^W$dlx3IA4oQrBZ_*XguR%eiE1I&ZjyQVg$RyS7d=9&B~ z{0fb&WReit`RS5Jrk_^)d{#Rjbn6TgS~4plsPt?FJ) zO;iQDErz;o-NuF?%@PKvS+sIni>3*a`iP%|6C!=&c_dC9=|8T$Row2*t%HWn|>g$(n3VqAQy-;+h953wj>6izQrATmj|ChM6vX3nJYW&9?-U>Oko4mY zyiZ@ksSs*n;p63SFz;O1 zav@bvEJws`YSd5!+kw^a1ptW9)BlZIah;w7>bS7R(avAH7ON+x3drAC^E`7Lo8GR- zExC}+tGlnh)SxZ!88Q`+6p#3wpczi)8wdk->|Dxt9GjYr>?&_*4rQrubSCv>&N;z~s;wL}I^I5N2 zqapw|NmJV^FMC8Ux;Cb?c5hCKP|G(GER;U?2@Km8 z@fB8;^KhbHl<>64^##8LB@kq{%$GwrmyY6)oK?0uA{5tuV6+nDd5n*IwK(`%=6{OJ zEqW6jz{lKi(xoFp5IGa9Vgo^p8YP|DS40g&03Uoyl8OUM$2Yd-w6^z@M)p)z*JJX+ z57O4sqoFbmVH{#Sp*(S=Ip$r@wc|i(rxNLs&1oe{(xxA$Q!L=mnGwGdt}N}-biWzd zFW=h=*r|I>$b6o)eP&+&u}0($`=`Cfr)8J-gp&D^X|nv0Rp*^#rIjq?P_aa3{7ZCZ zJ4d==A;Q-mMaSoD;l9CMfmy3H`02XwRO>9{*Bm&{pR5~B98VU@Euk`}RNTY!A-2|s z=F@*l-8a-1IW;1%pc%y9bg;(Z8j47QD>-o<7P2N+<=K5ctp8xWUCuDadu0bXaf?ov z4%mVi_8hMrUXe2%{TjH+-fw?`|z5YGqf2_79xiXE@$#N6$t&$2+Jp{^5_MnCKhuD^TuPExMbzyvz zrwIMN8*~`U_-KI(fEM+O@K>~^6?b<+DQnRT{H8|Yz4DWVXx>zr@=2 zYiX-g<~*r6UO(+hu{FkXDRgN`il{DTpKg4@sIj@3A);EGO)#wb`wv~zLFU?efuUN; zjD+vma3!`0IkX(P49qZPMGBQ_;_d1ZJuN7F<#gb-DV<9OM)M>uiv^j4( z<1xdHpe7ek-)Ua-jRYA`wxIxWCNgD7s7u(rlId%vq(|MpG@;Eme~l*Gp;1z(+Mey! z_;k&I|IG0Qm^2)1MUQ4>vZC59h$irH=MGq0O}{W{w^tl3z; zHz*#ZkLB8J$=-qzte@rw+dvaUXX{W|Y82)nr(H_tOZ^r&g5he<*xB_04M~`O+eWxD z+_Gd(5hzKs)=J~eer{Yn|xar*|#YX)aOyn6cyd4y?CcA zuz|0U+4Ft1q->3u9PNu=o96Ar8V?GQh-BhLQ-VPcJb!!xk!Bjx3RRfeMbuGif+wKU z633f@Am;_@)ZvQ#HjU0iAN{0s@l{n#5e-cz!BstTuhz<)folX(>OKbHrOydFt~38j zYS6a$U)CN*JAa!s{0snu-;6nKTDQ3TB zmB8$T6LzH8BXXClmKtC_#dkO|w>@d&-L0A2y^a%l^m0h=QoV1&XYJYHD#|l=jkLqf z2`p1l$Cb_ejLCpMwEcTq9r|h7H$iNwJ3L(V7e;4$jt^>Z&r}b+yHNSnfut2@lHSRn zkQ-F}5JTN3w~Ej@eJoKQYdJCeFw*+Zs;p=?Qjrks8jWuSGq==P{NUu}{}BQLQQGKA~> zWuQCsX8%xkPWDDYObR`BM!a<>WTI}SGa<)dT3^2kdCct#Z78p8^xkyI(D7jVLt8$R zobKSD^Nh=|Sa-eoS68>Pe26+Er*`t`8itg%d5KeoFC590@xbJ@b}UvX&3g z91{?zP{T5~H^{6B+!>}Il|iRwCJ%X>2qHJ!Mjt}*Ab!e%6R^(MuBliZ;n5_R@b z(57hB%~x_~hEcp>6TeSIlHlWL_4Hr&lOf`K6p%;kcsu7YpL-D~Zmfx8VOBVZc7Z>g zoIhrZ_}{35i=Zdtv%(ZXcREyZ82D%+7~LAb;E?X2-H5y~Bs8zm%0eRXGdQ0ZOiGFN z1v9)M3*Aui;BRH8)8YjClC80KAI2mJrlsaQm3-t1MenRV<+7|MLECJ`0zE$6j6!A9 ze^EIpa2&m~B<-}W*dtQmZvo`(Loj^4fbopuyc zO_MyXr{UpC`Lu5-+m<98dMh4p_+m&_ex*mh5UKI`F<)=3ICR=SF!Yn<(k5|iUn9+S z8wbmJ!+r^^sAI1yR3-PP9bcv04|AnaP!T>Yn!Zp8SDIx|3{oXz2rp&fP{}C)HyIhY zIobZzlZLuO$*;vDrb8;1!>41SC8t+Ha#z zU8g&^q=Po!YAX_m6T1tgn=DOB%GozdW2zy%BHJ*$rkR;(`gb3>=vvj{3wqj6R%J-1 z6f3lzd2&Z`Ct;yfG-U}@K{{BUa7s8IMLQ)d9<)I@%}_qsHOyynJ~yW_Ff8Jgj4v3w zE=h9Zi;33Nw%GGdM27xdjKAD#epL-~t?qu7*d0H=3of|a;|Y8!zTERXNPEF<^+{7anXWK~VyNx=1^Xk_AypO4rqMZ}dWiNNRk9|2pbi(Xe}D=M>h+J?E!MK12B zOjNkdaJHT_{k0?gh1$TE4;bNrSIG-7DmH&6)v`IQ_(f(ipFRuGwX$FHv=|szgwB`g z*VP)eok&Q~$LwccmTQrcbF2N5 zCH7ALC)Ei{uS54l0F#%J{2jAmVOAldRz`Yy40zEwCac?_duJzqo$&X?{Sj&x`wn?q zypq~^K%b4G158aI*;XwJ{H)0QTX{5Xxa|9cnDJmN6%~v6$)-R}^r{1PR0P}{;w$03 z5#L{|Ue>C1I~Ckt4j2`&soP;1Xp9+@ZS3Fs;bczmhiC8l85nAfB>Sei){YDZSR8nu z1pQf695z69MEX(#cm!TYw(Rbhq3j9qt_yrxZ~Kt(Wc&u8c+DuHivXD*HH&n~X4=Va zM^po5)=!)WB3m9<4U?#n*jskx^hZ`VS1j@R0}(AK z2P02;1Z!wzQFR`Bdj=wKVp8>U*Ol10=d_#i$6sp_U}wjRP3z<{UzRTf7T8ddQBn7# z0f2ct(I?3QgDuVow80K+Ksfx)>8RdENgiAR*uXO#_`sI?63nQo4hn$oMy@u~7xK3Y zd!Ma!0*fIlI{Cm^Fych-?uWy;Kx=kER?+tq?fJ{L6?(PfNfe-j#|Lz$-Re0r9B=J@ z&!@ebPNccg;!(Evv%LqVXrxDm0jnx_C5`V-C z=MlR;Y5JZlWO#DgmON$N8!?lVhfZS0RK-R9i>+sPN z(QDe)bf{*E*-1V5C%v48N4%%|i^WR73SP^|B;iMuMWlwv6a8Pa*2yW!DQof@?HEk@?zo@vnvsOwVKCCqA1=~zSm z-TNlr7xtBC2ITq15{0bf!NIhoSDa=1-yb4ZV;&Wi&V)X?UIckWQ^`C<&Fzto_;oK^ zY7&nPTM^Vu$DRb~xM1w9`egg2!UNHVMPj>GO_RB47-sp{V$q^osvuI9oxUsc6l*a| z{J;kQPsie*|2VS#ZYBi;b`m)G@sV`AkJ3j`^4sz7<2wOq2EYcl@d{SLLIP~;8u@Au z{e{Jo#eK~zCRV6*h}$4_s7 zUp8^!CYxKVBK_gj4ZMQyP2reymSvK*?eh3x{&@WD^Zf(garLNp?`!d-%Q;QbK`?^X zox_cMV0HCyM~+sakBDl^QqYz&LqzBPJK(iLNb4f=Iw_*Ca7%T!c;S}`*uQ7r`;>jZ z%`(EarFH3Zd+hhR;{fdnB2#|NNqzTWqe6zFYdT@A;5(Bav&^CC&F}k%ogW(u3yZ!{ z<%MOdsG`vip-K0FR_YZ00aaBAF{e3Z+>?3-;m)G_%dK~kQ_ao{QlPW^P3s1KZlprD zv%em*`&6O@5#h^yD~xN(G88aln?g+|){(mFaG@NsFIRW4vWP?_ zvk|c2@^^6Ro_;>5uB)35!rK-yfixKF3)z|rUok*WFZD6aD&&dg8t5-Q2+d{89SG*& zUb2SW%9S*vOCMRn$T!rcE zg&ZO`6bWtZ85xf4g~i`H(h}i(?h9rzW!aY{^VERwb5xd`Kpd)v7HTQE&9h7*<#C&3 zW;um4*40s_5lkslT<*8;xKM*E=w~R;?Q#3z)=TQ=%O2PO%4C+XDD2{sZtv?B z49Z}%@2Y>oGteBueB{HHOkoK&v5WmUjGxk*0c^g@Wr9{Q54~F3Fdo#{h2;j1szL@ zlZ)HelEa}AS-2$!ia^gWeM&Gq5HaBLAo^#34{lZdmg0|ee1R*CzzOfu;b>R~7Ff_OzDMf04lk4<<6&?#MZcP6sW{n%M~ZZ!%}88YNyo zt@c}4Jy@WXaH5GlK0D^{Tg7y>?xR{Z9550dD8?^fQ89k06#MV1?GxpM6p%X3;Dpc8 za}Hw{&Fkz=Ho#CU00ou%ehJhq0Mm@r%3HpaXC6XE#f&f9Z|+9y>34{D)2TOl@K(d> z7vCw&d~JiDd1GvRaOokcz(9SS(S}pO3V&i^fBUKFOix-sK_Ls0@!~!suw#Dn2~59} zj41Oswb=Gcf2w6|l8kxdtD^5}g{TLp6lw0R(KMSnWy zo*P6xMqkqOb#;HfuyTVKLxINyh`8P8yAvZRuoa>!;Lx@@+kgCWjMzOK1-dmy%VJVU z%V^`9nXVbt(tr%EWA5Zu>V@3W0W2fp89T1UJ@Btf!28|C<-K4qDQZMBom%r<# zuy&c;NIx~t#ue7j70hE<+)q~!2a!pupkkC8-CN>$2 zb9uTP(_Dp}Ks-r!aerKozCB&NeQ5Mn)aE2$STu_r1kVObncarL-om^_it|@qL@mE8 zR&WVSH~&EVnc?)ug0@<_9HSsdpV)G`#;Mhc>CMu_nsmY8TECTJ<3NA-^Vphe11Ut> z6;|EHPJ6<(;$LfRN)FcqS-WI8xjM7o^#H+ml*6G))J{}E@k>=}4BTFW38fef0nZ~! zbVi7UZe+&XJ2WM{$6Oh4+Q1d1!dAO$_4l<1CB>mR=kM}ii20yWF8kU(@=y<9lkxen z@8O6eFTs?%IYuXOSdZ&DV^RK=Z^lu)g_6_-a9rEtYBp~Y_Xq&R43U7bESDnJpj=eh!*MpyQ|{uL#`Ki*T&hPqT;d`D@VkFp(!{1=eO&?!b{n$ zw&~AtjqI9Ik7Arf+6g4bEe@JRyRB}2OL_0HcTfsGk?L8|O;VZu@`>Bpfon3-cavt^Cr*K^2wx{br1?Clu|e9`tg%pQ0b zYjV+Gqceg7@1+!vLW6}vpU3p_unw5cpaCT7F~u)qzI0Qb*JuyTEp}Gtc7Ja;X?UCo zV(oaGjfFVK^p8V}urkLqM%fFb_FAvLY4<9?D-3Q%jV&KuMfQ*Eq Kc$KJ8(EkOTSU64q literal 0 HcmV?d00001 diff --git a/projects/tt_um_lisa/docs/i2c_gpio_bridge.txt b/projects/tt_um_lisa/docs/i2c_gpio_bridge.txt new file mode 100644 index 00000000..c281e26c --- /dev/null +++ b/projects/tt_um_lisa/docs/i2c_gpio_bridge.txt @@ -0,0 +1,16 @@ + +

Tiny Tapeout Extended GPIO

+ +-------------------+ +------------------------+ +-------------------+ +-------------------+ + | TT07 | | | | | | | + | GPIOs | | | | | | | + 16 | | | GPIO | | I2C | uio[6] | Adafruit | + ---/-->|ext_out[15:0] | | Bridge | | Master +-------->|SCL I2C | + 16 | +--------+---- FSM ----+------>| | uio[7] | Port | + <--/---+ext_in[15:0] | | | | +-------->|SDA Expander | + 16 | | | | | | | | + ---/-->|ext_oen[0] {pr} | | {cl} | | {pb} | | {pt} | + +-------------------+ +------------------------+ +-------------------+ +-------------------+ + + +{:FILE scale 0.6 theme light font-size 12} + diff --git a/projects/tt_um_lisa/docs/info.md b/projects/tt_um_lisa/docs/info.md index 7c5ead87..b021b134 100644 --- a/projects/tt_um_lisa/docs/info.md +++ b/projects/tt_um_lisa/docs/info.md @@ -1,37 +1,19 @@ -## How it works +## What is LISA? -This is a Microprocessor build around an 8-Bit Little ISA (LISA) processor. -The following is a block diagram of the project: - - +------+ - +----->|config| - | | regs | - |\ +----+----+ +------+ +------+ +------+ - rx1 -----*-| | | | | lisa | | lisa | - | | | | Debug | | qspi | | qqspi| QSPI - rx2 ---*-|-| +->| Intf +---------->| +<->| +----> - | | | | | | | QSPI | | QPSI | CEs - rx3 -*-|-|-| | | +-------+ | ARB | | Ctrl +----> - | | | |/ +---------+ Ctrl | +--+---+ +------+ - | | | | | | - | | | |Port V | +--------+ - V V V |Sel +-+------+---+ | lisa | - +---------+-+ +--------+ | +---+ debug | - | debug | | HW Int | | LISA | +--------+ - | autobaud | | Mul/ |<-->| CORE | +--------+ - | | | Div | | +---+ Periph | - +-----------+ +--------+ +-+-------+--+ | | - | | | gpio+--> - +-------+ +-----+-+ +---+---+ | i2c+--> - | RAM32 +---+ DATA | | INST | | UART+-> - | 128B | | CACHE | | CACHE | | timer | - +-------+ +-------+ +-------+ +--------+ - - - The LISA Core as a minimal set of register that allow it to run C programs: +It is a Microcontroller built around a custom 8-Bit Little ISA (LISA) +microprocessor core. It includes several standard peripherals that +would be found on commercial microcontrollers including timers, GPIO, +UARTs and I2C. +The following is a block diagram of the LISA Microcontroller: + +![](block_diag.png) + + - The LISA Core has a minimal set of register that allow it to run C programs: - Program Counter + Return Address Resister - Stack Pointer and Index Register (Indexed DATA RAM access) - - Accumulator - + - 8-bit Accumulator + 16-bit BF16 Accumulator and 4 BF16 registers + +### Deailed list of the features - Harvard architecture LISA Core (16-bit instruction, 15-bit address space) - Debug interface * UART controlled @@ -39,31 +21,485 @@ The following is a block diagram of the project: * Auto detects the baud rate * Interfaces with SPI / QSPI SRAM or FLASH * Can erase / program the (Q)SPI FLASH - * Read/write LISA core registers - * Set LISA breakpoints, single step, etc. + * Read/write LISA core registers and peripherals + * Set LISA breakpoints, halt, resume, single step, etc. * SPI/QSPI programmability (single/quad, port location, CE selects) - - (Q)SPI interface for instruction fetch + - (Q)SPI Arbiter with 3 access channels + * Debug interface for direct memory access + * Instruction fetch + * Data fetch + * Quad or Single SPI. Hereafter called QSPI, but supports either. - Onboard 128 Byte RAM for DATA / DATA CACHE - Data bus CACHE controller with 8 16-byte CACHE lines - Instruction CACHE with a single 4-instruction CACHE line - - 16-bit programmable timer (with pre-divide) + - Two 16-bit programmable timers (with pre-divide) - Debug UART available to LISA core also + - Dedicated UART2 that is not shared with the debug interface - 8-bit Input port (PORTA) - 8-bit Output port (PORTB) - 4-bit BIDIR port (PORTC) - I2C Master controller - Hardware 8x8 integer multiplier - Hardware 16/8 or 16/16 integer divider + - Hardware Brain Float 16 (BF16) Multiply/Add/Negate/Int16-to-BF16 - Programmable I/O mux for maximum flexibility of I/O usage. - + It uses a 32x32 1RW [DFFRAM](https://github.com/AUCOHL/DFFRAM) macro to implement a 128 bytes (1 kilobit) RAM module. The 128 Byte ram can be used either as a DATA cache for the processor data bus, giving a 32K Byte address range, or the CACHE controller can be disabled, connecting the Lisa processor core to the RAM directly, limiting the -data space to 128 bytes. +data space to 128 bytes. Inclusion of the DFFRAM is thanks to Uri Shaked (Discord urish) and this DFFRAM example. - Reseting the project **does not** reset the RAM contents. +## Connectivity + +All communication with the microcontroller is done through a UART connected to the Debug Controller. The UART +I/O pins are auto-detected by the debug_autobaud module from the following choices (RX/TX): + + ui_in[3] / ui_out[4] RP2040 UART interface + uio_in[4] / uio_out[5] LISA PMOD board (I am developing) + uio_in[6] / uio_out[5] Standard UART PMOD + +![](debug_uart.png) + +The RX/TX pair port is auto-detected after reset by the autobaud circuit, and the UART baud rate can either be +configured manually or auto detected by the autobaud module. After reset, the ui_in[7] pin is sampled to determine +the baud rate selection mode. If this input pin is HIGH, then autobaud is disabled and ui_in[6:0] is sampled as +the UART baud divider and written to the Baud Rate Generator (BRG). The value of this divider should be: clk_freq / baud_rate / 8 - 1. +Due to last minute additions of complex floating point operations, and only 2 hours left on the count-down clock, the timing +was relaxed to 20MHz input clock max. So for a 20MHz clock and 115200 baud, the b_div[6:0] value would be 42 (for instance). + +If the ui_in[7] pin is sampled LOW, then the autobaud module will monitor all three potential RX input pins for LINEFEED +(ASCII 0x0A) code to detect baud rate and set the b_div value automatially. It monitors bit transistions and searches for three +successive bits with the same bit period. Since ASCII code 0x0A contains a "0 1 0 1 0" bit sequence, the baud rate can be detected easily. + +Regardless if the baud rate is set manually or using autobaud, the input port selection will be detect automatically +by the autobaud. In the case of manual buad rate selection, it simply looks for the first transition on any of the +three RX pins. For autobaud, it select the RX line with three successive eqivalent bit periods. + +### Debug Interface Details + +The Debug interface uses a fixed, verilog coded Finite State Machine (FSM) that supports a set of commands over +the UART to interface with the microcontroller. These commands are simple ASCII format such that low-level testing +can be performed using any standard terminal software (such as minicom, tio. Putty, etc.). The 'r' and 'w' commands must be +terminated using a NEWLINE (0x0A) with an optional CR (0x0D). Responses from the debug interface are always +terminated with a LINFEED plus CR sequence (0x0A, 0x0D). The commands are as follows (responsce LF/CR ommited): + +Command Description +------- ----------- +v Report Debugger version. Should return: lisav1.2 +wAAVVVV Write 16-bit HEX value 'VVVV' to register at 8-bit HEX address 'AA'. +rAA Read 16-bit register value from 8-bit HEX address 'AA'. +t Reset the LISA core. +l Grant LISA the UART. Further data will be ignored by the debugger. ++++ Revoke LISA UART access. NOTE: a 0.5s guard time before/after is required. + +NOTE: All HEX values must be a-f and not A-F. Uppercase is not supported. + +### Debug Configuration and Control Registers + +The following table describes the configuration and LISA debug register addresses available via the debug 'r' and 'w' +commands. The individual register details will be described in the sections to follow. + +ADDR Description ADDR Description +---- ----------- ---- ----------- +0x00 LISA Core Run Control 0x12 LISA1 QSPI base address +0x01 LISA Accumulator / FLAGS 0x13 LISA2 QSPI base address +0x02 LISA Program Counter (PC) 0x14 LISA1 QSPI CE select +0x03 LISA Stack Pointer (SP) 0x15 LISA2 QSPI CE select +0x04 LISA Return Address (RA) 0x16 Debug QSPI CE select +0x05 LISA Index Register (IX) 0x17 QSPI Mode (QUAD, flash, 16b) +0x06 LISA Data bus 0x18 QSPI Dummy read cycles +0x07 LISA Data bus address 0x19 QSPI Write CMD value +0x08 LISA Breakpoint 1 0x1a The '+++' guard time count +0x09 LISA Breakpoint 2 0x1b Mux bits for uo_out +0x0a LISA Breakpoint 3 0x1c Mux bits for uio +0x0b LISA Breakpoint 4 0x1d CACHE control +0x0c LISA Breakpoint 5 0x1e QSPI edge / SCLK speed +0x0d LISA Breakpoint 6 0x20 Debug QSPI Read / Write +0x0f LISA Current Opcode Value 0x21 Debug QSPI custom command +0x10 Debug QSPI Address (LSB16) 0x22 Debug read SPI status reg +0x11 Debug QSPI Address (MSB8) + +### LISA Processor Interface Details + +The LISA Core requires external memory for all Instructions and Data (well, sort of for data, the +data CACHE can be disabled then it just uses internal DFFRAM). To accomodate external memory, +the design uses a QSPI controller that is configurable as either single SPI or +QUAD SPI, Flash or SRAM access, 16-Bit or 24-Bit addressing, and selectable Chip Enable for each +type of access. To achieve this, a QSPI arbiter is used to allow multiple accessors as shown in +the following diagram: + +![](qspi_arch.png) + +The arbiter is controlled via configuration registers (accessible by the Debug controller) +that specify the operating mode per CE, and CE selection bits for each of the three interfaces: + + + - Debug Interface + - LISA1 (Instruction fetch) + - LISA2 (Data read/write) + +The arbiter gives priority to the Debug accesses and processes LISA1 and LISA2 requests using +a round-robbin approach. Each requestor provides a 24-bit address along with 16-bit data read/write. +For the Debug interface, the address comes from the configuration registers directly. For LISA1, +the address is the Program Counter (PC) + LISA1 Base and for LISA2, it is the Data Bus address + +LISA2 Base. The LISA1 and LISA2 base addresses are programmed by the Debug controller and set the +upper 16-bits in the 24-bit address range. The PC and Data address provide the lower 16 bis (8-bits +overlapped that are 'OR'ed together). The BASE addresses allow use of a single external QSPI SRAM +for both instruction and data without needing to worry about data collisions. + +When the arbiter chooses a requestor, it passes its programmed CE selection to the QSPI controller. The +QSPI controller then uses the programmed QUAD, MODE, FLASH and 16B settings for the chosen CE to process the +request. This allows LISA1 (Instruction) to either execute from the same SRAM as LISA2 (Data) or to +execute from a separate CE (such as FLASH with permanent data storage). + +Additionally the Debug interface has special access registers in the 0x20 - 0x22 range that allow +special QSPI accesses such as FLASH erase and program, SRAM programming, FLASH status read, etc. In +fact the Debug controller can send any arbitrary command to a target device, using access that either +provide an associated address (such as erase sector) or no address. The proceedure for this is: + + 1. Program Debug register 0x19 with the special 8-bit command to be sent + 2. Set the 9-th bit (reg19[8]) to 1 if a 16/24 bit address needs to be sent) + 3. Perform a read / write operation to debug address 0x21 to perform the action. + +Simple QSPI data reads/write are accomplished via the Debug interface by setting the desired address +in Debug config register 0x10 and 0x11, then performing read or write to address 0x20 to perform the request. +Reading from Debug config register 0x22 will perform a special mode read of QSPI register 0x05 (the FLASH +status register). + +Data access to the QSPI arbiter come from the Data CACHE interface (described later), enabling a 32K address +space for data. However the design has a CACHE disable mode that directs all Data accesses directly to the +internal 128 Byte RAM, thus eliminating the need for external SRAM (and limiting the data bus to 128 bytes). + +### Programming the QSPI Controller + +Before the LISA microcontroller can be used in any meaningful manner, a SPI / QSPI SRAM (and optionally a NOR FLASH) must +be connected to the Tiny Tapeout PCB. Alternately, the RP2040 controller on the board can be configured to emulate a +single SPI (the details for configuring this are outside the scope of this documentation ... search the Tiny Tapeout +website for details.). For the CE signals, there are two operating modes, fixed CE output and Mux Mode 3 "latched" CE +mode. Both will be described here. The other standard SPI signals are routed to dedicated pins as follows: + +Pin SPI QSPI Notes +---- --- ---- ----- +uio[0] CE0 CE0 +uio[1] MOSI DQ0 Also MOSI prior to QUAD mode DQ0 +uio[2] MISO DQ1 Also MISO prior to QUAD mode DQ1 +uio[3] SCLK SCLK +uio[4] CE1 CE1 Must be enabled via uio MUX bits +uio[6] - DQ2 Must be enabled via uio MUX bits +uio[7] - DQ3 Must be enabled via uio MUX bits + +For Special Mux Mode 3 (Debug register 0x1C uio_mux[7:6] = 2'h3), the pinout is mostly the same except the CE signals are not constant. +Instead they are "latched" into an external 7475 type latch. This mode is to support a PMOD board connected to the uio +PMOD which supports a QSPI Flash chip, a QSPI SRAM chip, and either Debug UART or I2C. For all of that functionality, +nine pins would be required for continuous CE0/CE1, however only eight are available. So the external PMOD uses uio[0] as a +CE "latch" signal and the CE0/CE1 signals are provided on uio[1]/uio[2] during the latch event. This requires a series +resistor as indicated to allow CE updates if the FLASH/SRAM is driving DQ0/DQ1. The pinout then becomes: + +Pin SPI/QSPI Notes +---- --- ----- +uio[0] ce_latch ce_latch HIGH at beginning of cycle +uio[1] ce0_latch/MOSI/DQ0 Connection to FLASH/SRAM via series resistor +uio[2] ce1_latch/MISO/DQ1 Connection to FLASH/SRAM via series resistor +uio[3] SCLK +uio[6] -/DQ2 Must be enabled via uio MUX bits +uio[7] -/DQ3 Must be enabled via uio MUX bits + +This leaves uio[4]/uio[5] available for use as either UART or I2C. + +Once the SPI/QSPI SRAM and optional FLASH have been chosen and connected, the Debug configuration registers must +be programmed to indicate the nature of the external device(s). This is accompilished using Debug registers 0x12 - 0x19 and +0x1C. To programming the proper mode, follow these steps: + + 1. Program the LISA1, LISA2 and Debug CE Select registers (0x14, 0x15, 0x16) indicating which CE to use. + - 0x14, 0x15, 0x16: {6'h0, ce1_en, ce0_en} Active HIGH + + 2. Program the LISA1 and LISA2 base addresses if they use the same SRAM: + - 0x12: {LISA1_BASE, 8'h0} | {8'h0, PC} + - 0x13: {LISA2_BASE, 8'h0} | {8'h0, DATA_ADDR} + 3. Program the mode for each Chip Enable (bits active HIGH) + - 0x17: {10'h0, is_16b[1:0], is_flash[1:0], is_quad[1:0]} + 4. For Quad SPI, Special Mux Mode 3, or CE1, program the uio_mux mode: + - 0x1C: + * [7:6] = 2'h2: Normal QSPI DQ2 select + * [7:6] = 2'h3: Special Mux Mode 3 (Latched CE) + * [5:4] = 2'h2: Normal QSPI DQ3 select + * [5:4] = 2'h3: Special Mux Mode 3 + * [1:0] = 2'h2: CE1 select on uio[4] + 5. For RP2040, you might need to slow down the SPI clock / delay between successive CE activations: + - 0x1E: + * [3:0] spi_clk_div: Number of clocks SCLK HIGH and LOW + * [10:4] ce_delay: Number clocks between CE activations + * [12:11] spi_mode: Per-CE FALLING SCLK edge data update + 6. Set the number of DUMMY ready required for each CE: + - 0x18: {8'h0, dummy1[3:0], dummy0[3:0] + 7. For QSPI FLASH, set the QSPI Write opcode (it is different for various Flashes): + - 0x19: {8'h0, quad_write_cmd} + +NOTE: For register 0x1E (SPI Clock Div and CE Delay), there is only a single register, meaning this + register value applies to both CE outputs. Delaying the clock of one CE will delay both, + and adding delay between CE activations does not keep track of which CE was activated. + So if two CE outputs are used and a CE delay is programmed, it will enforce that delay + even if a different CE is used. This setting is really in place for use when the RP2040 + emulation is being used in a single CE SRAM mode only (i.e. you have no external PMOD + with a real SRAM / FLASH chip. In the case of real chips on a PMOD, SCLK and CE delays + (most likely) are not needed. The Tech Page on the Tiny Tapeout regarding RP2040 SPI SRAM + emulation indicates a delay between CE activations is likely needed, so this setting is + provided in case it is needed. + +## Architecture Details + +Below is a simplified block diagram of the LISA processor core. It uses an 8-bit accumulator for most of +its operations with the 2nd argument predominately coming from either immediate data in the instruction +word or from a memory location addressed by either the Stack Pointer (SP) or Index Register (IX). + +There are also instructions that work on the 15-bit registers PC, SP, IX and RA (Return Address). As +well as floating point operations. These will be covered in the sections to follow. + +![](lisa_arch.png) + +### Addressing Modes + +Like most processors, LISA has a few different addressing modes to get data in and out of the core. These +include the following: + +Mode Data Description +---- ---- ----------- +Register Rx[n -: 8] Transfers between registers (ix, ra, facc, etc.). +Direct inst[n:0] N-bit data stored directly in the instruction word. +NextOp (inst+1)[14:0] Data stored in the NEXT instruction word (2 cycle). +Indirect mem[inst[n:0]] The address of the data is in the instruction word. +Periph periph[inst[n:0]] Accesses to the peripheral bus. +Indexed mem[sp/ix+inst[n:0]] The SP or IX register is added to a fixed offset. +Stack mem[sp] Current stack pointer points to the data (push/pop). + +### The Control Registers + +To run meaninful programs, the Program Counter (PC) and Stack Pointer (SP) must +be set to useful values for accessing program instructions and data. The PC is automatically reset +to zero by rst_n, so that one is pretty much automatic. All programs start at address zero (plus +any base address programmed by the Debug Controller). But as far as the LISA core is concerned, it +knows nothing of base addresses and believes it is starting at address zero. + +Next is to program the SP to point to a useful location in memory. The Stack is a place where C +programs store their local variable values and also where we store the Return Address (RA) if we need +to call nested routines, etc. The stack grows down, meaning it starts at a high +RAM address and decrements as things are added to the stack. Therefore the SP should be programmed +with an address in upper RAM. LISA supports different Data bus modes through it's CACHE controller, +including CACHE disable where it can only access 128 bytes. But for this example, let's assume we have +a full range of 32K SRAM available. The LISA ISA doesn't have an opcode for loading the SP directly. +Instead it can load the IX register directly with a 15-bit value using NextOp addressing, and it +supports "xchg" opcodes to exchange the IX register with either the SP or RA. +So to load the SP, we would write: + + Example: + ldx 0x7FFF // Load IX with value in next opcode + xchg_sp // Exchange IX with SP + +The IX register can be programmed as needed to access other data within the Data Bus address range. This +register is useful especially for accessing structures via a C pointer. The IX then becomes the value +of the pointer to RAM, and Indexed addressing mode allows fixed offsets from that pointer (i.e. structure +elements) to be accessed for read/write. + +Loading the PC indirectly can be done using the "jmp ix" opcode which does the operation pc <= ix. Loading +ix from the pc directly is not supported, though this can be accomplished using a function call and opcodes +to save RA (sra) and pop ix: + + Example: + get_pc: + sra // Push RA to the stack (Save RA) + pop_ix // Pop IX from the stack + ret // Return. Upon return, IX is the same as PC + +### Conditional Flow Processing + +Program flow is controlled using flags (zero, carry, sign), arithemetic mode (amode) and condition +flags (cond) to determine when program branches should occur. Specific opcode update the flags and +condition registers based on results of the operation (AND, OR, IF, etc.). Then conditional branches +are made using bz, bnz and if (and variants ifte "if-then-else" and iftt "if-then-then"). Also +available are rc "Return if Carry" and rz "Return if Zero", though these are less useful in C programs +as typically a routine uses local variables and the stack must be restored prior to return, mandating +a branch to the function epilog to restore the stack and often the return address. Below is a list +of the opcodes used for conditional program processing: + +Legend for operations below: + + - acc_val = inst[7:0] + - pc_jmp = inst[14:0] + - pc_rel = pc + sign_extend(inst[10:0]) + +Opcode Operation Encoding Description +------ --------- -------- ----------- +jal pc <= pc_jmp 0aaa_aaaa_aaaa_aaaa Jump And Link (call). + ra <= pc +ret pc <= ra 1000_1010_0xxx_xxxx Return +reti pc <= ra 1000_11xx_iiii_iiii Return Immediate. + acc <= acc_val +br pc <= pc_rel 1011_0rrr_rrrr_rrrr Branch Always +bz pc <= pc_rel 1011_1rrr_rrrr_rrrr Branch if Zero. + if zero=1 +bnz pc <= pc_rel 1010_1rrr_rrrr_rrrr Branch if Not Zero. + if zero=0 +rc pc <= ra 1000_1011_0xxx_xxxx Return if Carry + if carry=1 +rz pc <= ra 1000_1011_1xxx_xxxx Return if Zero + if zero=1 +call_ix pc <= ix 1000_1010_100x_xxxx Call indirect via IX + ra <= pc +jump_ix pc <= ix 1000_1010_101x_xxxx Jump indirect via IX +if cond <= ?? 1010_0010_0000_0ccc If. See below. +iftt cond <= ?? 1010_0010_0000_1ccc If then-then. See below. +ifte cond <= ?? 1010_0010_0001_0ccc If then-else. See below. + +### The IF Opcode + +The "if" opcode and it's variants "if-then-then" and "if-then-else" control program flow in a slightly +different manner than the others. Instead of affecting the value of the PC directly, they set the two +condition bits "cond[1:0]" to indicate which (if any) of the two following opcodes should be executed. +the cond[0] bit represents the next instruction and cond[1] represents the instruction following that. All +three "if" forms take an argument that checks the current value of the FLAGS to set the condition bits. The +argument is encoded as the lower three bits of the instruction word ard operate as shown in the following table: + +Condition Test Encoding Description +--------- ---- -------- ----------- +EQ zflag=1 3'h0 Execute if Equal +NE zflag=0 3'h1 Execute if Not Equal +NC cflag=0 3'h2 Execute if Not Carry +C cflag=1 3'h3 Execute if Carry +GT ~cSigned & ~zflag 3'h4 Execute if Greater Than +LT cSigned & ~zflag 3'h5 Execute if Less Than +GTE ~cSigned | zflag 3'h6 Execute if Greater Than or Equal +LTE cSigned | zflag 3'h7 Execute if Less Than or Equal + +The "if" opcode will set cond[0] based on the condition above and the cond[1] bit to HIGH. It only affects +the single instruction following the "if" opcode. The "iftt" opcode will set both cond[0] and cond[1] to the +same value based on the condition above. It means "if true, execute the next two opcodes". And the "ifte" +opcode will set cond[0] based on the condition above and cond[1] to the OPPOSITE value, meaning it will execute +either the following instruction OR the one after that (then-else). + + Example: + ldi 0x41 // Load A immediate with ASCII 'A' + cpi 0x42 // Compare A immediate with ASCII 'B' + ifte eq // Test if the compare was "Equal" + jal L_equal // Jump if equal + jal L_different // Jump if different + +The above code will load the "jal L_equal" opcode but will not execute it since the compare was Not Equal. +Then it will execute the "jal L_different" opcode. Note that if the compare were "ifte ne", it would +call the L_equal function and then upon return would not execute the "L_different" opcode. This is because +the cond[1] code is saved with the Return Address (RA) during the call and restored upon return. This means +the FALSE cond[1] code would prevent the 2nd opcode from executing. As an opcode gets executed, the cond[1] +value is shifted into the cond[0] location, and the cond[1] is loaded with 1'b1. + +### Direct Operations + +To do any useful work, the LISA core must be able to load and operate on data. This is done through the +accumulator using the various addressing modes. The diagram below details the Direct addressing mode where +data is stored directly in the opcode / instruction word: + +![](lisa_direct_acc.png) +\clearpage +The instructions that use direct addressing are: + +Opcode Operation Encoding Description +------ --------- -------- ----------- +adc A <= A + imm + C 1001_00xx_iiii_iiii ADD immediate with Carry +ads SP <= SP + imm 1001_01ii_iiii_iiii ADD SP + signed immediate +adx IX <= IX + imm 1001_10ii_iiii_iiii ADD IX + signed immediate +andi A <= A & imm 1000_01xx_iiii_iiii AND immediate with A +cpi Z,C <= A >= imm 1010_01xx_iiii_iiii Compare A >= immediate +cpi Z,C <= A >= imm 1010_01xx_iiii_iiii Compare A >= immediate + +### Accumulator Indirect Operations + +The Accumulator Indirect operations use immediate data in the instruction word to index +indirectly into Data memory. That memory address is then used to load, store or both +load and store (swap) data with the accumulator. + +![](lisa_indirect_acc.png) + +Opcode Operation Encoding Description +------ --------- -------- ----------- +lda A <= M[imm] 1111_01pi_iiii_iiii Load A from Memory/Peripheral +sta M[imm] <= A 1111_11pi_iiii_iiii Store A to Memory/Peripheral +swapi A <= M[imm] 1101_11pi_iiii_iiii Swap Memory/Peripheral with A + M[imm] <= A + + - p = Select Peripheral (1'b1) or RAM (1'b0) + - iiii = Immediate data + +### Indexed Operations + +Indexed operations use either the IX or SP register plus a fixed offset from the immediate field of the +opcode. The selection to use IX vs SP is also from the opcode[9] bit. The immediate field is not +sign extended, so only positive direction indexing is supported. This was selected because this mode +is typically used to access either local variables (when using SP) or C struct members (when using IX), +and in both cases, negative index offsets aren't very useful. The following is a diagram of indexed addressing: + +![](lisa_indexed.png) + +Opcode Operation Encoding Description +------ --------- -------- ----------- +add A <= A+ M[ind] 1100_00si_iiii_iiii ADD index memory to A +and A <= A & M[ind] 1101_00si_iiii_iiii AND A with index memory +cmp A >= M[ind]? 1110_10si_iiii_iiii Compare A with index memory +dcx M[ind] -= 1 1001_11si_iiii_iiii Decrement the value at index memory +inx M[ind] += 1 1110_01si_iiii_iiii Increment the value at index memory +ldax A <= M[ind] 1111_00si_iiii_iiii Load A from index memory +ldxx IX <= M[SP+imm] 1100_110i_iiii_iiii Load IX from memory at SP+imm +mul A <= A*M[ind]L 1100_10si_iiii_iiii Multiply index memory * A, keep LSB +mulu A <= A*M[ind]H 1000_01si_iiii_iiii Multiply index memory * A, keep MSB +or A <= A | M[ind] 1101_10si_iiii_iiii OR A with index memory +stax M[ind] <= A 1111_10si_iiii_iiii Store A to index memory +stxx M[SP+imm] <= IX 1100_111i_iiii_iiii Save IX to memory at SP+imm +sub A <= A-M[ind] 1100_10si_iiii_iiii SUBtract index memory from A +swap A <= M[ind] 1110_11si_iiii_iiii Swap A with index memory + M[ind] <= A +xor A <= A ^ M[ind] 1110_00si_iiii_iiii XOR A with index memory + +\clearpage +Legend for table above: + + - ind = IX or SP + immediate + - s = Select IX (zero) or SP (one) + - iiii = Immediate data + +The Zero and Carry flags are updated for most of the above operations. The Carry flag is only updated for math operations where a Carry / Borrow could occur. + +Carry Zero +----- ----------------- +adc add and +add or xor +sub cmp sub +cmp dcx inx +dcx swap ldax +inx mul mulu + + +### Stack Operations + +Stack operations use the current value of the SP register to PUSH and POP items to the stack in +opcode. As items are PUSHed to the stack, the SP is decremented after each byte, and as they +are POPed, the SP is incremented prior to reading from RAM. + +![](lisa_stack.png) + +Opcode Operation Encoding Description +------ --------- -------- ----------- +lra RA <= M[SP+1] 1010_0001_0110_01xx Load {cond,RA} from stack + SP += 2 +sra M[SP] <= RA 1010_0001_0110_00xx Save {cond,RA} to stack + SP -= 2 +push_ix M[SP] <= IX 1010_0001_0110_10xx Save IX to stack + SP -= 2 +pop_ix IX <= M[SP+1] 1010_0001_0110_11xx Load IX from stack + SP += 2 +push_a M[SP] <= A 1010_0000_100x_xxxx Save A to stack + SP -= 1 +pop_a A <= M[SP+1] 1010_0000_110x_xxxx Load A from stack + SP += 1 + ## How to test You will need to download and compile the C-based assembler, linker and C compiler I wrote (will make available) @@ -73,6 +509,21 @@ Also need to download the Python based debugger. - Includes limited libraries for crt0, signed int compare, math, etc. - Libraries are still a work in progress - Linker is fully functional - - C compiler is functional (no float support at the moment) but is a work in progress. + - C compiler is somewhat functional (no float support at the moment) but has *many* bugs in the generated code and is still a work in progress. - Python debugger can erase/program the FLASH, program SPI SRAM, start/stop the LISA core, read SRAM and registers. +\clearpage +### Legend for Pinout + + - pa: LISA GPIO PortA Input + - pb: LISA GPIO PortB Output + - b_div: Debug UART baud divisor sampled at reset + - b_set: Debug UART baud divisor enable (HIGH) sampled at reset + - baud_clk: 16x Baud Rate clock used for Debug UART baud rate generator + - ce_latch: Latch enable for Special Mux Mode 3 as describe above + - ce0_latch: CE0 output during Special Mux Mode 3 + - ce1_latch: CE1 output during Special Mux Mode 3 + - DQ1/2/3/4: QUAD SPI bidirection data I/O + - pc_io: LISA GPIO Port C I/O (direction controllable by LISA) + +![](lisa_pinout.png) diff --git a/projects/tt_um_lisa/docs/lisa_arch.png b/projects/tt_um_lisa/docs/lisa_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..42b4dc826bcddcd53e55c515e4b6985347448019 GIT binary patch literal 75226 zcmZs@byODJ|1~^-gmg)FcXuNV(h`!=-Q6YK-Q7~s9TL(F(x7xocfI57_xJquuEl}{ z>zbJ}=hOS_O}LVR6cRihJOBVlGScEI0Psd003biZL4todBZe;me?U3Cm-z?{1I>;Q z?GFGXfQ-24NB6AbY#VcYjh}auLU$S@xsI*e*2PIOQb-3Nxf+NWYZ~o{VOfw4U`T(1q{S73LZ2fM zMZ$A`bMMzOW6oiR*V&y-OghBw_GdM{)oeG*YeMi=@pQct>WwJse_wGBn|^I;!2kOd zi+$zA6i-JXb7Yg7?Ezx2*}|AG?XPae!$2Lr1HAiTa4<#i8y|a)*jm z)R*^-TskrDr349lNn`1~y~^i~8;EDoCuN=nKpYK4+UV=FhTl1hpjyZFL+MD0|y!hcZKfWx({zD zKXrMaFI?Cf_s6tq;HcvY1JWyo1T4>gYbMIjJKA3$%JG zoc)f_t+jmlG@y!7wKwO|Yw}v}bC5|H&98jv&lUzxH;X+Ztql(@;KsuuH_j;V?vD7i>jPy^+ zBm-O+nHTH{#E#7+_L%3=hgV+Jt9lT?qy-A?>BAzWo&CP2G%C@ChS0qvpn2z+eGa|M2hqccDojC@U9r^YnJ&8E6h#c?jyw5Az?mB?t8+0 z?3l+xK@*Kr4*3E2P}}B;{>cXic)uWq?v+hc z3WW{XKb`KIj)kn)Ez6!5)l%durcWKuj|SN1I`hZ!LXf=BFxdj6_Ov9zN_7sP?Y)H* zsj3eGR(=cR3CCGy-H%2YduDBxhr(Z`;r?(=ZXj%mCpJEookV58%^!Zsk?EF|GExTe zHi)~>u-_aYDJ`NEvFE)|y(tZ6 z6*>G%FAo)J0Ca`iZ;E5Nxv_#_ZxzJe9;6;zjXEETj(JVUHBG@@`F5f!qEmdC<2+%D zO%H#|dgzt>>qVxxxMD8p4eV&bSp?SJD4 zD(@xaK^u18&QHOWTkc`@aQX0f_!ID%3O90TGsk6+c%YR~fhe3tz;{$Avg7^tH+y-6>MQWu`b0 z(v1Sk1nsT=(C?6SLw+-K5=K#{+A+;}BHJxpKlv%egwp8k6^{*D2GC>7@wWX=Fh@uE zmr9TCqQakHFfA=U<2+{Vxbox|ZI+|Gr9gJ?6^b7=ZdznSUn1^6pG)+R{O};bSD%?L zRjjLVPD%zh+Es5!)7wI z-Sc3UTUQ;xFIOJ9u8s7WpvtA3PpFGT3z6IvaJuL`Sa>&B0j`$SwO#O@gLbueDY3o@ zs;PBy7c>s18nJ;T+igaqP}q-!tv`vj4mNOsSI9KSa5DmB-T5y+aUWJDEP#Bc`tEND zW%9u1B^CJh^{sU0!Pjxg&KbXo^Dfg8eI~$bH{GE~%S607>3GAh-`ta)R>tR&ZDK7W zFXjb>ZLkpvxd@XHJH7MXzfjU`G$JJC-G_4a7G%PW6-6y_`9JeH$W%u z_%d87V_@W6h>2VNQ(p!!`K2PF+2Y@GVxON$3Y=x#pgJVL%BmD54H!cBJGWV4qfs1@ zT6MZQT?HK8=^y)6n)bMXS$KcyiAa%cgg=&Vhca5S&^YpJBy2qrUNm=G|4J{3m((Ym z1W)<_J#4)-+JXg42p7>8f74Q^D7cd}|Tb;V2usz02m zA1GzS%MJA_Q?Euj${9VG>7wA^OJRWFvLJ#R-Xp=iY<^ByU^-NpjaWfNt-KeC3;5;Q z0{U*aO(RjAr-Bz~E%4<}vGsoA5!VREti^VE-B#Zt5Ks)sC2q;uG5vdA{%9+hc z$6&vL$hg9o8NA}jlNtBu!W>cgnxekn8G%xJFDHg7jtI{m*nmH`0oF{^H3jP`?8c`f z%TMMM^hDB{y4q^(q?^`9mL^~@8wUhu9LzT d=Zx4A{@ZZFHccN<2EFKofS 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�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

x0MH!BW3yU@{c4E)Kz(Rx_b|l%&QRr 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

    hdM;phvHK}){gUdk<;GUOP~FWj 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 literal 0 HcmV?d00001 diff --git a/projects/tt_um_lisa/docs/lisa_arch.txt b/projects/tt_um_lisa/docs/lisa_arch.txt new file mode 100644 index 00000000..8758f0d9 --- /dev/null +++ b/projects/tt_um_lisa/docs/lisa_arch.txt @@ -0,0 +1,28 @@ + To QSPI Arbiter 15 Bit {pr} {pr} 15 Bit To QSPI Arbiter + ^ /-----------------\ /-----------------\ .-. |\ ^ + | | Return Address |<--*-->| Index Reg +--->| + +--->| | | + | \-----------------/ | \-----------------/ '-' | | v + v | ^ | | +---+----+ + +---+---+ 15 Bit {pr} | {pr} 15 Bit +---+ | | 15 | Data | + | Inst | 15 /-----------------\ | /-----------------\ .-. | | +-/->| CACHE | + | CACHE |<-/-+ Program Counter |<--*-->| Stack Pointer +-*->| + +-|->| | | {pw} | + | | \-----------------/ \-----------------/ | '-' | | | +---+----+ + | | | ^ | | | ^ + | Store | 16 +-----------------+ +----|---|->| | | + | x4 +-/->| +--------------------------------*---*->| | | + +-------+ | ^Instruction^ | 8 +-------------+ |/ v + | ^Decode^ +------/-->| | 8 +---+----+ + +-----------------+ | ALU |<--/-----------------+ RAM32 | + | {pb} | | DFFRAM | + +--------+ 16 +-------------+ +------+----+-+ +---------+ +--->| 128 B | + | {pt} +<-/->| BF16 ALU | ^ | +---->| Flags | | +--------+ + | BF16 | +------+------+ | | +---------+ | {pw} + | Regs | {pt} v {pt} | v {pb} {pb} | + | | 16 +-------------+ 8 +--+----------+ 8 | + | x4 |<-/->| BF16 |<-/->| 8-Bit |<--/------------+ + | | | Accumulator | | Accumulator | + +--------+ +-------------+ +-------------+ + +

    Simplified LISA Processor Block Diagram

    + +{:FILE scale 0.9 theme light font-size 10} diff --git a/projects/tt_um_lisa/docs/lisa_direct_acc.png b/projects/tt_um_lisa/docs/lisa_direct_acc.png new file mode 100644 index 0000000000000000000000000000000000000000..73309c2ca4d40416c9b5c256eac8b37eed7d12fe GIT binary patch literal 23794 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 xXI zl6+{gDrbCz`saGDac6mrg)ejP-zu4+w4*sS0{~D}19AshZP|l(|1Ce?xP61zHtdYC z)^?1+fJ|(unD(^C<(KL?g=s6m*-a)xIzgnbx=(@t8%qvB&D(H3DtqqITwU88doW5* z!wpVmKq3L%G5|auMb`%9>i3)JQ)PW`wCbQI=@}%!%%ztZ=mXXeXRLjgnYFT9nPQ@A z3$JjTde?Wb1#w)4X9sMfstsohQyWAbLdR=T>Ufy+&YGg3Ix$NeGDa=Tzaw!_!;g*aT0`zYIxQWb+_4hegWsbHqW z{TIf$71ZOuZ{E8`Cp-PGqxc~Yg1K;b8IK|y@xz{jZ*%6b4m2iQeT?gKo zb>~|FCK!~vde{QuH9bB2$+l8$W`%W)R^Y$%LN~=${zYB&m(F3oBx6uinH*E>8!3iV z)woq5(a`@^4991^kG=Pzch*6tXY!hnvp+PgO^^N01w~yZ>Rd~>e@V&&Enxqn__hai z_YoZj2s#pH48n(@L5%W(`zcAWTq&XCuY67<0ZTxvbS0z@F!qWJrUf!y^`cC0bs5#B zd|?W%$93?c4$c_JFPUl#cqCfd4DK?eC)Du+H&n!)e5TP3F*Wi~Zd&ubrPw}$1y zh|tPu32QM}#$G-A?miSoWj5WpD*7Nb#c)fVbTwpNsp20Dc5v3(6rzMYgorcpk7afB zfL5=)x_w7Do`MvbJd{GKwjoz6wRL{ zH1e&xu?<8dKjJ|KY?c0K+4bPXEV}>>g9cwy<{fct-{B_6LcK|&$yX6O=Rqq;)zp)B zKuOSe)MK|28bXO~8AmB67s_xnBcavHZ< zvgt2m-tcZlWDCixMw}XRj~YOC!|~IEh`lr2m~hzs!?VhoP1BO>r*E)de98sLDNSa{ z3BWQ|%hLT%_TPd(ImoS{h*zAJE^Mns!CGU*x6|mi$7b3`GW^t(4rXjs;A{;7_ryQ_ z+tZ(mHg)?>cUmKNP##?F?&CyP$s48wL(okvtEUiW{FQFY)$4+a?j+QlI~YprVW!=D z8*ttuzi4AG(@QFz2L4?O&oc@!u#O0LD-V0fJAT(3P4pge0+}-`Sm=&YXve2fi_4lrhu{izf)a)#)F?5aqaP;3v%%8X3AcI(aYhvN=aqn1dI%~X+A*UFuQa5@`61Ti z9q_L}IN>`~INX0V!x6!K(EnN>{bJ_9|LTdO%nRzp{xuA+sp!DcAO8Oq8pHg5)y==MXL3Z2pbx|d09X(MmcWQZMqVu!y!sZ8jZiWFO@p1ZZ1qs| z5ab#z`8(EKg`l#6B^Mx=+_t`S{0SBBe;&DGUExjQ^~nXRseORQ|JPOMqIMOz3`0Fm z21_Oa{0+Jfqv`VGR+Vl97QscV6#8@jXWL{SN<1RHPvv`CS@eN0NOhHBl@?4V0|mq* z4vIsV)`Rnl=(WeI`WpMufo%XNg=MHn2}sHCy~@4KTHbWB>r1wW77k)a263|%WDO%2jAp&1laQ zI7>&5+PR`7f^E1KfB`$k|MydNoTIwq5d^7)jY3cCHLOw$i^5s z-@)L+NZ19*%X{nj=dSS0=0WPK5oxHf;-DHu8EM!?N7r^1&@Cou_GCc^`C^>$%VtN7 zEn#x)hJ;LtfraD!XkVd5AXGX?8p6|pR6YNymtOtk8a#S;qQ zi2y6T!bio#61KS6pt0Q}58OFSg;8kobiC9@u;3&D&F?y~Fm(T6{O)agT)gzVf>jB3PV}{=ybF!w&BATkxBR0g-cg414)UP z|4PxVHY7iz5^y&SJTn#klo#cKt%7g^0CCd4{|m6|tG7N^GF&vY(4%GWz`5gvjN1R} z?pJvW2m9Q`9~>ICnX$&sF|vz~P*yh43iIy4o?u0@wplEp5H=i+LrTuK8#jkhfcJTtU)%itA~Hxy zNsG%G*2jQ+vXkK6s5=YK6xyTjzzZh_0r5|)CX>oh>{W z6yg0hD#UQ{ezFQBfsZ1Tsx)t~d{h`$?FF>exz!8Y#ULf{|2z%g?x<3ccXhP7+`<24 znLYwZ90AlBo$;T{U@qw}K@+am(=~i8-F!f{z;hpDboN38t)97mTE?c4e%p!$Fpoh4 z^5bAVGv>4oP=D?sAajc5YJ<&f7`|Z>Og@qj3J#sn;4eBsGe;;402m<{|9H~)@PCRp z?|7=;_m97=93z`hR<>+H$liOCO_^mR*&NB1jxEG7J7y#@4xNljBt;_G9DDD5ez(u} zkKf~Q{yHA#{dUjSbzk@Ec~Q1tYb~xRB#=Dp6p3A!gaJwmQZiFtv5?)lussN%fW{5c zQEoh(n?lg10M7|5KvDew#*!v&+DQ!z=dlhjlH3wgvj>X5z!gF)YuHjM$D7@bT99-L zNm?z`Es)<0&jNXCs#E72^uR>3Uru?VUchdUqt0kT&L#}WRQ~70})i1jr-jpuQTrhNJ z_o$+d!?V3ar^no&0z--%hkRBZebEo_aJL*7XH`A9)O> zfHD;~Sl3#~6k*2ID`rJ4p-Y{%DjxI24K|)(o)BR2!pFjcge0XDcq%jy+jtT*(-m@hNFGXBC<>SBBFKzjAxRCSyKISI*H=<5e! zPj3mWX`(#=s1=i63@qmh`^(o8f{r)Z|4O^nH$CY~pa;>xvh3yBWWE1dAU9B#YliK} zbKYk`TMmuHvibqWZ7s=#BlG_64dfQLv`K2x6EF^IH9D0@+J(siZSPX>@}YXsnKgwh zwceYY?2`6PXsj&FxyyvQA)Y{J~!Sy%0)7XxMob zeTNg^QFOIFy|4nx556DEzvNSvO(eI*=|C6xvj7F{(rMhde)r4?587hcD_OTX>bR`UMh?Q&QTx(D9L`<)XsS#Wi{EvGVeZ}RJxw}J#vD(Cn3 zr=Z_*Mo_>K;{VzQ=(+Ia%5#0edQr~p`(n%!uZ8|YedxX8YoBf7R*l73N&-&qvz-}Y z#iq6aW3bURcjhey$W{Wj4vF+)PJiwnJRmZY;sa9kd1;2yi#Y<-K;6*A12rQ9^b7W+ zC$9oX6J<(}Aq?a?7Y?6b}2)kCgvJt|9JlkVurmu29wmHDarC6wVu8di> znrjm;1rg>@KRkLQ>hD^AVz=)dLC*pnr48mt|0vg zJ7y3TOw+omRHf#1PD-%__Hn=0d_1qYbB}nZzSX39F!~9_#^mjLRB|`tvT;n#zODS? z-5`^bSk!7os4NMBC~~6W9I`?CIsyawuAyJnP>)RfbV~w79!z|EnifGWYn`tA6P!|+ zBj{y_!A6kf6HHvsQ8$5{zhYAy zeA<7g<5Y8Q{Y<4*rUD@}ImdUHsc?1?zWkOsL2OV9xl6g3*Y*89WTx97gL{~(C+f0fHzz7nYu?n2jH@dJ^455%GA?Vv5E^t%6OL%ky=49(_;y7CUFi$LT& z4Yn+DYnU~)$>0>ef%0Dk! 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 CNc1xR literal 0 HcmV?d00001 diff --git a/projects/tt_um_lisa/docs/lisa_direct_acc.txt b/projects/tt_um_lisa/docs/lisa_direct_acc.txt new file mode 100644 index 00000000..2b7d565e --- /dev/null +++ b/projects/tt_um_lisa/docs/lisa_direct_acc.txt @@ -0,0 +1,15 @@ + +----------+ +-------------+ + | [7:0]+---------+ +---------+ 8-Bit | + | | imm v v | Accumulator | + | Opcode | ------ ------ +-------------+ + | | op \ \_____/{pb}/ ^ {pr} + | [15:10]+------> \ ALU / | + +----------+ \-----------/ | + {pt} | | | + v +-------------------+ + +---------+ + | Flags |{pr} + +---------+ +

    Accumulator Direct Operations Diagram

    + +{:FILE scale 0.9 theme light font-size 10} diff --git a/projects/tt_um_lisa/docs/lisa_indexed.png b/projects/tt_um_lisa/docs/lisa_indexed.png new file mode 100644 index 0000000000000000000000000000000000000000..1bf60b4f6cf25dae3d2c731c3c62814c496003de GIT binary patch literal 40259 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 + +->| | +->| Data |<-----*--->| 8-Bit | + | | \------/ '-' | | | | Memory | | | Accumulator | + | | .imm. ^ | | 15 | +---+----+ | +-------------+ + | [8:0]+------------------* | +-/--+ v v ^ {pr} + | | {pr} v | | ------ ------ | + | | /------\ 15 .-. | | \ \_____/{pb}/ | + | {pt} | | SP +--/->| + +->| | +-> \ ALU / | + | | \------/ '-' |/ | \-----------/ | + | | .sp/ix. | | | | + | [9]+------------------------+ | +----------------+ + | | .operation. | + | [15:10]+--------------------------------+ + +----------+ +

    Indirect Addressing Diagram

    + +{:FILE scale 0.9 theme light font-size 10} diff --git a/projects/tt_um_lisa/docs/lisa_indirect_acc.png b/projects/tt_um_lisa/docs/lisa_indirect_acc.png new file mode 100644 index 0000000000000000000000000000000000000000..13c80b6ae441510a7856c70eab42cadf0218dc9f GIT binary patch literal 23863 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 Data | ^ {pr} + | | | Memory | | + | [9]+-------->|P/M / +-----------+ + | | op | Periph | + | [15:10]+-----> |{pb} | + +----------+ +----------------+ + {pt} +

    Accumulator Indirect Operations Diagram

    + +{:FILE scale 0.9 theme light font-size 10} diff --git a/projects/tt_um_lisa/docs/lisa_pinout.png b/projects/tt_um_lisa/docs/lisa_pinout.png new file mode 100644 index 0000000000000000000000000000000000000000..d153a24eb1f11d2a66c752d9f18deef9afe31fd1 GIT binary patch literal 42557 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 z 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 b1b^GV{ZV`>OzeURd_WlLo9LBYa1Q$qyDXjq literal 0 HcmV?d00001 diff --git a/projects/tt_um_lisa/docs/lisa_pinout.txt b/projects/tt_um_lisa/docs/lisa_pinout.txt new file mode 100644 index 00000000..802e949f --- /dev/null +++ b/projects/tt_um_lisa/docs/lisa_pinout.txt @@ -0,0 +1,18 @@ + tt_um_lisa (974) tt_um_lisa (974) + +-------------------+ +-------------------+ + pa[0] ---| in[0] out[0] |--- pb[0] rx2 ---| in[0] out[0] |--- tx2 + pa[1] ---| in[1] out[1] |--- pb[1] pa[1] ---| in[1] out[1] |--- pb[1] + pa[2] ---| in[2] out[2] |--- pb[2] pa[2] ---| in[2] out[2] |--- pb[2] + rx ---| in[3] out[3] |--- pb[3] rx ---| in[3] out[3] |--- pb[3] + pa[3] ---| in[4] out[4] |--- tx pa[3] ---| in[4] out[4] |--- tx + pa[4] ---| in[5] out[5] |--- pb[5] pa[4] ---| in[5] out[5] |--- pb[5] + pa[5] ---| in[6] out[6] |--- pb[6] pa[5] ---| in[6] out[6] |--- pb[6] + pa[6] ---| in[7] out[7] |--- pb[7] pa[6] ---| in[7] out[7] |--- pb[7] + | | | | + ce0 ---| io[0] io[4] |--- scl ce_latch ---| io[0] io[4] |--- scl + mosi ---| io[1] io[5] |--- sda mosi/DQ0/ce0_latch---| io[1] io[5] |--- sda + miso ---| io[2] io[6] |--- pc[3] miso/DQ1/ce1_latch---| io[2] io[6] |--- DQ3 + sclk ---| io[3] io[7] |--- pc[4] sclk ---| io[3] io[7] |--- DQ4 + +-------------------+ +-------------------+ + RP2040 Only Config Mux Mode 3 Config + diff --git a/projects/tt_um_lisa/docs/lisa_stack.png b/projects/tt_um_lisa/docs/lisa_stack.png new file mode 100644 index 0000000000000000000000000000000000000000..a5c4b0c91150e2a694588de312ee15714d7c4979 GIT binary patch literal 30131 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 WSnV3tsk!Ih-6ce1gv$hV{r?XH`?DAT literal 0 HcmV?d00001 diff --git a/projects/tt_um_lisa/docs/lisa_stack.txt b/projects/tt_um_lisa/docs/lisa_stack.txt new file mode 100644 index 00000000..09eb6460 --- /dev/null +++ b/projects/tt_um_lisa/docs/lisa_stack.txt @@ -0,0 +1,19 @@ + + {pr} + +----------+ /---------\ addr +--------+ + | | | +/- N |<--*---------------/----------->| {pw} | + | | \----+----/ | | | + | | | | /-------------\ | | + | | {pr} v | +--->| Accumulator |<--->| | + | Opcode | /---------\ | | \-------------/{pb} | Data | + | | +->| SP +---+ | /-------------\ | Memory | + | {pt} | | \---------/ *--->| RA {pb}|<--->| | + | | | | \-------------/ | | + | | | .operation. | /-------------\ | | + | [15:2]+--*--------------------*--->| IX {pb}|<--->| | + | | \-------------/ | | + | | +--------+ + +----------+ +

    Stack Addressing Diagram

    + +{:FILE scale 0.9 theme light font-size 10} diff --git a/projects/tt_um_lisa/docs/qspi_arch.png b/projects/tt_um_lisa/docs/qspi_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..c02a5df3b0323ec59890ecc8743fb80330681528 GIT binary patch literal 42707 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 z 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 P@TDlLDpMo%JotYA?dINX literal 0 HcmV?d00001 diff --git a/projects/tt_um_lisa/docs/qspi_arch.txt b/projects/tt_um_lisa/docs/qspi_arch.txt new file mode 100644 index 00000000..78b7f548 --- /dev/null +++ b/projects/tt_um_lisa/docs/qspi_arch.txt @@ -0,0 +1,27 @@ + +----------------------------------------------------------+ + | Configuration Registers (Debug module) {pt} | + | Debug LISA1 LISA2 ------Per CE----- | + | CE[1:0] CE[1:0] CE[1:0] Quad Flash 16B | + +-------+---------+-------+---------------+------+-----+---+ + v v v v v v + +----------------------+ +------------------+ + | | Addr | | + Debug Request -->| +--------->| | SPI + | | Data | QSPI +------> + | QSPI +<-------->| Master | + LISA1 Request -->| Arbiter | CE[1:0] | Controller | QSPI + (Inst) | +--------->| +------> + | | Control | | + LISA2 Request -->| +--------->| |CE[1:0] + (Data) | {pb} | | {pr} +------> + +-----------+----------+ +------------------+ + ^ ^ ^ + +-----+------+--------+-----+ + | Debug LISA1 LISA2 |{pt} + | Addr BaseAddr BaseAddr | + | Configuration Registers | + +---------------------------+ + +

    (Q)SPI Controller Interface Diagram

    + +{:FILE scale 0.7 theme light font-size 10}