\thispagestyle{plain} \noindent \begin{tikzpicture} \node[fill=fnDark,text=white,rounded corners=2pt,inner sep=6pt, minimum width=\textwidth,anchor=west] {\large\bfseries Sunto del pinout --- collegamento pin per pin}; \end{tikzpicture} \vspace{6pt} \noindent {\footnotesize Tabella di riferimento rapido: i \textbf{57 segnali reali} del top-level \code{spi\_neuron\_top}, ciascuno con la propria ball \code{CABGA381} individuale (\textbf{non} un intervallo di bus) --- dati reali dal database di dispositivo di Project~Trellis (\code{iodb.json}), \textbf{verificati da un place\&route \code{nextpnr-ecp5} completo a 0 errori} (non un pinout pianificato). Descrizione completa, razionale di collocazione per banco e schema di collegamento pin-per-pin verso la PSRAM ISSI: cap.~\ref{ch:hw}. } \vspace{4pt} \noindent \renewcommand{\arraystretch}{1.08} \begin{tabularx}{\textwidth}{L{2.7cm} C{1.0cm} C{1.0cm} C{0.9cm} Y} \toprule \rowh \thd{Segnale} & \thd{Ball} & \thd{Banco} & \thd{Dir} & \thd{Pin corrispondente / funzione} \\ \midrule \multicolumn{5}{l}{\textit{\color{fnDark}Clock e reset}}\\ \code{clk} & H5 & 7 & IN & Clock di sistema, pad \code{GR\_PCLK7\_0} (clock globale dedicato). \\ \rowa \code{rst} & B4 & 7 & IN & Reset globale sincrono, attivo alto. \\ \multicolumn{5}{l}{\textit{\color{fnDark}SPI applicativo (host $\leftrightarrow$ FPGA, Mode~0)}}\\ \code{sclk} & B5 & 7 & IN & SPI clock (CPOL=0, CPHA=0). \\ \rowa \code{mosi} & C5 & 7 & IN & Master-Out Slave-In. \\ \code{miso} & A3 & 7 & OUT & Master-In Slave-Out. \\ \rowa \code{cs\_n} & B3 & 7 & IN & Chip-select, attivo basso. \\ \multicolumn{5}{l}{\textit{\color{fnDark}Attenzione host (attivi bassi, di livello)}}\\ \code{data\_ready\_n} & C3 & 7 & OUT & Basso finché un risultato attende lettura. \\ \rowa \code{irq\_n} & C4 & 7 & OUT & Basso se il guard load-time del grafo è scattato. \\ \multicolumn{5}{l}{\textit{\color{fnDark}Flash subsystem --- SPI verso W25Q128JV (boot/persistenza)}}\\ \code{flash\_sclk} & E3 & 7 & OUT & SPI clock verso la flash --- GPIO ordinario, indipendente (Fase F7, cap.~\ref{ch:hw}). \\ \rowa \code{flash\_mosi} & D3 & 7 & OUT & Master-Out Slave-In verso la flash NOR onboard. \\ \code{flash\_miso} & D5 & 7 & IN & Master-In Slave-Out dalla flash. \\ \rowa \code{flash\_cs\_n} & E4 & 7 & OUT & Chip-select flash, attivo basso. \\ \multicolumn{5}{l}{\textit{\color{fnDark}Bus indirizzi PSRAM --- \code{psram\_a[21:0]} (22 linee reali)}}\\ \code{psram\_a[0]} & E16 & 2 & OUT & PSRAM A0 \\ \rowa \code{psram\_a[1]} & F16 & 2 & OUT & PSRAM A1 \\ \code{psram\_a[2]} & D18 & 2 & OUT & PSRAM A2 \\ \rowa \code{psram\_a[3]} & E17 & 2 & OUT & PSRAM A3 \\ \code{psram\_a[4]} & E18 & 2 & OUT & PSRAM A4 \\ \rowa \code{psram\_a[5]} & F18 & 2 & OUT & PSRAM A5 \\ \code{psram\_a[6]} & F17 & 2 & OUT & PSRAM A6 \\ \rowa \code{psram\_a[7]} & G16 & 2 & OUT & PSRAM A7 \\ \code{psram\_a[8]} & G18 & 2 & OUT & PSRAM A8 \\ \rowa \code{psram\_a[9]} & H16 & 2 & OUT & PSRAM A9 \\ \code{psram\_a[10]} & H17 & 2 & OUT & PSRAM A10 \\ \rowa \code{psram\_a[11]} & H18 & 2 & OUT & PSRAM A11 \\ \code{psram\_a[12]} & J16 & 2 & OUT & PSRAM A12 \\ \rowa \code{psram\_a[13]} & J17 & 2 & OUT & PSRAM A13 \\ \code{psram\_a[14]} & C20 & 2 & OUT & PSRAM A14 \\ \rowa \code{psram\_a[15]} & D19 & 2 & OUT & PSRAM A15 \\ \code{psram\_a[16]} & E19 & 2 & OUT & PSRAM A16 \\ \rowa \code{psram\_a[17]} & E20 & 2 & OUT & PSRAM A17 \\ \code{psram\_a[18]} & F19 & 2 & OUT & PSRAM A18 \\ \rowa \code{psram\_a[19]} & F20 & 2 & OUT & PSRAM A19 \\ \code{psram\_a[20]} & G20 & 2 & OUT & PSRAM A20 \\ \rowa \code{psram\_a[21]} & H20 & 2 & OUT & PSRAM A21 \\ \code{psram\_a[22]} & P18 & 3 & OUT & Sempre 0 (shift byte$\to$word) --- NC su scheda. \\ \multicolumn{5}{l}{\textit{\color{fnDark}Bus dati PSRAM --- \code{psram\_dq[15:0]} (bidirezionale)}}\\ \rowa \code{psram\_dq[0]} & K18 & 2 & IO & PSRAM DQ0 \\ \code{psram\_dq[1]} & C18 & 2 & IO & PSRAM DQ1 \\ \rowa \code{psram\_dq[2]} & D17 & 2 & IO & PSRAM DQ2 \\ \code{psram\_dq[3]} & D20 & 2 & IO & PSRAM DQ3 \\ \rowa \code{psram\_dq[4]} & G19 & 2 & IO & PSRAM DQ4 \\ \code{psram\_dq[5]} & J18 & 2 & IO & PSRAM DQ5 \\ \rowa \code{psram\_dq[6]} & J19 & 2 & IO & PSRAM DQ6 \\ \code{psram\_dq[7]} & J20 & 2 & IO & PSRAM DQ7 \\ \rowa \code{psram\_dq[8]} & K19 & 2 & IO & PSRAM DQ8 \\ \code{psram\_dq[9]} & K20 & 2 & IO & PSRAM DQ9 \\ \rowa \code{psram\_dq[10]} & L17 & 3 & IO & PSRAM DQ10 \\ \code{psram\_dq[11]} & M18 & 3 & IO & PSRAM DQ11 \\ \rowa \code{psram\_dq[12]} & M17 & 3 & IO & PSRAM DQ12 \\ \code{psram\_dq[13]} & N16 & 3 & IO & PSRAM DQ13 \\ \rowa \code{psram\_dq[14]} & N18 & 3 & IO & PSRAM DQ14 \\ \code{psram\_dq[15]} & P17 & 3 & IO & PSRAM DQ15 \\ \multicolumn{5}{l}{\textit{\color{fnDark}Controllo PSRAM}}\\ \rowa \code{psram\_ce\_n} & N17 & 3 & OUT & PSRAM CE\# --- chip enable, attivo basso. \\ \code{psram\_oe\_n} & R16 & 3 & OUT & PSRAM OE\# --- output enable (lettura). \\ \rowa \code{psram\_we\_n} & R17 & 3 & OUT & PSRAM WE\# --- write enable (scrittura). \\ \code{psram\_lb\_n} & T16 & 3 & OUT & PSRAM LB\# --- lower-byte enable (DQ[7:0]). \\ \rowa \code{psram\_ub\_n} & N19 & 3 & OUT & PSRAM UB\# --- upper-byte enable (DQ[15:8]). \\ \code{psram\_zz\_n} & N20 & 3 & OUT & PSRAM ZZ\# --- sleep/snooze (alto in funzionamento). \\ \bottomrule \end{tabularx} \renewcommand{\arraystretch}{1.25} \vspace{4pt} \noindent {\footnotesize\color{fnGrey} Standard I/O: LVCMOS33 su tutti i 57 segnali. Ball di JTAG e config-SPI di boot (pin dedicati a funzione fissa, senza porta RTL) non compaiono in questa tabella --- vedi cap.~\ref{ch:hw} §``Configurazione e programmazione''. Sorgente: \code{synth/ecp5/spi\_neuron\_top.lpf}, generato da \code{tools/pinout/gen\_lpf.py} contro \code{iodb.json} di Project~Trellis.\par}