updated the documentation

This commit is contained in:
hneemann 2018-06-11 16:18:00 +02:00
parent 6dfcd8af2f
commit 04b0fd04f4
2 changed files with 36 additions and 28 deletions

View File

@ -363,46 +363,48 @@
ist.
</par>
</subchapter>
<subchapter name="VHDL">
<subchapter name="Export zu VHDL oder Verilog">
<par>
Eine Schaltung kann zu VHDL exportiert werden. Dabei wird eine Datei erzeugt, welche die komplette
Beschreibung der Schaltung enthält. Der erzeugte VHDL code wurde mit
Eine Schaltung kann zu VHDL oder Verilog exportiert werden. Dabei wird eine Datei erzeugt,
welche die komplette Beschreibung der Schaltung enthält. Der erzeugte VHDL Code wurde mit
<a href="https://www.xilinx.com/products/design-tools/vivado.html">Xilinx Vivado</a>
und dem Open Source VHDL Simulator <a href="http://ghdl.free.fr/">ghdl</a> getestet.
Der Verilog Code mit dem Verilog Simulator <a href="http://iverilog.icarus.com/">Icarus Verilog</a>.
</par>
<par>
Wenn eine Schaltung Testfälle enthält, wird anhand der Testdaten eine VHDL-Test-Bench erzeugt.
Diese kann verwendet werden, um die korrekte Funktion der Schaltung in einer VHDL Simulation zu
Wenn eine Schaltung Testfälle enthält, wird anhand der Testdaten eine Test-Bench erzeugt.
Diese kann verwendet werden, um die korrekte Funktion der Schaltung in einer HDL-Simulation zu
überprüfen.
</par>
<par>
Für spezielle Boards können zusätzliche Dateien erzeugt werden. Zur Zeit wird nur das
Für spezielle Boards können zusätzliche Dateien erzeugt werden. Zur Zeit werden nur das
<a href="https://reference.digilentinc.com/reference/programmable-logic/basys-3/start">BASYS3</a>
Board unterstützt.
Board und die Boards <a href="https://numato.com/product/mimas-spartan-6-fpga-development-board">Mimas</a>
und <a href="https://numato.com/product/mimas-v2-spartan-6-fpga-development-board-with-ddr-sdram">Mimas V2</a> unterstützt.
Dabei wird eine Constraints-Datei erzeugt, welche die Zuordnung der Pins beinhaltet. Die Bezeichnung der
Pins kann dem BASYS3 Datenblatt entnommen werden und ist als Pinnummer bei den Ein- und Ausgängen
Pins kann den entsprechenden Datenblättern entnommen werden und ist als Pinnummer bei den Ein- und Ausgängen
einzutragen.
</par>
<par>
Wenn die Taktfrequenz niedrig ist, wird ein Frequenzteiler in den VHDL Code integriert,
Beim BASYS3 Board wird, wenn die Taktfrequenz niedrig ist, ein Frequenzteiler in den HDL Code integriert,
um den Boardtakt entsprechend zu teilen. Wenn die in der Schaltung gewählte Taktfrequenz über 37kHz
liegt, wird die MMCM Einheit des Artix-7 zur Takterzeugung verwendet.
<!--Wenn eine Schaltung zu VHDL exportiert wird, welche auf eine synchrone Taktverteilung angewiesen ist,
wie das z.B. bei Prozessoren der Fall ist, sollte die Taktfrequenz also auf einen Wert
größer als 37kHz eingestellt werden.-->
Dies stellt sicher, dass die für die Taktverteilung vorgesehenen FPGA-Resourcen auch tatsächlich
verwendet werden.
Der enthaltene Beispiel-Prozessor läuft z.B. mit 20MHz, und wenn auf den Multiplizierer in der ALU
verzichtet werden kann, sind auch 30MHz möglich.
</par>
<par>
Soll eine Schaltung auf einem BASYS3 Board betrieben werden, kann in Vivado ein neues Projekt angelegt werden.
Dabei ist die erzeugte VHDL Datei und die Constraints-Datei dem Projekt hinzuzufügen. Wurde das
Projekt erstellt, kann der Bitstream erzeugt und mit dem Hardware-Manager in ein BASYS3 Board übertragen werden.
Auch bei den Mimas-Boards wird der Spartan 6 DCM für die Takterzeugung verwendet.
</par>
<par>
Um neben der VHDL Datei auch die erforderliche Constraints-Datei erzeugen zu lassen, muss die Schaltung
ein Textfeld mit dem Text "Board: BASYS3" enthalten.
Soll eine Schaltung auf einem BASYS3 Board betrieben werden, wird eine Vivado Projektdatei angelegt,
die direkt mit Vivado geöffnet werden kann. Es läßt sich dann der Bitstream erzeugen und mit dem
Hardware-Manager kann dieser in ein BASYS3 Board übertragen werden.
</par>
<par>
Um neben der HDL Datei auch die erforderliche Constraints-Datei erzeugen zu lassen, muss die Schaltung
ein Textfeld mit dem Text "Board: BASYS3", "Board: MimasV1" oder "Board: MimasV2" enthalten.
</par>
</subchapter>
</chapter>

View File

@ -338,33 +338,39 @@
On Linux systems, the fitters can also be executed by Digital if <e>wine</e> is installed.
</par>
</subchapter>
<subchapter name="VHDL">
<subchapter name="Export to VHDL or Verilog">
<par>
A circuit can be exported to VHDL. A file is generated which contains the complete description of the
circuit. The generated VHDL code was tested with
A circuit can be exported to VHDL or Verilog. A file is generated which contains the complete description
of the circuit. The generated VHDL code was tested with
<a href="https://www.xilinx.com/products/design-tools/vivado.html">Xilinx Vivado</a>
and the open source VHDL simulator <a href="http://ghdl.free.fr/">ghdl</a>.
The Verilog code is tested with the Verilog simulator <a href="http://iverilog.icarus.com/">Icarus Verilog</a>.
</par>
<par>
If a circuit contains test cases, the test data is used to generate a VHDL test bench. This can be used
to check the correct function of the circuit in a VHDL simulation.
If a circuit contains test cases, the test data is used to generate a HDL test bench. This can be used
to check the correct function of the circuit in a HDL simulation.
</par>
<par>
Additional files which are needed by special boards can be created. At present only the
<a href="https://reference.digilentinc.com/reference/programmable-logic/basys-3/start">BASYS3</a>
board is supported.
board and the Mimas boards <a href="https://numato.com/product/mimas-spartan-6-fpga-development-board">Mimas</a>
and <a href="https://numato.com/product/mimas-v2-spartan-6-fpga-development-board-with-ddr-sdram">Mimas V2</a>
are supported.
A constraints file is created, which contains the assignment of the pins. The description of the pins can
be found in the BASYS3 data sheet, and must be entered as a pin number for the inputs and outputs.
be found in the boards data sheet, and must be entered as a pin number for the inputs and outputs.
</par>
<par>
If the circuit clock frequency is low, a frequency divider is integrated into the VHDL code to divide
the board clock accordingly.
At a BASYS3 board, if the circuit clock frequency is low, a frequency divider is integrated into the HDL
code to divide the board clock accordingly.
If the clock frequency selected in the circuit exceeds 37kHz, the MMCM unit of the
Artix-7 is used for clock generation.
This ensures that the FPGA resources provided for the clock distribution are used.
This allows the included example processor to run at 20MHz, and if you can do without the
multiplier, 30HMz is also possible.
</par>
<par>
Also at the Mimas-Boards the Spartan 6 DCM is utilized for the clock generation.
</par>
<par>
If a circuit is to run on a BASYS3 board, a new project can be created in Vivado.
The generated VHDL file and the constraints file must be added to the project.
@ -372,8 +378,8 @@
to program a BASYS3 board.
</par>
<par>
To create the required constraints file, the circuit must contain a text field with the text "Board:
BASYS3".
To create the required constraints file, the circuit must contain a text field with the text
"Board: BASYS3", "Board: MimasV1" or "Board: MimasV2".
</par>
</subchapter>
</chapter>