diff --git a/.gitignore b/.gitignore index a550a88e1e9d4775effefbc25ad646b188662cc6..2675ddbe53a3a05152dba2825106ce4ea9b0827e 100644 --- a/.gitignore +++ b/.gitignore @@ -90,4 +90,10 @@ work *.log* *.cmd* -*.jou \ No newline at end of file +*.jou + +# Doc auxillary files +doc/tex/*.aux +doc/tex/*.out +doc/tex/*.toc +doc/tex/*.synctex.gz \ No newline at end of file diff --git a/doc/nanosoc_datasheet.pdf b/doc/nanosoc_datasheet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b8459c38d563e7800048c1d557745189271e0db6 Binary files /dev/null and b/doc/nanosoc_datasheet.pdf differ diff --git a/doc/tex/nanosoc_top.tex b/doc/tex/nanosoc_top.tex new file mode 100644 index 0000000000000000000000000000000000000000..3c824d678eebf49344d15741e69853bd3243245e --- /dev/null +++ b/doc/tex/nanosoc_top.tex @@ -0,0 +1,119 @@ +\documentclass{report} +\usepackage{hyperref} + +\title{nanoSoC: Reusable microcontroller System on Chip} +\author{\href{http://www.soclabs.org}{SoC Labs}} +\begin{document} +\maketitle +Preamble, copyrights licenses etc. + +\tableofcontents +\clearpage +\chapter{Introduction} + +\section{Summary} + +\section{IP} +The nanoSoC reusable SoC platform relies on IP's from certain vendors. In order to build the system you will need the following IP. +\subsection{Arm(R)} +Arm IP should be downloaded from Arm and placed into the recommended IP directories. +\begin{itemize} + \item Cortex-M0 + \item Corstone-101 + \item (Optional) PL230 + \item (Optional) DMA-350 +\end{itemize} +\subsection{SoCLabs} +SoCLabs IP is all open domain and the repositories for these are automatically cloned into the nanosoc tech directories when you run a git clone. +\begin{itemize} + \item ASCII Debug Protocol Controller (\href{https://git.soton.ac.uk/soclabs/socdebug_tech}{SoCDebugTech Git}) + \item FT1248 Controller (\href{https://git.soton.ac.uk/soclabs/socdebug_tech}{SoCDebugTech Git}) + \item EXTIO Controller (\href{https://git.soton.ac.uk/soclabs/extio8x4-axis}{ EXTIO8x4-axis Git}) + \item (Optional) PLL (for TSMC 65nm) + \item (Optional) ADC (for TSMC 65nm) + \item (Optional) DAC (for TSMC 65nm) +\end{itemize} +\subsection{Synopsys} +Synopsys IP is only used for chips that are taped out on a TSMC 28nm HPC+ node. +\begin{itemize} + \item (Optional) 3 GHz PLL + \item (Optional) Silicon Lifetime Management +\end{itemize} + + +\chapter{System} + +\section{Bus Interconnect} + +\section{Address Map} +\subsection{Summary} + +\begin{center} + \begin{tabular}{||c | c | c ||} + \hline + Region & Start Address & End Address \\ + \hline\hline + Boot-Rom & 0x00000000 & 0x0FFFFFFF \\ + \hline + Instruction Memory (SRAM) & 0x20000000 & 0x2FFFFFFF \\ + \hline + Data Memory (SRAM) & 0x30000000 & 0x3FFFFFFF \\ + \hline + System IO & 0x40000000 & 0x5FFFFFFF \\ + \hline + Expansion IO & 0x60000000 & 0x7FFFFFFF \\ + \hline + Expansion Memory Lo (SRAM) & 0x80000000 & 0x8FFFFFFF \\ + \hline + Expansion Memory Hi (SRAM) & 0x90000000 & 0x9FFFFFFF \\ + \hline + Expansion IO & 0xA0000000 & 0xDFFFFFFF \\ + \hline + System Table ROM & 0xF0000000 & 0xF0003FFF \\ + \hline + \end{tabular} +\end{center} + +\subsection{System IO Region} +Below are the address regions for the System IO/Peripherals, detailed address maps for each peripheral are in chapter \ref{peripherals} +\begin{center} + \begin{tabular}{||c | c | c ||} + \hline + Region & Start Address & End Address \\ + \hline\hline + Timer 0 & 0x40000000 & 0x40000FFF \\ + \hline + Timer 1 & 0x40001000 & 0x40001FFF \\ + \hline + Dual Timer & 0x40002000 & 0x40003FFF \\ + \hline + UART 0 & 0x40004000 & 0x40004FFF \\ + \hline + UART 1 & 0x40005000 & 0x40005FFF \\ + \hline + UART 2 & 0x40006000 & 0x40007FFF \\ + \hline + Watchdog Timer & 0x40008000 & 0x40008FFF \\ + \hline + USRT 2 & 0x4000E000 & 0x4000EFFF \\ + \hline + DMA 0 Base & 0x4000F000 & 0x4000EFFF \\ + \hline + GPIO 0 & 0x40010000 & 0x40010FFF \\ + \hline + GPIO 1 & 0x40011000 & 0x40011FFF \\ + \hline + System Control & 0x4001F000 & 0x4001FFFF \\ + \hline + \end{tabular} +\end{center} + +\section{} + + +\chapter{Peripherals} \label{peripherals} + +\chapter{Recommended Testboard} + + +\end{document} \ No newline at end of file diff --git a/makefile b/makefile index efac2e8618cee082f899ddcff94080dc139e734e..4a612d24d5e9d343316b87bcc5122e514e9c162d 100644 --- a/makefile +++ b/makefile @@ -224,6 +224,10 @@ gen_defs: @mkdir -p $(DEFINES_DIR) @$(SOCLABS_SOCTOOLS_FLOW_DIR)/bin/defines_compile.py -d $(NANOSOC_DEFINES) -o $(DEFINES_FILE) +docs: + pdflatex --output-directory=./doc/tex/ ./doc/tex/nanosoc_top.tex + pdflatex --output-directory=./doc/tex/ ./doc/tex/nanosoc_top.tex + mv ./doc/tex/nanosoc_top.pdf ./doc/nanosoc_datasheet.pdf TEST_AMS: $(info AMS is $(AMS)) $(info VCS OPTIONS is $(VCS_OPTIONS))