From b08f8d112a2b7219dde574b3b706aa1cd8e41be5 Mon Sep 17 00:00:00 2001 From: Sven Riwoldt Date: Sat, 17 Jun 2023 11:57:10 +0200 Subject: [PATCH] TeX erweitert --- TeX/TestCrossing.tex | 66 ++++++++++++++++++++++++ TeX/Xor.tex | 99 ++++++++++++++++++++++++++++++------ projects/01/Locad/Nand.stg | Bin 4968 -> 0 bytes projects/01/Locad/NewIC.icc | Bin 3993 -> 0 bytes projects/01/Locad/Not.stg | Bin 3818 -> 0 bytes projects/05/CPU.hdl | 4 ++ 6 files changed, 153 insertions(+), 16 deletions(-) create mode 100644 TeX/TestCrossing.tex delete mode 100644 projects/01/Locad/Nand.stg delete mode 100644 projects/01/Locad/NewIC.icc delete mode 100644 projects/01/Locad/Not.stg diff --git a/TeX/TestCrossing.tex b/TeX/TestCrossing.tex new file mode 100644 index 0000000..d681f5b --- /dev/null +++ b/TeX/TestCrossing.tex @@ -0,0 +1,66 @@ +\documentclass[border=0.2cm]{standalone} + +% Required packages and libraries +\usepackage{circuitikz} +\usetikzlibrary{calc} + +\begin{document} + + +\begin{tikzpicture} + +% Circuit style + + +% Logic ports +\node[or port] (ORa) at (0,0){ORa}; %In1 +\node[not port] (Noa) at (0,-2){Noa}; +\node[or port] (ORb) at (0,-4){ORb}; + +\node[not port] (Nob) at (2.5,0){Nob}; +\node[and port] (ANDa) at (2.5,-3){ANDa}; + +\node[or port] (ORc) at (5,-1.5){ORc}; + +% Connection +\draw (ORa.out) -- (Nob.in); + +\draw (Noa.out) -| (ANDa.in 1); +\draw (ORb.out) -| (ANDa.in 2); + +\draw (ANDa.out) -| (ORc.in 2); +\draw (Nob.out) -| (ORc.in 1); +\draw (ORc.out) -- ++(1,0) node[near end,above]{Out}; + +\draw (ORa.in 1) -- ++(-1.5,0)node[left](In1){In1}; +%\draw (ORb.in 2) -- ++(-1.5,0)node[left](In3){In3}; + +% Jump crossing element +\node at (ORa.in 2) +[ + below, + jump crossing, + rotate=-90, + scale=1.3 +](X){\tiny{X}}; + +\draw (Noa.in) -| (X.east) + (X.west) to[short,-*] (X.west |- ORa.in 1); + +%\draw ($ (In1) !.5! (In3) $) node[]{In2} +% ++ (0.4,0) to[short,-*] ++(0.5,0) coordinate(a) +% |- (X.south) (a) |- (ORb.in 1); +\end{tikzpicture} + + +\end{document} +\documentclass{article} +\title{Untitled} +\author{} +\date{2023-6-14} +\begin{document} +\maketitle + + +\end{document} + diff --git a/TeX/Xor.tex b/TeX/Xor.tex index 3155f0e..31371fd 100644 --- a/TeX/Xor.tex +++ b/TeX/Xor.tex @@ -54,6 +54,30 @@ major step/.initial=1, major line width/.initial=1pt, } + +\tikzset{ + declare function={% in case of CVS which switches the arguments of atan2 + atan3(\a,\b)=ifthenelse(atan2(0,1)==90, atan2(\a,\b), atan2(\b,\a)); + }, + kinky cross radius/.initial=+.125cm, + @kinky cross/.initial=+, + kinky crosses/.is choice, + kinky crosses/left/.style={@kinky cross=-}, + kinky crosses/right/.style={@kinky cross=+}, + kinky cross/.style args={(#1)--(#2)}{ + to path={ + let \p{@kc@}=($(\tikztotarget)-(\tikztostart)$), + \n{@kc@}={atan3(\p{@kc@})+180} in + -- ($(intersection of \tikztostart--{\tikztotarget} and #1--#2)!% + \pgfkeysvalueof{/tikz/kinky cross radius}!(\tikztostart)$) + arc [ radius =\pgfkeysvalueof{/tikz/kinky cross radius}, + start angle=\n{@kc@}, + delta angle=\pgfkeysvalueof{/tikz/@kinky cross}180 ] + -- (\tikztotarget) + } + } +} + \makeatother %!tikz preamble end @@ -64,33 +88,60 @@ \tikzstyle{branch}=[fill,shape=circle,minimum size=3pt,inner sep=0pt] - %\draw (0,0) to[grid with coordinates] (10,5); + \draw (0,0) to[grid with coordinates] (10,5); % Koordinaten für Kreuzpunkte \coordinate (A) at (0.95,2.75); - \fill (A) circle (1pt); + \fill (A) circle (1pt);% node{A}; \coordinate (B) at (0.95,0.5); \fill (B) circle (1pt); \coordinate (C) at (0.55,2.75); - \fill (C) circle (1pt); + %temp + \fill (C) circle (1pt) node{\tiny{C}}; \coordinate (D) at (2.5,1.4); + %temp + %\fill (D) circle (1pt) node{\tiny{D}}; + \coordinate (E) at (0.75,0.5); - \fill (E) circle (1pt); + \fill (E) circle (1pt) node[above]{\tiny{E}}; \coordinate (F) at (2.5,1.8); - + + %temp + \fill (F) circle (1pt) node{\tiny{F}}; + + \coordinate (G) at (4.2,2.58); + + %temp + %\fill (G) circle (1pt) node{G}; + + + \coordinate (H) at (4.2,0.666); + + %temp + %\fill (H) circle (1pt) node{H}; + + + \coordinate (I) at (6,1.6); + + %temp + \fill (I) circle (1pt) node{I}; + + \coordinate (J) at (0.75,1.8); + + \fill (J) circle (1pt) node[above]{\tiny{J}}; % Eingangsvariablen \node (x2) at (0.2,0.5) {b}; \node (x1) at (0.2,2.75) {a}; % Ausgangsvariable - \node (y) at (5,0.5) {out}; + \node (y) at (6.35, 1.62) {out}; % Gatter - \node[nand gate] at (1.5,0.5) (n1) {}; + \node[nand gate] at (1.5,0.5) (n1) {\tiny{N1}}; \node[nand gate] at (1.5,2.75) (n2) {}; \node[nand gate] at (3.45,2.58) (n4) {}; \node[nand gate] at (3.45,0.666) (n3) {}; @@ -108,15 +159,31 @@ \draw(n2.output) -- (n4.input 1); \draw(C) |- (D); \draw(D) |- (n3.input 1); - \draw(E) |- (F); - \draw(F) |- (n4.input 2); - \draw(n4.output) -- (n5.input 1); -% \draw(n1.output) -- (A); -% \draw(A) |- (n2.input 2); -% \draw(A) |- (n2.input 1); -% \draw(n2.output) -- (y); -% \draw(n1.output) to [short,l=\footnotesize{nandout}, -] (A); - + %\draw(E) |- (F); + %\draw(F) |- (n4.input 2); + \draw(n4.output) -- (G); + \draw(G) |- (n5.input 1); + \draw(n3.output) -- (H); + \draw(H) |- (n5.input 2); + \draw(n5.output) -- (I); + + +%\node at (ORa.in 2) +%[ +% below, +% jump crossing, +% rotate=-90, +% scale=1.3 +%](X){\tiny{X}}; + + + % \draw(n1.output) to [short,l=\footnotesize{nandout}, -] (A); +% \draw(1,-1) to[short] (1,1) (0,0) to[crossing] (2,0); + +% \draw(C) |- (D) (E) to[crossing] (J); + + % \draw (E) to [kinky cross=(C)--(D), kinky crosses=right](J); % / + \end{tikzpicture} %!tikz source end diff --git a/projects/01/Locad/Nand.stg b/projects/01/Locad/Nand.stg deleted file mode 100644 index 4310ab18573ca78232cc85e4fbbdca52e88bfffd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4968 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 VR$wcH@Sh+=o@jUE+5X>F^dJ8wvE2Xw diff --git a/projects/01/Locad/Not.stg b/projects/01/Locad/Not.stg deleted file mode 100644 index c38cf096ec7d67e218eda9840287ea61915a2272..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3818 zcmbW3d2kcg9mjuf&-ZpQUd$Q7A;8==zT^vY*yai~78u#GYr=J4^9Pl832olJkIFncF;fOC7s7iK)-HkqWR-SAGL(b%2 zLzC_{B1wQYY^~Q4ZT1qqUH24qclr=8kn(UaXi&6UTLdZ$fT=JIWUehXV*E4&PUfIV;k4#F`w1s}i}xCocvDtre2fiCzO?jivV zKnZ9F8ihuqWHbfkqC7MQl_DEjj;c^Ka-jya3bmjB3Zf8-pw*}ytwj_)S&M3@AV+4&T()OlQn z?hCkDbdMhKxhqzMS+hcK&;xqCmgIBW+areFQm(Ht^rCRs)n3C=*Adjcdbl;oN>I91T+AbNBQ$0~EVjb-&)C2f72)GMd*F@J7sVEag7;65VI8Xt67`uGUD; zeJ6v5D)q2Y6=S%Fim6B?HiFL1^b||_ zx)e)iMox+)BWK;ZGccXyDFsriZT1=6_1{W`Gmr-9kO7(1F;!7H&RA2A)Y`)FB;DAbS zvR@Ueqy?(kxh49m*M_(P5qG1%H4<6Y8ffm$d%dQ4f}xP^X9aB210I&X%8u5E;R<-1 z5hL8%Y_x`JRt5cDz58k%dt;2A&MTVDr#-%)N3V_Vm&qctZVf&&W+W6v*2d40OsY}^ zYw4Ps(194&Yr{G_^Q^fk7HdY+}(75xhJq>2FjXZ1!@Fe-Tes@F1__1J$hJSvoF^ppQGs33NQxTs?|&^RoINf80Zk&Fkn}+K=K-;hIUl(F=JJortxf9&%o8Uz%?| z1o;cN(`T-y(kXGd&dcws#`k)--?zp{L{gvJ6goYQo1YQ=g7h-C(7=b_4n@OEZZ9hX zO`|j7xtY;#aBti(F>drL9QO@2S2HvbQn#T=G=mELIuA4zO#=&>j#8q|1EryKlz}o) z7P6vjltbszOgc}K%r(217SSwPNDDNM&e4{})`)B?8((aV$ci@ey4P-$52-uQOjLko zQ7g@*`BeA_%|(T%2o zy7V_2+ff-w||%BhTUGOg?SdaNd152iD_hi5)!O^;a{ zPP7-DKxfcJbPe4?w^0|mi@xCy$8#blbA(g51TK*q#7*MTxS3o5H=A3?m2uUaj|*{Y zxb@sK+)ufmbDOx$+!k&x_ebte+*{lM?hto`JIWp7PH=zb-s4Vjr+JYd#i#MPd?8=T z*YJ(}YW`{dH~bd<1^z|;C4MWvjo-oV=tK_%r-D{yhH={sMoAzs%p@?+8fH zgyF&%VVd9;bipe$3Qa<@&>{qcps-PRR(M``QFuw%Dr^^a3Lguf2>%kU2v>z`!gb+> z2qF=a#3AA^afCQh93@tWm131xE!K#&V!gOhbcr3}lj6_BUx=H(0n$K8lNL)QQmJHW*n?N$M%;w`IDmhTU&gQCSMh6jH+~)O!Kd(9duRN!` zrR-M@DuKGrOr_c)x~Ow zxhILu>g(!W^`LqP%#Gt>N3