mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-17 00:44:40 -04:00
updated the documentation
This commit is contained in:
parent
6dfcd8af2f
commit
04b0fd04f4
@ -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>
|
||||
|
@ -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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user