The repository had accumulated multiple, contradictory "current state" documents for V2 hardware: an old V1 IT/EN datasheet copy nested inside hardware/v2/docs/datasheet/, a stray untracked duplicate at repo root (docs/DatasheetLatex/), and a second, much older documentation track (hardware/v2/docs/*.md: PRE_PCB_VERIFICATION.md, PRE_PCB_CLOSURE_4POINT.md, MEMORY_UPGRADE_64MB_N8.md, and 10 more) describing an earlier PSRAM/ N_SLOTS<=2 milestone alongside the real, current SDRAM/N_SLOTS=4 board. The LaTeX datasheet's own front matter (features/pinout cover pages) and chapter 9 (benchmarks) were themselves still describing that obsolete architecture, contradicting the real, current chapters 5/7/10 elsewhere in the same document. This commit: - Flattens hardware/v2/docs/datasheet/files/docs/datasheet/v2-en/* up to hardware/v2/docs/datasheet/ (was 4 levels of redundant nesting). - Removes the old V1 IT/EN LaTeX copies and the stray root-level duplicate entirely (recoverable from git history, not from disk). - Preserves the real component reference PDFs (ECP5 eval board, ISSI PSRAM, programming cables) under datasheet/references/. - Removes 13 superseded hardware/v2/docs/*.md status documents after folding every real, unique fact they contained into the datasheet: SPI max verified clock (12MHz, exact 12.8MHz CDC edge), SDRAM directed boundary test (21/21 PASS), 16MHz oscillator MPN (ECS-3225MV-160-BN-TR), and the real FPGA<->SDRAM ball mapping cross-check. - Rewrites the datasheet's own front matter, ch.4 (parameters), ch.8 (top-level module -- was documenting the wrong, non-physical top entirely), and ch.9 (benchmarks) to describe the current, real SDRAM/ N_SLOTS=4 production board, while keeping the real PSRAM-era chapters as clearly-labeled history rather than deleting correctly-measured work. - Fixes a title-page tikzpicture that was clipped off the page edge (pre-existing, unrelated to this change) by scaling it to fit. Net: 85 files changed, -8814/+498 lines. hardware/v2/docs/ now contains exactly one current datasheet plus FIRST_POWER_ON.md (a bring-up runbook, not a duplicate spec). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013xXuuRUWZScuo1DeYJxs3v
135 lines
5.5 KiB
TeX
135 lines
5.5 KiB
TeX
% ======================================================================
|
|
% FPGA-Neural V2 -- Neural Multiprocessor / Dataflow Machine
|
|
% Datasheet / Technical reference manual
|
|
% Repository: github.com/manvalan/FPGA-Neural
|
|
% ======================================================================
|
|
\documentclass[11pt,a4paper,openany]{report}
|
|
|
|
\newcommand{\datasheetrev}{B2}
|
|
\newcommand{\datasheetdate}{September 2026}
|
|
|
|
\input{preamble}
|
|
|
|
\begin{document}
|
|
\sloppy
|
|
|
|
% ======================================================================
|
|
% TITLE PAGE
|
|
% ======================================================================
|
|
\begin{titlepage}
|
|
\thispagestyle{empty}
|
|
\begin{tikzpicture}[remember picture,overlay]
|
|
\fill[fnDark] (current page.north west) rectangle
|
|
([yshift=-4.3cm]current page.north east);
|
|
\fill[fnTeal] ([yshift=-4.3cm]current page.north west) rectangle
|
|
([yshift=-4.55cm]current page.north east);
|
|
\node[anchor=north west,text=white,font=\Huge\bfseries]
|
|
at ([xshift=2.2cm,yshift=-1.15cm]current page.north west)
|
|
{FPGA\,--\,Neural~V2};
|
|
\node[anchor=north west,text=fnLight,font=\large]
|
|
at ([xshift=2.25cm,yshift=-2.15cm]current page.north west)
|
|
{Neural Multiprocessor / Dataflow Machine};
|
|
\node[anchor=north west,text=fnLight2,font=\normalsize]
|
|
at ([xshift=2.25cm,yshift=-2.85cm]current page.north west)
|
|
{N\_SLOTS-way concurrent INT8 accelerator -- Datasheet and reference manual};
|
|
\node[anchor=north east,text=white,font=\ttfamily\small]
|
|
at ([xshift=-2.2cm,yshift=-3.55cm]current page.north east)
|
|
{Rev.~\datasheetrev~~\textbullet~~\datasheetdate};
|
|
\end{tikzpicture}
|
|
|
|
\vspace*{5.0cm}
|
|
|
|
% --- compact block diagram on the title page ---
|
|
\begin{center}
|
|
\resizebox{\textwidth}{!}{%
|
|
\begin{tikzpicture}[node distance=7mm and 10mm]
|
|
\node[fnblockD,minimum width=26mm] (host) {HOST\\{\scriptsize graph loader}};
|
|
\node[fnblockT,right=14mm of host,minimum width=30mm] (dm) {Dependency\\Manager};
|
|
\node[fnblockT,right=14mm of dm,minimum width=28mm] (dir) {Neural\\Director};
|
|
\node[fnblock,right=14mm of dir,minimum width=34mm] (slots) {N\_SLOTS $\times$ (Memory\\Manager $+$ Neural Proc.)};
|
|
\node[fnblock,right=10mm of slots,minimum width=20mm] (ram) {SDRAM\\{\scriptsize 64\,MB}};
|
|
\draw[fnbus] (host) -- (dm);
|
|
\draw[fnbus] (dm) -- (dir);
|
|
\draw[fnbus] (dir) -- (slots);
|
|
\draw[fnbus] (slots) -- node[fnlbl,above]{16-bit word} (ram);
|
|
\node[below=1mm of slots,font=\scriptsize\itshape,text=fnGrey]
|
|
{computation entirely on-chip, dependency graph resolved autonomously};
|
|
\end{tikzpicture}%
|
|
}
|
|
\end{center}
|
|
|
|
\vfill
|
|
\begin{center}
|
|
\begin{tikzpicture}
|
|
\node[draw=fnRule,rounded corners=3pt,inner sep=10pt,fill=fnLight,text width=15.5cm]{
|
|
\footnotesize
|
|
\textbf{\color{fnDark}Reference target device:} Lattice ECP5 \code{LFE5U-45F-8BG381C}
|
|
(speed grade $-8$, CABGA381) --- identical device and board as V1.\\[2pt]
|
|
\textbf{\color{fnDark}Production configuration:} INT8/INT32, \code{P\_IN}=8,
|
|
\code{N\_SLOTS}=4 (real 8/8-seed timing closure at 64\,MHz --- see
|
|
ch.~\ref{ch:hw}), single unified SDR SDRAM (Alliance Memory
|
|
\code{AS4C32M16SB-7BIN}, 64\,MB), real board-level pinout and KiCad
|
|
schematic/BOM.\\[2pt]
|
|
\textbf{\color{fnDark}Status:} RTL verified in real Verilator simulation and real
|
|
synthesis + place\&route (Yosys + nextpnr-ecp5). Full benchmark campaign, two
|
|
post-campaign memory optimizations, an alternative memory-subsystem
|
|
redesign that became the current architecture (the Neural Memory System,
|
|
ch.~\ref{ch:nms}), and a real, board-level schematic/BOM verification pass
|
|
(ch.~\ref{ch:hw}) all complete and measured. Document describing the
|
|
project as of \datasheetdate.
|
|
};
|
|
\end{tikzpicture}
|
|
\end{center}
|
|
\vspace{0.6cm}
|
|
{\footnotesize\color{fnGrey}\raggedright
|
|
Project author: Michele Bigi \textbullet{} MIKILAB / manvalan.\\
|
|
This datasheet documents V2 of the RTL code, documentation and benchmarks
|
|
present in the repository \texttt{github.com/manvalan/FPGA-Neural}. V1 remains
|
|
frozen and unmodified as the project's golden functional/performance
|
|
reference; its own datasheet previously lived alongside this one in this
|
|
repository and was consolidated out of the working tree as part of a
|
|
2026-09-09 documentation cleanup (recoverable from git history).\par}
|
|
\end{titlepage}
|
|
|
|
% ======================================================================
|
|
% "FEATURES" PAGE (datasheet style)
|
|
% ======================================================================
|
|
\input{chapters/00-features}
|
|
|
|
% ======================================================================
|
|
% PINOUT SUMMARY (real, board-verified ball assignment)
|
|
% ======================================================================
|
|
\newpage
|
|
\input{chapters/00b-pinout}
|
|
|
|
% ======================================================================
|
|
% TABLE OF CONTENTS
|
|
% ======================================================================
|
|
\newpage
|
|
\pagenumbering{roman}
|
|
{\color{fnDark}\tableofcontents}
|
|
\newpage
|
|
\pagenumbering{arabic}
|
|
|
|
% ======================================================================
|
|
% CHAPTERS
|
|
% ======================================================================
|
|
\include{chapters/01-overview}
|
|
\include{chapters/02-architecture}
|
|
\include{chapters/03-datapath}
|
|
\include{chapters/04-parameters}
|
|
\include{chapters/05-memory}
|
|
\include{chapters/06-scheduling}
|
|
\include{chapters/07-hostinterface}
|
|
\include{chapters/08-toplevel}
|
|
\include{chapters/09-implementation}
|
|
\include{chapters/10-hardware}
|
|
\include{chapters/11-registers}
|
|
\include{chapters/12-roadmap}
|
|
\include{chapters/13-nms}
|
|
|
|
\appendix
|
|
\include{chapters/A-modules}
|
|
|
|
\end{document}
|