Compare commits
6 commits
ef3066273c
...
d6c4776b44
Author | SHA1 | Date | |
---|---|---|---|
d6c4776b44 | |||
1cb525748f | |||
35b62c8251 | |||
bb9d39a95d | |||
6e711be18f | |||
b7fae59d8e |
7
.gitignore
vendored
|
@ -4,12 +4,19 @@
|
|||
*.bcf
|
||||
*.blg
|
||||
*.fls
|
||||
*.idx
|
||||
*.ilg
|
||||
*.ind
|
||||
*.lof
|
||||
*.lol
|
||||
*.lot
|
||||
*.toc
|
||||
*.fdb_latexmk
|
||||
*.run.xml
|
||||
*.synctex.gz
|
||||
*.dvi
|
||||
*.pdf
|
||||
*.xdv
|
||||
*.out
|
||||
*.kate-swp
|
||||
|
||||
|
|
|
@ -59,3 +59,15 @@
|
|||
title = {LiteEth},
|
||||
url = {https://github.com/enjoy-digital/liteeth}
|
||||
}
|
||||
|
||||
@software{open-fpga-loader,
|
||||
author = {Gwenhael Goavec-Merou},
|
||||
title = {openFPGALoader},
|
||||
url = {https://github.com/trabucayre/openFPGALoader},
|
||||
}
|
||||
|
||||
@software{gtkwave,
|
||||
author = {Tony Bybell},
|
||||
title = {GTKWave},
|
||||
url = {http://gtkwave.sourceforge.net},
|
||||
}
|
||||
|
|
|
@ -1,25 +1,209 @@
|
|||
\documentclass[a4paper,10pt]{article}
|
||||
|
||||
\input{preamble.tex}
|
||||
|
||||
\usepackage{subfiles}
|
||||
\begin{document}
|
||||
\selectlanguage{ngerman}
|
||||
|
||||
\titleformat{\part}[display]
|
||||
{\Huge\scshape\filright}
|
||||
{\partname~\thepart:}
|
||||
{20pt}
|
||||
{\makeatother}
|
||||
%/*Header-Einstellung*/
|
||||
\pagestyle{fancy}
|
||||
\fancyhf{}
|
||||
\renewcommand{\sectionmark}[1]{\markright{#1}}
|
||||
\renewcommand{\subsectionmark}[1]{\markright{#1}}
|
||||
\renewcommand{\subsubsectionmark}[1]{\markright{#1}}
|
||||
\chead{}
|
||||
\rhead{}
|
||||
\setlength{\headwidth} {1.0\textwidth}
|
||||
\setlength{\headheight}{12mm}
|
||||
\renewcommand{\headrulewidth}{0.0pt}
|
||||
\renewcommand{\footrulewidth}{0.0pt}
|
||||
|
||||
\tableofcontents
|
||||
\let\tableofcontents\relax
|
||||
\addtocounter{page}{1}
|
||||
|
||||
%====================================================================================
|
||||
\begin{titlepage}
|
||||
\begin{center}
|
||||
\begin{minipage}{\linewidth}
|
||||
\begin{center}
|
||||
\vspace*{-21mm}
|
||||
\HtlHeader{}
|
||||
\vspace*{-14mm}
|
||||
\noindent%
|
||||
\\[35mm]{\fontsize{25pt}{25pt}\selectfont\bf DIPLOMARBEIT}
|
||||
\\[19mm]{\fontsize{20pt}{20pt}\selectfont\textbf{\textsc{FPGA-Basierte
|
||||
Studie moderner Computersysteme am Beispiel RISC-V: YARM}}}
|
||||
\\[15mm]{\fontsize{12.4pt}{12.4pt}\selectfont\bf
|
||||
Höhere Technische Bundeslehr- und Versuchsanstalt Anichstra"se}
|
||||
\\[ 5mm]\rule{132mm}{1.0pt}
|
||||
\\[ 4mm]{\fontsize{12.4pt}{12.4pt}\selectfont\bf Abteilung}
|
||||
\\[ 5mm]{\fontsize{16pt}{16pt}\selectfont
|
||||
\textbf{\textsc{Elektronik und technische Informatik}}}
|
||||
\\[24mm]{\hspace*{2mm}\parbox{154mm}{\fontsize{12.4pt}{12.4pt}\selectfont
|
||||
\parbox[t]{75mm}{
|
||||
Ausgef"uhrt im Schuljahr 2019/20 von:
|
||||
\\[5.0mm]Armin Brauns 5AHEL
|
||||
\\[2.5mm]Daniel Plank 5BHEL
|
||||
}
|
||||
\hspace*{6mm}
|
||||
\parbox[t]{60mm}{
|
||||
Betreuer/Betreuerin:
|
||||
\\[5.0mm]Dipl.-Ing. Christoph Schönherr
|
||||
}
|
||||
\\[12mm]{Projektpartner: IT-Syndikat, Verein zur Förderung des freien
|
||||
Zugangs zu technischer Fort- und Weiterbildung jeglicher Art}
|
||||
\\[12mm]{Ansprechpartner: Herr David Oberhollenzer}
|
||||
\\[14mm]{Innsbruck, am \today}
|
||||
\\[16mm]\rule{150mm}{0.5pt}
|
||||
\\[ 8mm]
|
||||
\parbox[t]{75mm}{
|
||||
Abgabevermerk:
|
||||
\\[3.25mm]Datum:
|
||||
}
|
||||
\hspace*{6mm}
|
||||
\parbox[t]{50mm}{
|
||||
Betreuer/in:
|
||||
}
|
||||
}}
|
||||
\end{center}\hfill
|
||||
\end{minipage}
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\mylinespacing
|
||||
%====================================================================================
|
||||
\clearpage\vfill\newpage{}
|
||||
\pagenumbering{roman}
|
||||
\allAuth
|
||||
\cfoot{\rightmark}
|
||||
\rfoot[\thepage]{\thepage}
|
||||
\renewcommand{\footrulewidth}{0.33pt}
|
||||
%====================================================================================
|
||||
\subsection*{Gendererklärung\markboth{}{Gendererklärung}}
|
||||
\addcontentsline{toc}{section}{Gendererklärung}
|
||||
Aus Gr"unden der besseren Lesbarkeit wird in dieser Diplomarbeit die Sprachform
|
||||
des generischen Maskulinums angewendet. Es wird an dieser Stelle darauf
|
||||
hingewiesen, dass die ausschlie"sliche Verwendung der m"annlichen Form
|
||||
geschlechtsunabh"angig verstanden werden soll.
|
||||
|
||||
%====================================================================================
|
||||
\clearpage\vfill\newpage{}
|
||||
%====================================================================================
|
||||
\subsection*{Kurzfassung/Abstract\markboth{}{Kurzfassung/Abstract}}
|
||||
\addcontentsline{toc}{section}{Kurzfassung/Abstract}
|
||||
%\input{sections/abstract.tex} TODO
|
||||
|
||||
\newpage
|
||||
\subsection*{Projektergebnis\markboth{}{Projektergebnis}}
|
||||
\addcontentsline{toc}{section}{Projektergebnis}
|
||||
%\input{sections/ergebnis.tex} TODO
|
||||
%====================================================================================
|
||||
\pagestyle{plain}
|
||||
\tableofcontents
|
||||
\newpage
|
||||
\pagestyle{fancy}
|
||||
\cfoot{\rightmark}
|
||||
%====================================================================================
|
||||
\lhead{}
|
||||
\renewcommand{\headrulewidth}{0.4pt}
|
||||
\setcounter{section}{0}
|
||||
\pagenumbering{arabic}
|
||||
|
||||
\subfile{vhdl_intro/vhdl_intro.tex}
|
||||
\subfile{soc/soc.tex}
|
||||
\subfile{core/core.tex}
|
||||
%\section{Einleitung}
|
||||
%\input{sections/einleitung.tex} TODO
|
||||
|
||||
\printbibliography
|
||||
\section{Aufgabenstellung}
|
||||
\DP\input{planung/DP/aufgabenstellung.tex}
|
||||
|
||||
\section{Planung}
|
||||
\DP\input{planung/DP/planung.tex}
|
||||
|
||||
\clearpage
|
||||
% \MR\input{sections/Kapitel/MR/planungAufgabengenerator.tex}
|
||||
|
||||
\clearpage
|
||||
%\MR\input{sections/Kapitel/MR/Aufgabengeneration.tex}
|
||||
|
||||
\clearpage
|
||||
%\MR\input{sections/Kapitel/MR/EntwicklungAufgaben.tex}
|
||||
|
||||
\subfile{sections/vhdl_intro/vhdl_intro.tex}
|
||||
\subfile{sections/soc/soc.tex}
|
||||
\subfile{sections/core/core.tex}
|
||||
|
||||
%====================================================================================
|
||||
\clearpage\vfill\newpage{}
|
||||
%====================================================================================
|
||||
\section{Erkl"arung der Eigenst"andigkeit der Arbeit}
|
||||
\noindent\\[0mm] EIDESSTATTLICHE ERKLÄRUNG
|
||||
\\[4mm]
|
||||
\parbox{152mm}{
|
||||
Ich erkläre an Eides statt, dass ich die vorliegende Arbeit selbständig und ohne
|
||||
fremde Hilfe verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht
|
||||
benutzt und die den benutzten Quellen wörtlich und inhaltlich entnommenen
|
||||
Stellen als solche erkenntlich gemacht habe. Meine Arbeit darf öffentlich
|
||||
zugänglich gemacht werden, wenn kein Sperrvermerk vorliegt.
|
||||
}
|
||||
\\[19mm]\parbox{80mm}{
|
||||
\rule{60mm}{.5pt}\\
|
||||
\hspace*{3mm}Ort, Datum
|
||||
}
|
||||
\parbox{80mm}{
|
||||
\rule{70mm}{.5pt}\\
|
||||
\hspace*{3mm} Armin Brauns
|
||||
}
|
||||
\\[19mm]\parbox{80mm}{
|
||||
\rule{60mm}{.5pt}\\
|
||||
\hspace*{3mm}Ort, Datum
|
||||
}
|
||||
\parbox{80mm}{
|
||||
\rule{70mm}{.5pt}\\
|
||||
\hspace*{3mm} Daniel Plank
|
||||
}
|
||||
|
||||
%====================================================================================
|
||||
\clearpage\vfill\newpage{}
|
||||
\pagenumbering{Roman}
|
||||
%====================================================================================
|
||||
\renewcommand{\thesection}{\Roman{section}\;}
|
||||
\setcounter{section}{0}
|
||||
\listoffigures\thispagestyle{fancy}
|
||||
\listoftables\thispagestyle{fancy}
|
||||
\lstlistoflistings\thispagestyle{fancy}
|
||||
\printbibliography[title={Literaturverzeichnis},heading=bibnumbered]
|
||||
|
||||
|
||||
|
||||
|
||||
%====================================================================================
|
||||
\clearpage\vfill\newpage{}
|
||||
%====================================================================================
|
||||
%\noindent\\[-2mm]
|
||||
%\hspace*{3mm}{\sc\textbf{\Large Anhang}}
|
||||
%\noindent\\[-5mm]
|
||||
%
|
||||
%
|
||||
%\cfoot{Anhang}
|
||||
%\addcontentsline{toc}{section}{Anhang}
|
||||
%\appendix
|
||||
%\renewcommand{\thesection}{\Alph{section}}
|
||||
%\setcounter{section}{1}
|
||||
%\setcounter{subsection}{0}
|
||||
|
||||
%\subsection{Pflichtenheft}
|
||||
%\input{sections/Anhang/Pflichtenheft/pflichtenheftMR.tex}
|
||||
%
|
||||
%\newpage
|
||||
%\subsection{Schlussfolgerung / Projekterfahrung}
|
||||
%\input{sections/Anhang/schlussfolgerung.tex}
|
||||
|
||||
%\subsection{Projektterminplanung}
|
||||
%\MR\input{sections/Anhang/Projektterminplanung/projektterminplanungMR.tex}
|
||||
|
||||
\clearpage
|
||||
%\subsection{Arbeitsnachweis Diplomarbeit}
|
||||
%\MR\input{sections/Anhang/Arbeitsnachweis/arbeitsnachweisMR.tex}
|
||||
|
||||
\label{LastPage}
|
||||
%\addtocontents{toc}{\protect\end{multicols}}
|
||||
\end{document}
|
||||
|
|
337
LICENSE.md
Normal file
|
@ -0,0 +1,337 @@
|
|||
## creative commons
|
||||
|
||||
# Attribution 4.0 International
|
||||
|
||||
Creative Commons Corporation (“Creative Commons”) is not a law firm and does not
|
||||
provide legal services or legal advice. Distribution of Creative Commons public
|
||||
licenses does not create a lawyer-client or other relationship. Creative Commons
|
||||
makes its licenses and related information available on an “as-is” basis.
|
||||
Creative Commons gives no warranties regarding its licenses, any material
|
||||
licensed under their terms and conditions, or any related information. Creative
|
||||
Commons disclaims all liability for damages resulting from their use to the
|
||||
fullest extent possible.
|
||||
|
||||
### Using Creative Commons Public Licenses
|
||||
|
||||
Creative Commons public licenses provide a standard set of terms and conditions
|
||||
that creators and other rights holders may use to share original works of
|
||||
authorship and other material subject to copyright and certain other rights
|
||||
specified in the public license below. The following considerations are for
|
||||
informational purposes only, are not exhaustive, and do not form part of our
|
||||
licenses.
|
||||
|
||||
* __Considerations for licensors:__ Our public licenses are intended for use by
|
||||
those authorized to give the public permission to use material in ways otherwise
|
||||
restricted by copyright and certain other rights. Our licenses are irrevocable.
|
||||
Licensors should read and understand the terms and conditions of the license
|
||||
they choose before applying it. Licensors should also secure all rights
|
||||
necessary before applying our licenses so that the public can reuse the material
|
||||
as expected. Licensors should clearly mark any material not subject to the license.
|
||||
This includes other CC-licensed material, or material used under an exception or
|
||||
limitation to copyright.
|
||||
[More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors).
|
||||
|
||||
* __Considerations for the public:__ By using one of our public licenses, a
|
||||
licensor grants the public permission to use the licensed material under
|
||||
specified terms and conditions. If the licensor’s permission is not necessary
|
||||
for any reason–for example, because of any applicable exception or limitation
|
||||
to copyright–then that use is not regulated by the license. Our licenses grant
|
||||
only permissions under copyright and certain other rights that a licensor has
|
||||
authority to grant. Use of the licensed material may still be restricted for
|
||||
other reasons, including because others have copyright or other rights in the
|
||||
material. A licensor may make special requests, such as asking that all changes
|
||||
be marked or described. Although not required by our licenses, you are
|
||||
encouraged to respect those requests where reasonable.
|
||||
[More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
|
||||
|
||||
## Creative Commons Attribution 4.0 International Public License
|
||||
|
||||
By exercising the Licensed Rights (defined below), You accept and agree to be
|
||||
bound by the terms and conditions of this Creative Commons Attribution 4.0
|
||||
International Public License ("Public License"). To the extent this Public
|
||||
License may be interpreted as a contract, You are granted the Licensed Rights in
|
||||
consideration of Your acceptance of these terms and conditions, and the Licensor
|
||||
grants You such rights in consideration of benefits the Licensor receives from
|
||||
making the Licensed Material available under these terms and conditions.
|
||||
|
||||
### Section 1 – Definitions.
|
||||
|
||||
a. __Adapted Material__ means material subject to Copyright and Similar Rights
|
||||
that is derived from or based upon the Licensed Material and in which the
|
||||
Licensed Material is translated, altered, arranged, transformed, or otherwise
|
||||
modified in a manner requiring permission under the Copyright and Similar Rights
|
||||
held by the Licensor. For purposes of this Public License, where the Licensed
|
||||
Material is a musical work, performance, or sound recording, Adapted Material is
|
||||
always produced where the Licensed Material is synched in timed relation with a
|
||||
moving image.
|
||||
|
||||
b. __Adapter's License__ means the license You apply to Your Copyright and
|
||||
Similar Rights in Your contributions to Adapted Material in accordance with the
|
||||
terms and conditions of this Public License.
|
||||
|
||||
c. __Copyright and Similar Rights__ means copyright and/or similar rights
|
||||
closely related to copyright including, without limitation, performance,
|
||||
broadcast, sound recording, and Sui Generis Database Rights, without regard to
|
||||
how the rights are labeled or categorized. For purposes of this Public License,
|
||||
the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||
Rights.
|
||||
|
||||
d. __Effective Technological Measures__ means those measures that, in the
|
||||
absence of proper authority, may not be circumvented under laws fulfilling
|
||||
obligations under Article 11 of the WIPO Copyright Treaty adopted on December
|
||||
20, 1996, and/or similar international agreements.
|
||||
|
||||
e. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other
|
||||
exception or limitation to Copyright and Similar Rights that applies to Your
|
||||
use of the Licensed Material.
|
||||
|
||||
f. __Licensed Material__ means the artistic or literary work, database, or other
|
||||
material to which the Licensor applied this Public License.
|
||||
|
||||
g. __Licensed Rights__ means the rights granted to You subject to the terms and
|
||||
conditions of this Public License, which are limited to all Copyright and
|
||||
Similar Rights that apply to Your use of the Licensed Material and that the
|
||||
Licensor has authority to license.
|
||||
|
||||
h. __Licensor__ means the individual(s) or entity(ies) granting rights under
|
||||
this Public License.
|
||||
|
||||
i. __Share__ means to provide material to the public by any means or process
|
||||
that requires permission under the Licensed Rights, such as reproduction,
|
||||
public display, public performance, distribution, dissemination, communication,
|
||||
or importation, and to make material available to the public including in ways
|
||||
that members of the public may access the material from a place and at a time
|
||||
individually chosen by them.
|
||||
|
||||
j. __Sui Generis Database Rights__ means rights other than copyright resulting
|
||||
from Directive 96/9/EC of the European Parliament and of the Council of 11 March
|
||||
1996 on the legal protection of databases, as amended and/or succeeded, as well
|
||||
as other essentially equivalent rights anywhere in the world.
|
||||
|
||||
k. __You__ means the individual or entity exercising the Licensed Rights under
|
||||
this Public License. Your has a corresponding meaning.
|
||||
|
||||
### Section 2 – Scope.
|
||||
|
||||
a. ___License grant.___
|
||||
|
||||
1. Subject to the terms and conditions of this Public License, the Licensor
|
||||
hereby grants You a worldwide, royalty-free, non-sublicensable,
|
||||
non-exclusive, irrevocable license to exercise the Licensed Rights in the
|
||||
Licensed Material to:
|
||||
|
||||
A. reproduce and Share the Licensed Material, in whole or in part; and
|
||||
|
||||
B. produce, reproduce, and Share Adapted Material.
|
||||
|
||||
2. __Exceptions and Limitations.__ For the avoidance of doubt, where
|
||||
Exceptions and Limitations apply to Your use, this Public License does not
|
||||
apply, and You do not need to comply with its terms and conditions.
|
||||
|
||||
3. __Term.__ The term of this Public License is specified in Section 6(a).
|
||||
|
||||
4. __Media and formats; technical modifications allowed.__ The Licensor
|
||||
authorizes You to exercise the Licensed Rights in all media and formats
|
||||
whether now known or hereafter created, and to make technical modifications
|
||||
necessary to do so. The Licensor waives and/or agrees not to assert any right
|
||||
or authority to forbid You from making technical modifications necessary to
|
||||
exercise the Licensed Rights, including technical modifications necessary to
|
||||
circumvent Effective Technological Measures. For purposes of this Public
|
||||
License, simply making modifications authorized by this Section 2(a)(4)
|
||||
never produces Adapted Material.
|
||||
|
||||
5. __Downstream recipients.__
|
||||
|
||||
A. __Offer from the Licensor – Licensed Material.__ Every recipient of
|
||||
the Licensed Material automatically receives an offer from the Licensor
|
||||
to exercise the Licensed Rights under the terms and conditions of this
|
||||
Public License.
|
||||
|
||||
B. __No downstream restrictions.__ You may not offer or impose any
|
||||
additional or different terms or conditions on, or apply any Effective
|
||||
Technological Measures to, the Licensed Material if doing so restricts
|
||||
exercise of the Licensed Rights by any recipient of the Licensed
|
||||
Material.
|
||||
|
||||
6. __No endorsement.__ Nothing in this Public License constitutes or may be
|
||||
construed as permission to assert or imply that You are, or that Your use of
|
||||
the Licensed Material is, connected with, or sponsored, endorsed, or granted
|
||||
official status by, the Licensor or others designated to receive attribution
|
||||
as provided in Section 3(a)(1)(A)(i).
|
||||
|
||||
b. ___Other rights.___
|
||||
|
||||
1. Moral rights, such as the right of integrity, are not licensed under this
|
||||
Public License, nor are publicity, privacy, and/or other similar personality
|
||||
rights; however, to the extent possible, the Licensor waives and/or agrees
|
||||
not to assert any such rights held by the Licensor to the limited extent
|
||||
necessary to allow You to exercise the Licensed Rights, but not otherwise.
|
||||
|
||||
2. Patent and trademark rights are not licensed under this Public License.
|
||||
|
||||
3. To the extent possible, the Licensor waives any right to collect royalties
|
||||
from You for the exercise of the Licensed Rights, whether directly or through
|
||||
a collecting society under any voluntary or waivable statutory or compulsory
|
||||
licensing scheme. In all other cases the Licensor expressly reserves any
|
||||
right to collect such royalties.
|
||||
|
||||
### Section 3 – License Conditions.
|
||||
|
||||
Your exercise of the Licensed Rights is expressly made subject to the following
|
||||
conditions.
|
||||
|
||||
a. ___Attribution.___
|
||||
|
||||
1. If You Share the Licensed Material (including in modified form), You must:
|
||||
|
||||
A. retain the following if it is supplied by the Licensor with the
|
||||
Licensed Material:
|
||||
|
||||
i. identification of the creator(s) of the Licensed Material and any
|
||||
others designated to receive attribution, in any reasonable manner
|
||||
requested by the Licensor (including by pseudonym if designated);
|
||||
|
||||
ii. a copyright notice;
|
||||
|
||||
iii. a notice that refers to this Public License;
|
||||
|
||||
iv. a notice that refers to the disclaimer of warranties;
|
||||
|
||||
v. a URI or hyperlink to the Licensed Material to the extent reasonably
|
||||
practicable;
|
||||
|
||||
B. indicate if You modified the Licensed Material and retain an
|
||||
indication of any previous modifications; and
|
||||
|
||||
C. indicate the Licensed Material is licensed under this Public License,
|
||||
and include the text of, or the URI or hyperlink to, this Public License.
|
||||
|
||||
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner
|
||||
based on the medium, means, and context in which You Share the Licensed
|
||||
Material. For example, it may be reasonable to satisfy the conditions by
|
||||
providing a URI or hyperlink to a resource that includes the required
|
||||
information.
|
||||
|
||||
3. If requested by the Licensor, You must remove any of the information
|
||||
required by Section 3(a)(1)(A) to the extent reasonably practicable.
|
||||
|
||||
4. If You Share Adapted Material You produce, the Adapter's License You apply
|
||||
must not prevent recipients of the Adapted Material from complying with this
|
||||
Public License.
|
||||
|
||||
### Section 4 – Sui Generis Database Rights.
|
||||
|
||||
Where the Licensed Rights include Sui Generis Database Rights that apply to Your
|
||||
use of the Licensed Material:
|
||||
|
||||
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract,
|
||||
reuse, reproduce, and Share all or a substantial portion of the contents of the
|
||||
database;
|
||||
|
||||
b. if You include all or a substantial portion of the database contents in a
|
||||
database in which You have Sui Generis Database Rights, then the database in
|
||||
which You have Sui Generis Database Rights (but not its individual contents) is
|
||||
Adapted Material; and
|
||||
|
||||
c. You must comply with the conditions in Section 3(a) if You Share all or a
|
||||
substantial portion of the contents of the database.
|
||||
|
||||
For the avoidance of doubt, this Section 4 supplements and does not replace
|
||||
Your obligations under this Public License where the Licensed Rights include
|
||||
other Copyright and Similar Rights.
|
||||
|
||||
### Section 5 – Disclaimer of Warranties and Limitation of Liability.
|
||||
|
||||
a. __Unless otherwise separately undertaken by the Licensor, to the extent
|
||||
possible, the Licensor offers the Licensed Material as-is and as-available, and
|
||||
makes no representations or warranties of any kind concerning the Licensed
|
||||
Material, whether express, implied, statutory, or other. This includes, without
|
||||
limitation, warranties of title, merchantability, fitness for a particular
|
||||
purpose, non-infringement, absence of latent or other defects, accuracy, or the
|
||||
presence or absence of errors, whether or not known or discoverable. Where
|
||||
disclaimers of warranties are not allowed in full or in part, this disclaimer
|
||||
may not apply to You.__
|
||||
|
||||
b. __To the extent possible, in no event will the Licensor be liable to You on
|
||||
any legal theory (including, without limitation, negligence) or otherwise for
|
||||
any direct, special, indirect, incidental, consequential, punitive, exemplary,
|
||||
or other losses, costs, expenses, or damages arising out of this Public License
|
||||
or use of the Licensed Material, even if the Licensor has been advised of the
|
||||
possibility of such losses, costs, expenses, or damages. Where a limitation of
|
||||
liability is not allowed in full or in part, this limitation may not apply to
|
||||
You.__
|
||||
|
||||
c. The disclaimer of warranties and limitation of liability provided above shall
|
||||
be interpreted in a manner that, to the extent possible, most closely
|
||||
approximates an absolute disclaimer and waiver of all liability.
|
||||
|
||||
### Section 6 – Term and Termination.
|
||||
|
||||
a. This Public License applies for the term of the Copyright and Similar Rights
|
||||
licensed here. However, if You fail to comply with this Public License, then
|
||||
Your rights under this Public License terminate automatically.
|
||||
|
||||
b. Where Your right to use the Licensed Material has terminated under Section
|
||||
6(a), it reinstates:
|
||||
|
||||
1. automatically as of the date the violation is cured, provided it is cured
|
||||
within 30 days of Your discovery of the violation; or
|
||||
|
||||
2. upon express reinstatement by the Licensor.
|
||||
|
||||
For the avoidance of doubt, this Section 6(b) does not affect any right the
|
||||
Licensor may have to seek remedies for Your violations of this Public
|
||||
License.
|
||||
|
||||
c. For the avoidance of doubt, the Licensor may also offer the Licensed Material
|
||||
under separate terms or conditions or stop distributing the Licensed Material
|
||||
at any time; however, doing so will not terminate this Public License.
|
||||
|
||||
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
|
||||
|
||||
### Section 7 – Other Terms and Conditions.
|
||||
|
||||
a. The Licensor shall not be bound by any additional or different terms or
|
||||
conditions communicated by You unless expressly agreed.
|
||||
|
||||
b. Any arrangements, understandings, or agreements regarding the Licensed
|
||||
Material not stated herein are separate from and independent of the terms and
|
||||
conditions of this Public License.
|
||||
|
||||
### Section 8 – Interpretation.
|
||||
|
||||
a. For the avoidance of doubt, this Public License does not, and shall not be
|
||||
interpreted to, reduce, limit, restrict, or impose conditions on any use of the
|
||||
Licensed Material that could lawfully be made without permission under this
|
||||
Public License.
|
||||
|
||||
b. To the extent possible, if any provision of this Public License is deemed
|
||||
unenforceable, it shall be automatically reformed to the minimum extent
|
||||
necessary to make it enforceable. If the provision cannot be reformed, it shall
|
||||
be severed from this Public License without affecting the enforceability of the
|
||||
remaining terms and conditions.
|
||||
|
||||
c. No term or condition of this Public License will be waived and no failure to
|
||||
comply consented to unless expressly agreed to by the Licensor.
|
||||
|
||||
d. Nothing in this Public License constitutes or may be interpreted as a
|
||||
limitation upon, or waiver of, any privileges and immunities that apply to the
|
||||
Licensor or You, including from the legal processes of any jurisdiction or
|
||||
authority.
|
||||
|
||||
> Creative Commons is not a party to its public licenses. Notwithstanding,
|
||||
Creative Commons may elect to apply one of its public licenses to material it
|
||||
publishes and in those instances will be considered the “Licensor.” Except for
|
||||
the limited purpose of indicating that material is shared under a Creative
|
||||
Commons public license or as otherwise permitted by the Creative Commons
|
||||
policies published at
|
||||
[creativecommons.org/policies](http://creativecommons.org/policies),
|
||||
Creative Commons does not authorize the use of the trademark “Creative Commons”
|
||||
or any other trademark or logo of Creative Commons without its prior written
|
||||
consent including, without limitation, in connection with any unauthorized
|
||||
modifications to any of its public licenses or any other arrangements,
|
||||
understandings, or agreements concerning use of licensed material. For the
|
||||
avoidance of doubt, this paragraph does not form part of the public licenses.
|
||||
>
|
||||
> Creative Commons may be contacted at creativecommons.org
|
||||
|
4
Makefile
|
@ -20,14 +20,14 @@ $1: $2
|
|||
HEADER_DIRS += $1
|
||||
endef
|
||||
|
||||
$(eval $(call headers_template,core/entities/,$(wildcard $(VHDL_DIR)/core/*.vhd)))
|
||||
$(eval $(call headers_template,sections/core/entities/,$(wildcard $(VHDL_DIR)/core/*.vhd)))
|
||||
|
||||
.PHONY: entity_headers
|
||||
entity_headers: $(HEADER_DIRS)
|
||||
|
||||
.PHONY: Diplomschrift.pdf
|
||||
Diplomschrift.pdf: $(HEADER_DIRS) Diplomschrift.tex
|
||||
latexmk --pdf --pdflatex="pdflatex -interaction=nonstopmode" --use-make Diplomschrift.tex
|
||||
latexmk --pdfxe --pdfxelatex="xelatex -interaction=nonstopmode --shell-escape" --use-make Diplomschrift.tex
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
|
|
11
README.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
# About
|
||||
|
||||
This repository contains documents related to the YARM thesis at the HTBLuVA
|
||||
Innsbruck Anichstrasse.
|
||||
# LICENSE
|
||||
|
||||
This thesis is licensed for use under the Creative Commons BY 4.0 License as
|
||||
published by the Creative Commons Corporation. Please see the LICENSE.md
|
||||
file or the creative commons website at
|
||||
https://creativecommons.org/licenses/by/4.0/legalcode
|
||||
for a full copy of the license.
|
BIN
antrag/antrag.pdf
Normal file
BIN
antrag/korrekturen/plabratxTfL.pdf
Normal file
|
@ -1,84 +0,0 @@
|
|||
%PDF-1.4
|
||||
%Çì<C387>¢
|
||||
5 0 obj
|
||||
<</Length 6 0 R/Filter /FlateDecode>>
|
||||
stream
|
||||
xœu’QnÄ Dÿ9…OàÚ>F÷
|
||||
•v6mï/Õ$!A‚*R‚&!ofð72P»Îç×>^¿<><C2BF>’Y-ÆU†ŸWˆÅP˜<50>Å°¨À$'L5AFŠ™Þ!Š`[ÝJ.Œ¦ú·®PD‹iPžŽe3ËÃBÍ„mMžÿ‘Ôи‚Ôêvß—·‘TÓ ÜÞ׌Ää‹xL© Ä
|
||||
¼bœJ<C593><„?ßÊi÷@ÖdJæÈ’ý•˜Êš:ï?âõ°«2g§Îl°jäÝ9<C39D>ÈO¶ÙJ“¡ƒ·E„«µKéýÝÁ{Ç·r ÕÝÙp¦Kä¼Ùë@ªråÜÂl³õªÞdÖ} é–NÜÆ»rw5É<Hû¶2óÿ¬Åøíiz¶Ui³¿gøJ9ºPendstream
|
||||
endobj
|
||||
6 0 obj
|
||||
292
|
||||
endobj
|
||||
4 0 obj
|
||||
<</Type/Page/MediaBox [0 0 57.69 57.69]
|
||||
/Parent 3 0 R
|
||||
/Resources<</ProcSet[/PDF]
|
||||
/ExtGState 8 0 R
|
||||
>>
|
||||
/Contents 5 0 R
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<< /Type /Pages /Kids [
|
||||
4 0 R
|
||||
] /Count 1
|
||||
>>
|
||||
endobj
|
||||
1 0 obj
|
||||
<</Type /Catalog /Pages 3 0 R
|
||||
/Metadata 9 0 R
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<</Type/ExtGState
|
||||
/OPM 1>>endobj
|
||||
8 0 obj
|
||||
<</R7
|
||||
7 0 R>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<</Type/Metadata
|
||||
/Subtype/XML/Length 1371>>stream
|
||||
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
|
||||
<?adobe-xap-filters esc="CRLF"?>
|
||||
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
|
||||
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
|
||||
<rdf:Description rdf:about='uuid:8a798284-5606-11f2-0000-42ba47da2376' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.05'/>
|
||||
<rdf:Description rdf:about='uuid:8a798284-5606-11f2-0000-42ba47da2376' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2017-04-10T12:34:08Z</xmp:ModifyDate>
|
||||
<xmp:CreateDate>2017-04-10T12:34:08Z</xmp:CreateDate>
|
||||
<xmp:CreatorTool>dvips(k) 5.992 Copyright 2012 Radical Eye Software</xmp:CreatorTool></rdf:Description>
|
||||
<rdf:Description rdf:about='uuid:8a798284-5606-11f2-0000-42ba47da2376' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:8a798284-5606-11f2-0000-42ba47da2376'/>
|
||||
<rdf:Description rdf:about='uuid:8a798284-5606-11f2-0000-42ba47da2376' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>JNsetRXh1.dvi</rdf:li></rdf:Alt></dc:title></rdf:Description>
|
||||
</rdf:RDF>
|
||||
</x:xmpmeta>
|
||||
|
||||
|
||||
<?xpacket end='w'?>
|
||||
endstream
|
||||
endobj
|
||||
2 0 obj
|
||||
<</Producer(GPL Ghostscript 9.05)
|
||||
/CreationDate(D:20170410123408Z00'00')
|
||||
/ModDate(D:20170410123408Z00'00')
|
||||
/Creator(dvips\(k\) 5.992 Copyright 2012 Radical Eye Software)
|
||||
/Title(JNsetRXh1.dvi)>>endobj
|
||||
xref
|
||||
0 10
|
||||
0000000000 65535 f
|
||||
0000000590 00000 n
|
||||
0000002171 00000 n
|
||||
0000000531 00000 n
|
||||
0000000396 00000 n
|
||||
0000000015 00000 n
|
||||
0000000377 00000 n
|
||||
0000000654 00000 n
|
||||
0000000695 00000 n
|
||||
0000000724 00000 n
|
||||
trailer
|
||||
<< /Size 10 /Root 1 0 R /Info 2 0 R
|
||||
/ID [<ADE9694AC3EE77AEF1F97716539EA98F><ADE9694AC3EE77AEF1F97716539EA98F>]
|
||||
>>
|
||||
startxref
|
||||
2379
|
||||
%%EOF
|
80
pics/logoBpdf.svg
Normal file
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
xml:space="preserve"
|
||||
width="76.919998"
|
||||
height="76.919998"
|
||||
viewBox="0 0 76.919998 76.919998"
|
||||
sodipodi:docname="logoBpdf.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14"><metadata
|
||||
id="metadata8"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs6" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1916"
|
||||
inkscape:window-height="1041"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="17.355923"
|
||||
inkscape:cx="11.003126"
|
||||
inkscape:cy="55.365801"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="18"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g10" /><g
|
||||
id="g10"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="logoBpdf"
|
||||
transform="matrix(1.3333333,0,0,-1.3333333,0,76.92)"><g
|
||||
id="g12"
|
||||
transform="scale(0.1)"><path
|
||||
d="M 379.211,129.762 254.484,5.03516 h 68.032 L 571.965,254.484 h -68.031"
|
||||
style="fill:#0d0d80;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path14"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="M 379.211,129.762 503.934,254.484 469.918,288.5 254.484,73.0664 V 5.03516"
|
||||
style="fill:#3333b2;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path16"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="M 447.238,379.211 571.965,254.484 v 68.032 L 322.516,571.965 v -68.031"
|
||||
style="fill:#fdeb00;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path18"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="M 447.238,379.211 322.516,503.934 288.5,469.918 503.934,254.484 h 68.031"
|
||||
style="fill:#d9bf5c;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path20"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="M 197.789,447.238 322.516,571.965 H 254.484 L 5.03516,322.516 H 73.0664"
|
||||
style="fill:#00c94d;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path22"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="M 197.789,447.238 73.0664,322.516 107.082,288.5 322.516,503.934 v 68.031"
|
||||
style="fill:#00a633;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path24"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="M 129.762,197.789 5.03516,322.516 V 254.484 L 254.484,5.03516 V 73.0664"
|
||||
style="fill:#a80000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path26"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
d="M 129.762,197.789 254.484,73.0664 288.5,107.082 73.0664,322.516 H 5.03516"
|
||||
style="fill:#e30000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path28"
|
||||
inkscape:connector-curvature="0" /></g></g></svg>
|
After Width: | Height: | Size: 3.5 KiB |
2
planung/DP/aufgabenstellung.tex
Normal file
|
@ -0,0 +1,2 @@
|
|||
\subsection{Daniel Plank}
|
||||
|
91
planung/DP/aufwand.tex
Normal file
|
@ -0,0 +1,91 @@
|
|||
\subsection{Aufwandsabschätzung}
|
||||
|
||||
Die Aufwandsabschätzung beinhaltet nur die nach offiziellem Einreichen der
|
||||
Diplomarbeit zu vollziehenden Arbeiten.
|
||||
|
||||
\subsubsection{Stundenabschätzung der Teilaufgaben}
|
||||
|
||||
\begin{table}[H]
|
||||
\begin{tabularx}{\textwidth}{|c|X|c|}
|
||||
\hline
|
||||
\textbf{Teilbereich} & \textbf{Aufgabe} &
|
||||
\textbf{Dauer[Stunden]}\\
|
||||
\hline
|
||||
Allgemeines & Informationsbeschaffung zur Funktionsweise & 2\\
|
||||
\hline
|
||||
Allgemeines & Bestückung der Backplane & 1\\
|
||||
\hline
|
||||
Allgemeines & Zeichnen der Testplatinen & 6\\
|
||||
\hline
|
||||
Allgemeines & Auswahl der Bauelemente der Testplatinen & 3\\
|
||||
\hline
|
||||
Allgemeines & Bestücken der Testplatinen & 3\\
|
||||
\hline
|
||||
Allgemeines & Verifikation der Backplane & 2\\
|
||||
\hline
|
||||
Soundpuffer & Informationsbeschaffung zur Funktionsweise & 2\\
|
||||
\hline
|
||||
Soundpuffer & Auswahl der Bauelemente & 1\\
|
||||
\hline
|
||||
Soundpuffer & Verifikations-Schaltungsenticklung & 4\\
|
||||
\hline
|
||||
Soundpuffer & Steckbrettaufbau und Fehlersuche & 7\\
|
||||
\hline
|
||||
Soundpuffer & Steckbrettaufbau Test und Verifikation & 3\\
|
||||
\hline
|
||||
Grafikpuffer & Infromationsbeschaffung zur Funktiosweise & 4\\
|
||||
\hline
|
||||
Grafikpuffer & Schaltungsplanung zum Pufferwechsel & 5\\
|
||||
\hline
|
||||
Grafikpuffer & Verifikations-Schalktungsentwicklung & 7\\
|
||||
\hline
|
||||
Grafikpuffer & Auswahl der Bauelemente & 1.5\\
|
||||
\hline
|
||||
Grafikpuffer & Steckbrettaufbau und Fehlersuche & 10\\
|
||||
\hline
|
||||
Soundpuffer & Fertigen der Platinenzeichnung & 2\\
|
||||
\hline
|
||||
Grafikpuffer & Fertigen der Platinenzeichnung & 3\\
|
||||
\hline
|
||||
Soundpuffer & Fertigen der Platine & 3.5\\
|
||||
\hline
|
||||
Grafikpuffer & Fertigen der Platine & 2\\
|
||||
\hline
|
||||
Soundpuffer & Bestücken der Platine & 1.5\\
|
||||
\hline
|
||||
Grafikpuffer & Bestücken der Platine & 1.5\\
|
||||
\hline
|
||||
Soundpuffer & Verifikation mittels Testplatine & 1.5\\
|
||||
\hline
|
||||
Grafikpuffer & Verifikation mittels Testplatine & 1.5\\
|
||||
\hline
|
||||
Allgemeines & Entwicklung von Beispielbedienungen mittels
|
||||
Testplatinen & 3\\
|
||||
\hline
|
||||
Mikrokontrolle & Entwicklung von Interface zwischen Backplane
|
||||
und Mikrokontroller & 2\\
|
||||
\hline
|
||||
Software & Entwicklung von Demosoftware mit Soundpuffer &
|
||||
4\\
|
||||
\hline
|
||||
Software & Entwicklung von Demosoftware mit Grafikpuffer &
|
||||
7\\
|
||||
\hline
|
||||
Allgemeines & Allgemeiner Fehlerpuffer während der Entwicklung
|
||||
& 15h\\
|
||||
\textbf{SUMME} & \textbf{SUMME} & 109\\
|
||||
\hline
|
||||
Dokumentation & Dokumentation & 60 \\
|
||||
\hline
|
||||
\textbf{SUMME} & \textbf{SUMME} & 169\\
|
||||
\hline
|
||||
\hline
|
||||
\end{tabularx}
|
||||
\label{tab:stunden_plank}
|
||||
\caption{Stundenabschätzung Plank Daniel}
|
||||
|
||||
Die Dokumentation wird mit 60h beschätzt, da diese die Gesamte
|
||||
Funktionsweise der Hardware abdeckt, und mehrere Messungen der Hardware
|
||||
beeinhlatet.
|
||||
|
||||
\end{table}
|
33
planung/DP/grobdesign.tex
Normal file
|
@ -0,0 +1,33 @@
|
|||
\subsection{Grobdesign}
|
||||
|
||||
\subsubsection{Aufgabenstellung}
|
||||
|
||||
Zur Klärung immerwiederkehrender Fragen im Umfeld des Vereins IT-Syndikat in
|
||||
Innsbruck sollen Beispiele und Dokumentation der Funktion moderner
|
||||
Prozessorperipherie und der Kommunikation selbiger mit dem Prozessorkern als
|
||||
MMIO
|
||||
\footnote{\href{https://en.wikipedia.org/wiki/Memory-mapped_I/O}{MMIO}...
|
||||
Memory Mapped I/O} Angefertigt werden. Diese Dokumentation soll möglichst für alle
|
||||
Prozessorarchitekturen gültig und daher Architekturunabhängig sein. Die
|
||||
Dokumentation soll für Personen mit tieferem Verständniss von Hardware, sowie
|
||||
für Anfänger hilfreiche Aussagen über die Funktionswiese der Hardware liefern,
|
||||
welche sich aus einer seriellen Schnittstelle mit TIA-/EIA-232 Pegeln, einem
|
||||
Framebuffer\footnote{\href{https://en.wikipedia.org/wiki/Framebuffer}
|
||||
{Framebuffer}...Ein Speicherbereich in welchen
|
||||
ein Bild geladen werden kann, welches dann ausgegeben werden} und einem
|
||||
Soundbuffer\footnote{Ähnlich einem Framebuffer nur dass PCM-Audio anstatt
|
||||
Bildern ausgegeben wird}.
|
||||
|
||||
\subsubsection{Umsetungsbeschreibung}
|
||||
|
||||
Zu aller erst müssen, um die ziele Verstehen zu können, die benötigten
|
||||
Unterlagen beschaffen werden. Diese können in Papierform oder Digital vorhanden
|
||||
sein. Letztere dürften leichter in diesem Industriezweig aufzutreiben sein,
|
||||
jedoch muss mehr Acht gegeben werden auf die Korrektheit der Dokumente.
|
||||
Nach der Beschaffung der Dokumente sollen Beispielschaltungen entwickelt werden,
|
||||
damit die Funktionsweise auch tatsächlich verstanden werden kann.
|
||||
Dokumentationen ohne sinnvollen Praktischen Hintergrund sind meist recht
|
||||
unanschaulich. Nach Entwicklung der Schaltungen sollen diese sinnvoll
|
||||
begründet werden und dann Dokumentiert werden. Die Dokumentation soll mindestens
|
||||
aus Schaltungsbeschreibung, einer generellen Bauteilbeschreibung und den
|
||||
Ideen hinter der aktuellen Umsetzung bestehen.
|
7
planung/DP/materialaufstellung.tex
Normal file
|
@ -0,0 +1,7 @@
|
|||
\subsection{Materialaufstellung}
|
||||
|
||||
Zur Fertigung der in der Aufgabenstellung gegebenen Bauteile werden die
|
||||
folgenden Bauteile Benötigt:
|
||||
|
||||
\subsubsection{}
|
||||
|
31
planung/DP/meilensteine/1.tex
Normal file
|
@ -0,0 +1,31 @@
|
|||
\subsubsection{1. Meilenstein - Beschaffung der Unterlagen}
|
||||
|
||||
\textbf{Datum: 2019-11-19}
|
||||
|
||||
Der 1. Meilenstein beschäftigt sich mit der Beschaffung der Benötigten
|
||||
Unterlagen auf welchen die weitere Dokumentation basieren soll. Diese Unterlagen
|
||||
sollen den Aufbau einer Seriellen Schnittstelle beschreiben, den Aufbau
|
||||
eines Frame-Buffers und den Aufbau einer Sound-Karte. Die Unterlagen
|
||||
sollen auch Beispielschlatungen beinhalten.
|
||||
|
||||
Die Folgenden Tests zur Verifikation der bisherigen Arbeit wurden dafür
|
||||
definiert:
|
||||
|
||||
|
||||
|
||||
\begin{enumerate}
|
||||
|
||||
\item{Testname:}
|
||||
Testinhalt
|
||||
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\begin{tabular}{|c|c|}
|
||||
\hline
|
||||
\textbf{FAILURE} & \textbf{SUCCESS}\\
|
||||
\hline
|
||||
& \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
\end{enumerate}
|
7
planung/DP/meilensteine/2.tex
Normal file
|
@ -0,0 +1,7 @@
|
|||
\subsection{2. Meilenstein - Serielle Schnitstelle}
|
||||
|
||||
\textbf{Datum: 2019-01-10}
|
||||
|
||||
Der 2. Meilenstein beschäftigt sich mit der Seriellen Schnittstelle, ihrer
|
||||
Schaltung und der Verifikation selbiger. Die Dokumentation ihrer Funktionsweise
|
||||
soll zu einem späteren Zeitpunkt erfolgen.
|
7
planung/DP/meilensteine/3.tex
Normal file
|
@ -0,0 +1,7 @@
|
|||
\subsection{3. Meilenstein - Soundbuffer}
|
||||
|
||||
\textbf{Datum: 2019-02-04}
|
||||
|
||||
Der 3. Meilenstein beschäftigt sich mit der Schaltungsentwicklung des
|
||||
Soundbuffers, der Funktionsweise eines Soundbuffers und der
|
||||
Schaltungsverifikation der entwickelten Schaltung.
|
8
planung/DP/meilensteine/4.tex
Normal file
|
@ -0,0 +1,8 @@
|
|||
\subsection{4. Meilenstein - Dokumentation}
|
||||
|
||||
\textbf{Datum: 2019-03-10}
|
||||
|
||||
Der 4. Meilenstein beschäftigt sich mit der Dokumentation der bisherigen
|
||||
Bauteile, namlich des Soundbuffers und der Seriellen Schnittstelle. Zu diesem
|
||||
Meilenstein soll die Dokumentation der Funktionsweise und der Implementation
|
||||
gefertigt werden.
|
6
planung/DP/meilensteine/5.tex
Normal file
|
@ -0,0 +1,6 @@
|
|||
\subsection{4. Meilenstein - Framebuffer}
|
||||
|
||||
\textbf{Datum: 2019-04-14}
|
||||
|
||||
Der 5. Meilenstein beschäftigt sich mit der Dokumentation eines Framebuffers und
|
||||
der rein theoretischen implementierung selbigens.
|
2
planung/DP/meilensteine/mst.tex
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
|
21
planung/DP/meilensteine/texput.log
Normal file
|
@ -0,0 +1,21 @@
|
|||
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/Arch Linux) (preloaded format=xelatex 2019.7.11) 11 AUG 2019 22:35
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
%&-line parsing enabled.
|
||||
**main.
|
||||
|
||||
! Emergency stop.
|
||||
<*> main.
|
||||
|
||||
End of file on the terminal!
|
||||
|
||||
|
||||
Here is how much of TeX's memory you used:
|
||||
3 strings out of 492922
|
||||
15 string characters out of 6138851
|
||||
64272 words of memory out of 5000000
|
||||
4153 multiletter control sequences out of 15000+600000
|
||||
3640 words of font info for 14 fonts, out of 8000000 for 9000
|
||||
1348 hyphenation exceptions out of 8191
|
||||
0i,0n,0p,8b,6s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
No pages of output.
|
20
planung/DP/planung.tex
Normal file
|
@ -0,0 +1,20 @@
|
|||
\input{planung/DP/grobdesign.tex}
|
||||
\subsection{Meilensteine}
|
||||
|
||||
\paragraph{Anmerkung zu den Daten}
|
||||
|
||||
Die Daten wurden den Vorgaben entsprechend gewählt, so wurden mindestens 2
|
||||
Meilensteine in das Sommersemester hineingelegt. Die Meilensteine wurden
|
||||
auf Dienstage gelegt, da an diesem Wochentag bekannt ist dass der Betreuer
|
||||
sich im Gebäude der HTBLuVA befindet. Die Meilensteintermine wurden möglichst
|
||||
Äquidistant über den zur Verfügung stehenden Zeitbereich verteilt.
|
||||
|
||||
\input{planung/DP/meilensteine/1.tex}
|
||||
\input{planung/DP/meilensteine/2.tex}
|
||||
\input{planung/DP/meilensteine/3.tex}
|
||||
\input{planung/DP/meilensteine/4.tex}
|
||||
\input{planung/DP/meilensteine/5.tex}
|
||||
|
||||
\subsection{Zeitabschätzung}
|
||||
|
||||
\input{planung/DP/aufwand.tex}
|
319
preamble.tex
|
@ -1,73 +1,317 @@
|
|||
%based on xhversion{v3.01 SiU} %PdJ,PdL,PdM,PdS,PdU,Pe6,PeI,PfB,PfD,RbN,RbP,RcL,RdC,RdD,RdF,Sb7,ScN,SiT,SiU,Sj3,
|
||||
|
||||
\listfiles %lists included files while processing 'pdflatex'
|
||||
\documentclass[12pt,a4paper]{article}
|
||||
%\documentclass[12pt,a4paper]{book}
|
||||
%\documentclass[11pt,a4paper]{article}
|
||||
%\documentclass[12pt,a4paper]{report}
|
||||
|
||||
%\usepackage{etex} %gegen 'no more room for new dimen...' error bei 'tikz' xh@RaE1
|
||||
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[ngerman,english]{babel}
|
||||
\usepackage[OT2,T1]{fontenc}
|
||||
|
||||
\usepackage{svg} % Allows the inclusion of SVG files
|
||||
|
||||
\usepackage{amssymb}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amscd}
|
||||
%\usepackage{extarrows} %\xleftrightarrow[obentext]{untentext}
|
||||
\usepackage{wasysym}
|
||||
\usepackage{pxfonts}
|
||||
\usepackage{verbatim}
|
||||
\usepackage{alltt}
|
||||
\usepackage{moreverb}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{url}
|
||||
\usepackage{wrapfig}
|
||||
%\usepackage{subfigure} % Probleme mit tocloft? -MR
|
||||
%\usepackage{theorem}
|
||||
%\usepackage[dvips]{color}
|
||||
%\usepackage{lmodern}
|
||||
%\usepackage{textcomp}
|
||||
\usepackage{multicol} % 2-, 3-, ... -spaltige Formatierung mit 'multicols'
|
||||
\usepackage{multirow} % fuer 'tabular' - Tabellen
|
||||
%\usepackage{makeidx}
|
||||
\usepackage{imakeidx} % erspart dieses externe Stichwortprogramm
|
||||
%\usepackage{pdfpages} % fuer 'includepdf' (stattdessen nimmi meistens 'includegraphics[page=1,...]')
|
||||
\usepackage{mdwlist} % f. 'compact lists' "itemize*", "enumerate*", "description*"
|
||||
%\usepackage{ulem} %... produziertma nFehler ban 'latex' run
|
||||
\usepackage{longtable} % fuer tabellen ueber mehrere Seiten
|
||||
\usepackage{makecell} % Zeilenumbruch in Tabellenzelle -MR
|
||||
\usepackage{xcolor}
|
||||
\definecolor{lltgy} {gray}{0.96} % selbstdefinierte Farben
|
||||
\definecolor{ltgy} {gray}{0.91}
|
||||
\definecolor{dkgn} {rgb}{0.0,0.7,0.0}
|
||||
\definecolor{dkbu} {rgb}{0.0,0.0,0.6}
|
||||
\definecolor{ddkbu} {rgb}{0.0,0.0,0.45}
|
||||
|
||||
\usepackage{ifthen} % fuer 'ifthenelse{}{}{}'
|
||||
\usepackage{ifpdf} % fuer {\ifpdf ... \fi}
|
||||
\usepackage{beramono} % monospace font -MR
|
||||
\usepackage{listings}
|
||||
\usepackage{svg}
|
||||
|
||||
\lstdefinestyle{default}{
|
||||
columns=space-flexible,
|
||||
basicstyle=\fontsize{9pt}{9pt}\selectfont\ttfamily,
|
||||
frame=single,
|
||||
frameround=tttt,
|
||||
showstringspaces=false,
|
||||
breaklines=true,
|
||||
tabsize=4,
|
||||
numbers=left,
|
||||
captionpos=b
|
||||
}
|
||||
|
||||
\lstdefinestyle{terminal}{
|
||||
style=default,
|
||||
language=bash,
|
||||
frame=none,
|
||||
numbers=none,
|
||||
backgroundcolor=\color{ltgy}
|
||||
}
|
||||
|
||||
\lstdefinelanguage{customvhdl}[]{VHDL}{
|
||||
morekeywords=[2]{std_logic, std_logic_vector, natural, integer, bit, string},
|
||||
}
|
||||
|
||||
\lstdefinestyle{default}{
|
||||
showstringspaces=false,
|
||||
tabsize=4,
|
||||
\lstdefinestyle{vhdlstyle}{
|
||||
language=customvhdl,
|
||||
belowcaptionskip=1\baselineskip,
|
||||
basicstyle=\footnotesize\ttfamily,
|
||||
keywordstyle=\bfseries\color{green!40!black},
|
||||
keywordstyle=[2]\bfseries\color{blue!80!white},
|
||||
commentstyle=\itshape\color{purple},
|
||||
backgroundcolor=\color{lightgray!20},
|
||||
stringstyle=\color{orange},
|
||||
breaklines=true,
|
||||
xleftmargin=\parindent,
|
||||
numbers=left,
|
||||
title=\lstname,
|
||||
}
|
||||
|
||||
\lstdefinestyle{vhdlstyle}{
|
||||
style=default,
|
||||
language=customvhdl,
|
||||
keywordstyle=[2]\bfseries\color{blue!80!white},
|
||||
backgroundcolor=\color{lightgray!20},
|
||||
frame=lrtb,
|
||||
}
|
||||
|
||||
\lstset{
|
||||
style=vhdlstyle,
|
||||
style=default,
|
||||
literate={ö}{{\"o}}1
|
||||
{ä}{{\"a}}1
|
||||
{ü}{{\"u}}1
|
||||
{Ö}{{\"O}}1
|
||||
{Ä}{{\"A}}1
|
||||
{Ü}{{\"U}}1
|
||||
}
|
||||
%% fix minus sign conflict with listings and breqn
|
||||
\mathchardef\hyphenmathcode=\mathcode`\-
|
||||
\let\origlstlisting=\lstlisting
|
||||
\let\endoriglstlisting=\endlstlisting
|
||||
\renewenvironment{lstlisting}
|
||||
{\mathcode`\-=\hyphenmathcode
|
||||
\everymath{}\mathsurround=0pt\origlstlisting}
|
||||
{\endoriglstlisting}
|
||||
|
||||
\usepackage{fancyhdr}
|
||||
%\usepackage{framed} %'\begin{framed}' ... '\end{framed}', schautAusWiePartezettel:-)
|
||||
\usepackage{hyphenat} %fuer '\hyph{}'
|
||||
\usepackage{lastpage} %fuer '\pageref{LastPage}' - **funzt nid bei allen**
|
||||
\usepackage[hyphens]{url} %fuer '\url{...}'
|
||||
|
||||
% lscape oder pdflscape: ('landscape' == Querformat)
|
||||
\usepackage{lscape}
|
||||
%\usepackage{pdflscape}
|
||||
\usepackage{rotating} %f. 'rotate' und 'turn'
|
||||
\usepackage[active]{pst-pdf}
|
||||
\usepackage{pst-circ}
|
||||
\usepackage{pst-plot}
|
||||
\usepackage{pst-uml}
|
||||
%\usepackage{calc}
|
||||
\usepackage{fp}
|
||||
%\usepackage[official]{eurosym}
|
||||
\usepackage[gen]{eurosym}
|
||||
|
||||
% YHs Raender links 30mm rechts 25mm einstellen:
|
||||
\setlength{\hoffset} {30mm-1in}
|
||||
\setlength{\oddsidemargin}{0pt} %bei doppelseitigem Druck umstellen!
|
||||
\setlength{\textwidth} {\paperwidth-55mm}
|
||||
|
||||
\setlength{\topmargin} {0pt}
|
||||
\addtolength{\voffset} {-16.2mm}
|
||||
\addtolength{\textheight}{39mm}
|
||||
|
||||
%\setcounter{tocdepth}{4} %bringt auch 'paragraph{titel}' ins Inhaltsverzeichnis
|
||||
%
|
||||
\definecolor{ydkbu}{rgb}{0.0,0.0,0.6} % YHs blaue Schriftfarb
|
||||
\newcommand{\yhbu}[0]{\color{ydkbu}} % Macro fuer schreibfaulen XH
|
||||
%\newcommand{\yhbu}[0]{\color{ydkbu}\usefont{T1}{laess}{m}{n}} % Macro fuer schreibfaulen XH
|
||||
\definecolor{corrclr}{rgb}{0.7,0.2,0.2} % XHs Korrekturen-Farb ...
|
||||
\newcommand{\korr}[0]{\color{corrclr}\fontsize{8pt}{9pt}\selectfont\bf} %plus Faulheitsmacro
|
||||
\makeindex
|
||||
|
||||
%%% BibLaTeX settings
|
||||
\usepackage[style = verbose, dashed=false, citestyle = authoryear-ibid, maxcitenames=1]{biblatex}
|
||||
\usepackage{csquotes}
|
||||
%\addbibresource{./bibliographies/MR.bib}
|
||||
\DeclareNameAlias{sortname}{family-given}
|
||||
\renewcommand\multinamedelim{;\ }
|
||||
\renewcommand\finalnamedelim{;\ }
|
||||
\renewcommand\intitlepunct{:\ }
|
||||
\renewcommand\labelnamepunct{:\ }
|
||||
\DeclareFieldFormat{title}{#1} %title not italic
|
||||
%\bibnamedash
|
||||
%\renewcommand\newunitpunct{OWO}
|
||||
|
||||
\usepackage{float} % Allows the H floating option
|
||||
\usepackage{tabularx} % Allows the H floating option
|
||||
\usepackage[headheight=0mm, margin=2.5cm]{geometry}
|
||||
%%% MR-packages:
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{
|
||||
pdfauthor={Daniel Plank, Armin Brauns},
|
||||
pdftitle=YARM,
|
||||
pdfproducer=5ABHEL,
|
||||
bookmarks=true,
|
||||
pdfcreator=xelatex,
|
||||
}
|
||||
|
||||
\usepackage{biblatex}
|
||||
\usepackage{tikz,pgfplots}
|
||||
\usetikzlibrary{plotmarks}
|
||||
\usetikzlibrary{angles,quotes,babel,shapes,arrows,positioning,calc}
|
||||
\usepackage{tikz-timing}
|
||||
\tikzset{
|
||||
block/.style = {draw, fill=white, rectangle, minimum height=3em, minimum width=3em,align=center},
|
||||
tmp/.style = {coordinate},
|
||||
sum/.style= {draw, fill=white, circle, node distance=1cm},
|
||||
input/.style = {coordinate},
|
||||
output/.style= {coordinate},
|
||||
pinstyle/.style = {pin edge={to-,thin,black}
|
||||
}
|
||||
}
|
||||
% https://www.overleaf.com/learn/latex/LaTeX_Graphics_using_TikZ:_A_Tutorial_for_Beginners_(Part_3)%E2%80%94Creating_Flowcharts
|
||||
\tikzstyle{startstop} = [rectangle, rounded corners, minimum width=3cm, minimum
|
||||
height=1cm,align=center, text width=3cm, draw=black, fill=red!30]
|
||||
\tikzstyle{io} = [trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm,
|
||||
minimum height=1cm, align=center, text width=3cm, draw=black, fill=blue!30]
|
||||
\tikzstyle{process} = [rectangle, minimum width=3cm, minimum height=1cm, align=center, text width=3cm, draw=black, fill=orange!30]
|
||||
\tikzstyle{decision} = [diamond, minimum width=3cm, minimum height=1cm, align=center, text width=3cm, draw=black, fill=green!30]
|
||||
\tikzstyle{arrow} = [thick,->,>=latex]
|
||||
|
||||
\usepackage[european, straightvoltages]{circuitikz}
|
||||
\usepackage[per-mode=fraction]{siunitx}
|
||||
\usepackage{breqn}
|
||||
\usepackage{physics}
|
||||
\usepackage{caption}
|
||||
\usepackage{slashed}
|
||||
\input kvmacros
|
||||
\usepackage{mdframed}
|
||||
\usepackage{lipsum}
|
||||
\usepackage{blindtext}
|
||||
\usepackage{pgfgantt}
|
||||
|
||||
%%% Title formatting
|
||||
\usepackage{titlesec}
|
||||
\titleformat{\section}{\normalfont\bfseries\scshape\fontsize{16pt}{19pt}\selectfont}{\thesection}{1em}{}
|
||||
%%% ToC formatting
|
||||
\usepackage{tocloft}
|
||||
\renewcommand{\cftloftitlefont}{\section}
|
||||
\renewcommand{\cftlottitlefont}{\section}
|
||||
\renewcommand{\cftsecfont}{}
|
||||
\renewcommand\cftsubsecdotsep{.2}
|
||||
\renewcommand{\cftsecleader}{\cftdotfill{\cftsubsecdotsep}}
|
||||
\setlength\cftbeforesecskip{3.84pt}
|
||||
\setlength\cftsubsecindent{4.2mm}
|
||||
% command for regular footer in ToC
|
||||
\fancypagestyle{plain}{%
|
||||
\fancyhf{}
|
||||
\fancyhead[L]{\HtlHeader}
|
||||
\fancyfoot[L]{Brauns, Plank}
|
||||
\fancyfoot[R]{\thepage}
|
||||
\setlength{\headwidth}{1.0\textwidth}
|
||||
\setlength{\headheight}{12mm}
|
||||
\renewcommand{\headrulewidth}{0.0pt}
|
||||
\renewcommand{\footrulewidth}{0.33pt}
|
||||
}
|
||||
|
||||
% make listoflistings its own section
|
||||
\usepackage{tocbasic}
|
||||
\addtotoclist[float]{lol}
|
||||
\renewcommand*\lstlistoflistings{\listoftoc[{\lstlistlistingname}]{lol}}
|
||||
\DeclareTOCStyleEntry[
|
||||
level=1,
|
||||
indent=1.5em,
|
||||
numwidth=2.3em
|
||||
]{default}{listing}
|
||||
\doforeachtocfile[float]{%
|
||||
\setuptoc{#1}{numbered}%
|
||||
}
|
||||
|
||||
|
||||
%/* Xh Macros: */
|
||||
\newcommand{\cmnt}[1]{} %eigene Kommentier-Funktion \cmnt{ ...Kommentar... }
|
||||
\newcommand\tbs{\textbackslash} %'\textbackslash{}' isma z'long zan tippen ;-)
|
||||
\newcommand{\xilist}[6]{ %XHs eigenes Auflistungs-Format
|
||||
\noindent\\[#3mm]\protect\begin{list}{#1}{\setlength\topsep{-4mm}%
|
||||
\setlength\partopsep{-1.0mm}\setlength\itemsep{#4mm}\setlength\leftmargin{#2mm}%
|
||||
\setlength\itemindent{-0.0mm}\setlength{\baselineskip}{0.9\baselineskip} }%
|
||||
#6%
|
||||
\protect\end{list}\hfill\\[#5mm]%
|
||||
}
|
||||
|
||||
|
||||
%/* Line Spacing: */
|
||||
\usepackage{setspace}
|
||||
% \newcommand{\mylinespacing}[0]{\singlespace} % 1,0-ZeilenAbstand
|
||||
\newcommand{\mylinespacing}[0]{\onehalfspace} % 1,5-ZeilenAbstand
|
||||
% \newcommand{\mylinespacing}[0]{\doublespace} % 2,0-ZeilenAbstand
|
||||
|
||||
|
||||
%/* serifenlose Schrift-Grundeinstellung: */
|
||||
% /*Font Family:*/
|
||||
%\renewcommand*{\familydefault}{\rmdefault} %klassisches 'Roman' (statt MicroMurx...)
|
||||
\renewcommand*{\familydefault}{\sfdefault} %klassisches 'Helvetica' statt 'Murx-Arial'
|
||||
|
||||
%%% Autoren:
|
||||
\newcommand\AB{\lfoot{Armin Brauns}}
|
||||
\newcommand\DP{\lfoot{Daniel Plank}}
|
||||
\newcommand\allAuth{\lfoot{Brauns, Plank}}
|
||||
|
||||
\newcommand\TikZ{Ti\textit{k}Z}
|
||||
|
||||
\newcommand{\HtlHeader}[0]{%
|
||||
%\hspace*{-11mm}%
|
||||
%\raisebox{-1mm}{\logoB{0.12}}%
|
||||
{
|
||||
\includesvg[width=10.3mm]{pics/logoBpdf.svg}
|
||||
}
|
||||
\hspace*{2mm}%
|
||||
\parbox[b]{110mm}{\flushleft
|
||||
{\fontsize{20pt}{20pt}\selectfont\bf HTL}
|
||||
{\fontsize{16.2pt}{16.2pt}\selectfont\color{teal}\bf Anichstra\ss e}
|
||||
\\[-4.05mm]{\color{darkgray}\rule{110mm}{0.5pt}}
|
||||
\\[-2.24mm]{\fontsize{7pt}{7pt}\selectfont\color{darkgray}
|
||||
Biomedizin $\cdot$ Elektronik $\cdot$ Elektrotechnik
|
||||
$\cdot$
|
||||
Maschinenbau $\cdot$ Wirtschaftsingenieure
|
||||
\rule{0pt}{0mm}
|
||||
%\vspace*{1.1mm}
|
||||
}
|
||||
}%
|
||||
\hspace*{5mm}%
|
||||
\raisebox{-0.2mm}{ \includegraphics[width=25mm]{pics/HTLgenlogo02}}
|
||||
\\[-1.5mm]\rule{\textwidth}{0.5pt}
|
||||
%\hfill
|
||||
}%HtlHeader
|
||||
|
||||
\addbibresource{Diplomschrift.bib}
|
||||
|
||||
\usepackage{titling}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{lastpage}
|
||||
\usepackage{datetime}
|
||||
\yyyymmdddate
|
||||
\renewcommand{\dateseparator}{-}
|
||||
|
||||
\usepackage{titlesec}
|
||||
\usepackage{fancyhdr}
|
||||
|
||||
\usepackage{pst-uml}
|
||||
\setlength{\hoffset}{30mm-1in}
|
||||
\setlength{\oddsidemargin}{0pt}
|
||||
\setlength{\textwidth}{\paperwidth-60mm}
|
||||
\addtolength{\textheight}{5em}
|
||||
|
||||
\setlength{\headwidth}{\textwidth}
|
||||
|
||||
\setlength{\topmargin}{0pt}
|
||||
\addtolength{\voffset}{-1em}
|
||||
|
||||
\setlength{\parindent}{0pt}
|
||||
\setlength{\parskip}{1em}
|
||||
|
||||
\usepackage{footnote}
|
||||
\usepackage{tikz}
|
||||
|
||||
\newcommand\instrset{rv32i}
|
||||
|
||||
\newcommand{\entityheader}[2]{
|
||||
\lstinputlisting[title=\texttt{#2}]{#1}
|
||||
\lstinputlisting[style=vhdlstyle,title=\texttt{#2}]{#1}
|
||||
}
|
||||
|
||||
\usepackage{tcolorbox}
|
||||
|
@ -89,6 +333,3 @@
|
|||
bottom=0pt
|
||||
}
|
||||
\newcommand{\icode}[1]{\codeBox{\texttt{#1}}}
|
||||
|
||||
% loaded last
|
||||
\usepackage{hyperref}
|
||||
|
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
18
sections/core/entities/alu_entity.vhd
Normal file
|
@ -0,0 +1,18 @@
|
|||
entity alu is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
|
||||
enable_math : in std_logic;
|
||||
valid : out std_logic;
|
||||
operation : in alu_operation_t;
|
||||
a, b : in yarm_word;
|
||||
math_result : out yarm_word;
|
||||
|
||||
-- compare inputs
|
||||
-- do signed comparisons
|
||||
enable_cmp : in std_logic;
|
||||
cmp_signed : in std_logic;
|
||||
cmp1, cmp2 : in yarm_word;
|
||||
cmp_result : out compare_result_t
|
||||
);
|
||||
end alu;
|
54
sections/core/entities/control_entity.vhd
Normal file
|
@ -0,0 +1,54 @@
|
|||
entity control is
|
||||
generic (
|
||||
RESET_VECTOR : yarm_word
|
||||
);
|
||||
port (
|
||||
clk : in std_logic;
|
||||
reset : in std_logic;
|
||||
|
||||
fetch_enable : out std_logic;
|
||||
fetch_ready : in std_logic;
|
||||
fetch_instr_out : in yarm_word;
|
||||
|
||||
decoder_enable : out std_logic;
|
||||
decoder_instr_info_out : in instruction_info_t;
|
||||
|
||||
registers_data_a : in yarm_word;
|
||||
registers_data_b : in yarm_word;
|
||||
|
||||
alu_enable_math : out std_logic;
|
||||
alu_math_result : in yarm_word;
|
||||
alu_valid : in std_logic;
|
||||
alu_enable_cmp : out std_logic;
|
||||
alu_cmp_result : in compare_result_t;
|
||||
|
||||
csr_enable : out std_logic;
|
||||
csr_ready : in std_logic;
|
||||
csr_data_read : in yarm_word;
|
||||
csr_increase_instret : out std_logic;
|
||||
|
||||
datamem_enable : out std_logic;
|
||||
datamem_ready : in std_logic;
|
||||
|
||||
alignment_raise_exc : out std_logic;
|
||||
alignment_exc_data : out exception_data_t;
|
||||
|
||||
registers_read_enable : out std_logic;
|
||||
registers_write_enable : out std_logic;
|
||||
|
||||
-- TRAP CONTROL
|
||||
|
||||
may_interrupt : out std_logic;
|
||||
-- the stage that will receive an interrupt exception
|
||||
interrupted_stage : out pipeline_stage_t;
|
||||
|
||||
do_trap : in std_logic;
|
||||
trap_vector : in yarm_word;
|
||||
|
||||
trap_return_vec : in yarm_word;
|
||||
return_trap : out std_logic;
|
||||
|
||||
-- instruction info records used as input for the respective stages
|
||||
stage_inputs : out pipeline_frames_t
|
||||
);
|
||||
end control;
|
23
sections/core/entities/core_entity.vhd
Normal file
|
@ -0,0 +1,23 @@
|
|||
entity core is
|
||||
generic (
|
||||
HART_ID : natural;
|
||||
RESET_VECTOR : yarm_word := (others => '0')
|
||||
);
|
||||
port (
|
||||
clk : in std_logic;
|
||||
reset : in std_logic;
|
||||
|
||||
-- little-endian memory interface, 4 byte address alignment
|
||||
MEM_addr : out yarm_word;
|
||||
MEM_read : out std_logic;
|
||||
MEM_write : out std_logic;
|
||||
MEM_ready : in std_logic;
|
||||
MEM_byte_enable : out std_logic_vector(3 downto 0);
|
||||
MEM_data_read : in yarm_word;
|
||||
MEM_data_write : out yarm_word;
|
||||
|
||||
external_int : in std_logic;
|
||||
timer_int : in std_logic;
|
||||
software_int : in std_logic
|
||||
);
|
||||
end core;
|
36
sections/core/entities/csr_entity.vhd
Normal file
|
@ -0,0 +1,36 @@
|
|||
entity csr is
|
||||
generic (
|
||||
HART_ID : integer
|
||||
);
|
||||
port (
|
||||
clk : in std_logic;
|
||||
reset : in std_logic;
|
||||
enable : in std_logic;
|
||||
ready : out std_logic;
|
||||
|
||||
instr_info_in : in instruction_info_t;
|
||||
data_write : in yarm_word;
|
||||
data_read : out yarm_word;
|
||||
|
||||
increase_instret : in std_logic;
|
||||
|
||||
external_int : in std_logic;
|
||||
timer_int : in std_logic;
|
||||
software_int : in std_logic;
|
||||
|
||||
interrupts_pending : out yarm_word;
|
||||
interrupts_enabled : out yarm_word;
|
||||
global_int_enabled : out std_logic;
|
||||
mtvec_out : out yarm_word;
|
||||
mepc_out : out yarm_word;
|
||||
|
||||
do_trap : in std_logic;
|
||||
return_m_trap : in std_logic;
|
||||
mepc_in : in yarm_word;
|
||||
mcause_in : in yarm_trap_cause;
|
||||
mtval_in : in yarm_word;
|
||||
|
||||
raise_exc : out std_logic;
|
||||
exc_data : out exception_data_t
|
||||
);
|
||||
end csr;
|
21
sections/core/entities/decoder_entity.vhd
Normal file
|
@ -0,0 +1,21 @@
|
|||
entity decoder is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
enable : in std_logic;
|
||||
|
||||
async_addr_rs1 : out register_addr_t;
|
||||
async_addr_rs2 : out register_addr_t;
|
||||
|
||||
alu_muxsel_a : out mux_selector_t;
|
||||
alu_muxsel_b : out mux_selector_t;
|
||||
alu_muxsel_cmp2 : out mux_selector_t;
|
||||
|
||||
csr_muxsel_in : out mux_selector_t;
|
||||
|
||||
instr_info_in : in instruction_info_t;
|
||||
instr_info_out : out instruction_info_t;
|
||||
|
||||
raise_exc : out std_logic;
|
||||
exc_data : out exception_data_t
|
||||
);
|
||||
end decoder;
|
36
sections/core/entities/exception_control_entity.vhd
Normal file
|
@ -0,0 +1,36 @@
|
|||
entity exception_control is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
|
||||
fetch_raise_exc : in std_logic;
|
||||
fetch_exc_data : in exception_data_t;
|
||||
|
||||
-- synchronous exceptions
|
||||
decoder_raise_exc : in std_logic;
|
||||
decoder_exc_data : in exception_data_t;
|
||||
|
||||
csr_raise_exc : in std_logic;
|
||||
csr_exc_data : in exception_data_t;
|
||||
|
||||
alignment_raise_exc : in std_logic;
|
||||
alignment_exc_data : in exception_data_t;
|
||||
|
||||
datamem_raise_exc : in std_logic;
|
||||
datamem_exc_data : in exception_data_t;
|
||||
|
||||
-- interrupts
|
||||
global_int_enabled : in std_logic;
|
||||
interrupts_enabled : in yarm_word;
|
||||
interrupts_pending : in yarm_word;
|
||||
|
||||
-- stage inputs for return address + trap value (instruction)
|
||||
stage_inputs : in pipeline_frames_t;
|
||||
interrupted_stage : in pipeline_stage_t;
|
||||
|
||||
may_interrupt : in std_logic;
|
||||
do_trap : out std_logic;
|
||||
trap_cause : out yarm_trap_cause;
|
||||
trap_address : out yarm_word;
|
||||
trap_value : out yarm_word
|
||||
);
|
||||
end exception_control;
|
16
sections/core/entities/memctl_entity.vhd
Normal file
|
@ -0,0 +1,16 @@
|
|||
entity memctl is
|
||||
port (
|
||||
addr : in yarm_word;
|
||||
-- data width
|
||||
data_width : in datum_width_t;
|
||||
-- perfom sign extension when reading short data
|
||||
sign_extend : in std_logic;
|
||||
data_read : out yarm_word;
|
||||
data_write : in yarm_word;
|
||||
|
||||
MEM_addr : out yarm_word;
|
||||
MEM_byte_enable : out std_logic_vector(3 downto 0);
|
||||
MEM_data_read : in yarm_word;
|
||||
MEM_data_write : out yarm_word
|
||||
);
|
||||
end memctl;
|
31
sections/core/entities/memory_arbiter_entity.vhd
Normal file
|
@ -0,0 +1,31 @@
|
|||
entity memory_arbiter is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
reset : in std_logic;
|
||||
|
||||
fetch_enable : in std_logic;
|
||||
fetch_ready : out std_logic;
|
||||
fetch_address : in yarm_word;
|
||||
fetch_instr_out : out yarm_word;
|
||||
|
||||
fetch_raise_exc : out std_logic;
|
||||
fetch_exc_data : out exception_data_t;
|
||||
|
||||
datamem_enable : in std_logic;
|
||||
datamem_ready : out std_logic;
|
||||
datamem_instr_info_in : in instruction_info_t;
|
||||
datamem_read_data : out yarm_word;
|
||||
|
||||
datamem_raise_exc : out std_logic;
|
||||
datamem_exc_data : out exception_data_t;
|
||||
|
||||
-- little-endian memory interface, 4 byte address alignment
|
||||
MEM_addr : out yarm_word;
|
||||
MEM_read : out std_logic;
|
||||
MEM_write : out std_logic;
|
||||
MEM_ready : in std_logic;
|
||||
MEM_byte_enable : out std_logic_vector(3 downto 0);
|
||||
MEM_data_read : in yarm_word;
|
||||
MEM_data_write : out yarm_word
|
||||
);
|
||||
end memory_arbiter;
|
20
sections/core/entities/multiplier_entity.vhd
Normal file
|
@ -0,0 +1,20 @@
|
|||
entity multiplier is
|
||||
generic (
|
||||
-- A shorter than B: faster, but wider adder required
|
||||
WIDTH_A : positive;
|
||||
WIDTH_B : positive
|
||||
|
||||
--PARALLELISM : positive
|
||||
);
|
||||
port (
|
||||
clk : in std_logic;
|
||||
|
||||
run : in std_logic;
|
||||
valid : out std_logic;
|
||||
mul_signed : in std_logic;
|
||||
|
||||
a : in std_logic_vector(WIDTH_A-1 downto 0);
|
||||
b : in std_logic_vector(WIDTH_B-1 downto 0);
|
||||
result : out std_logic_vector(WIDTH_A+WIDTH_B-1 downto 0)
|
||||
);
|
||||
end multiplier;
|
9
sections/core/entities/program_counter_entity.vhd
Normal file
|
@ -0,0 +1,9 @@
|
|||
entity program_counter is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
reset : in std_logic;
|
||||
operation : in pc_operation_t;
|
||||
pc_in : in yarm_word;
|
||||
pc_out : out yarm_word
|
||||
);
|
||||
end program_counter;
|
16
sections/core/entities/registers_entity.vhd
Normal file
|
@ -0,0 +1,16 @@
|
|||
entity registers is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
|
||||
read_enable : in std_logic;
|
||||
write_enable : in std_logic;
|
||||
|
||||
addr_a : in register_addr_t;
|
||||
addr_b : in register_addr_t;
|
||||
addr_d : in register_addr_t;
|
||||
|
||||
data_a : out yarm_word;
|
||||
data_b : out yarm_word;
|
||||
data_d : in yarm_word
|
||||
);
|
||||
end registers;
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
|
@ -56,7 +56,7 @@ A somewhat recent development is the creation of Free Software\footnotemark{} FP
|
|||
\footnotetext{``Free Software'' refers to software that grants its user the freedom to share, study and modify it - see \url{https://www.fsf.org/about/what-is-free-software}.}
|
||||
Since then, both yosys and place-and-route tools like nextpnr\cite{nextpnr} have matured, however Lattice's iCE40 and ECP5 remained the only supported FPGA architectures for place-and-route.
|
||||
|
||||
Thus, two obstacles remained for Free toolchains to be viable for this project: synthesizing \emph{from} VHDL code and synthesizing \emph{to} Artix-7 FPGAs. During the development of the project, both of these were solved: Tristan Gingold released ghdlsynth-beta\cite{ghdlsynth-beta}, a bridge between GHDL\cite{ghdl} and yosys allowing VHDL to be synthesized just the same as Verilog, and Dave Shah added Xilinx support to nextpnr\cite{nextpnr-xilinx}. The latter was preceded by many months of volunteer work reverse-engineering the Xilinx bitstream format as part of \textit{Project X-Ray}\cite{prjxray}.
|
||||
Thus, two obstacles remained for Free toolchains to be viable for this project: synthesizing \emph{from} VHDL code and synthesizing \emph{to} Artix-7 FPGAs. During the development of the project, both of these were solved: Tristan Gingold released ghdlsynth-beta\parencite*{ghdlsynth-beta}, a bridge between GHDL\cite{ghdl} and yosys allowing VHDL to be synthesized just the same as Verilog, and Dave Shah added Xilinx support to nextpnr\cite{nextpnr-xilinx}. The latter was preceded by many months of volunteer work reverse-engineering the Xilinx bitstream format as part of \textit{Project X-Ray}\parencite*{prjxray}.
|
||||
|
||||
With these two pieces in place, the project was switched over to a completely Free toolchain, removing any depencies on vendor tools:
|
||||
|
||||
|
@ -64,7 +64,7 @@ With these two pieces in place, the project was switched over to a completely Fr
|
|||
\item yosys, with ghdl as a frontend for processing VHDL, is used to synthesize the design
|
||||
\item nextpnr-xilinx, together with the Project X-Ray database, is used for place-and-route
|
||||
\item tools from Project X-Ray are used to convert the routed design to a bitstream
|
||||
\item xc3sprog is used to transfer the bitstream to the FPGA via JTAG
|
||||
\item openFPGALoader is used to transfer the bitstream to the FPGA via JTAG
|
||||
\end{itemize}
|
||||
|
||||
\section{Peripherals}
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
@ -11,12 +11,13 @@ Other than a text editor, the following Free Software packages have to be instal
|
|||
|
||||
\begin{savenotes}
|
||||
\begin{description}
|
||||
\item[\icode{ghdl}\footnote{\url{https://github.com/ghdl/ghdl}}] to analyze, compile, and simulate the design
|
||||
\item[\icode{gtkwave}\footnote{\url{http://gtkwave.sourceforge.net/}}] to view the simulation waveform files
|
||||
\item[\icode{yosys}\footnote{\url{http://www.clifford.at/yosys/}}] to synthesize the design
|
||||
\item[\icode{nextpnr-xilinx}\footnote{\url{https://github.com/daveshah1/nextpnr-xilinx}}] to place and route the design
|
||||
\item[\icode{Project X-Ray}\footnote{\url{https://github.com/SymbiFlow/prjxray}}] for FPGA layout data and bitstream tools
|
||||
\item[\icode{xc3sprog}\footnote{\url{https://sourceforge.net/projects/xc3sprog/}}] to load the bitstream onto the FPGA
|
||||
\item[\icode{ghdl}\cite{ghdl}] to analyze, compile, and simulate the design
|
||||
\item[\icode{gtkwave}\cite{gtkwave}] to view the simulation waveform files
|
||||
\item[\icode{yosys}\cite{yosys}] to synthesize the design
|
||||
\item[\icode{ghdlsynth-beta}\cite{yosys}] to synthesize the design
|
||||
\item[\icode{nextpnr-xilinx}\cite{nextpnr-xilinx}] to place and route the design
|
||||
\item[\icode{Project X-Ray}\cite{prjxray}] for FPGA layout data and bitstream tools
|
||||
\item[\icode{openFPGALoader}\cite{open-fpga-loader}] to load the bitstream onto the FPGA
|
||||
\end{description}
|
||||
\end{savenotes}
|
||||
|
||||
|
@ -24,15 +25,15 @@ Other than a text editor, the following Free Software packages have to be instal
|
|||
|
||||
A simple starting design is an up/down counter. The following VHDL code describes the device:
|
||||
|
||||
\lstinputlisting[title=\texttt{counter.vhd}]{vhdl/counter.vhd}
|
||||
\lstinputlisting[style=vhdlstyle,title=\texttt{counter.vhd}]{vhdl/counter.vhd}
|
||||
|
||||
In order to test this design, a test bench has to be created:
|
||||
|
||||
\lstinputlisting[title=\texttt{counter\_tb.vhd}]{vhdl/counter_tb.vhd}
|
||||
\lstinputlisting[style=vhdlstyle,title=\texttt{counter_tb.vhd}]{vhdl/counter_tb.vhd}
|
||||
|
||||
\section{Simulating a design}
|
||||
|
||||
\begin{lstlisting}[style=default,language=sh]
|
||||
\begin{lstlisting}[style=terminal]
|
||||
# analyze the design files
|
||||
ghdl -a --std=08 *.vhd
|
||||
# elaborate the test bench entity
|
||||
|
@ -52,9 +53,9 @@ gtkwave counter_tb.ghw counter_tb.gtkw
|
|||
|
||||
An additional Xilinx Design Constraints (XDC) file is required to assign the signals to pins on the FPGA:
|
||||
|
||||
\lstinputlisting[style=default,title=\texttt{counter.xdc}]{vhdl/counter.xdc}
|
||||
\lstinputlisting[title=\texttt{counter.xdc}]{vhdl/counter.xdc}
|
||||
|
||||
\begin{lstlisting}[style=default,language=sh]
|
||||
\begin{lstlisting}[style=terminal]
|
||||
# synthesize with yosys
|
||||
yosys -m ghdl.so -p '
|
||||
ghdl --std=08 counter.vhd -e counter;
|
||||
|
@ -67,7 +68,7 @@ fasm2frames.py --part xc7a35tcsg324-1 counter.fasm counter.frames
|
|||
# convert the frames to a bitstream
|
||||
xc7frames2bit --part-name xc7a35tcsg324-1 --frm-file counter.frames --output-file counter.bit
|
||||
# upload the bitstream to the FPGA
|
||||
xc3sprog -c nexys4 counter.bit
|
||||
openFPGALoader -b arty counter.bit
|
||||
\end{lstlisting}
|
||||
|
||||
The current value of the counter is displayed in binary on the eight LEDs on the board. When switch 0 (enable) is in the high position, the counter can be advanced using button 0, with the direction set by switch 1. Button 1 resets the counter to zero.
|