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.
|
ist.
|
||||||
</par>
|
</par>
|
||||||
</subchapter>
|
</subchapter>
|
||||||
<subchapter name="VHDL">
|
<subchapter name="Export zu VHDL oder Verilog">
|
||||||
<par>
|
<par>
|
||||||
Eine Schaltung kann zu VHDL exportiert werden. Dabei wird eine Datei erzeugt, welche die komplette
|
Eine Schaltung kann zu VHDL oder Verilog exportiert werden. Dabei wird eine Datei erzeugt,
|
||||||
Beschreibung der Schaltung enthält. Der erzeugte VHDL code wurde mit
|
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>
|
<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.
|
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>
|
||||||
<par>
|
<par>
|
||||||
Wenn eine Schaltung Testfälle enthält, wird anhand der Testdaten eine VHDL-Test-Bench erzeugt.
|
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 VHDL Simulation zu
|
Diese kann verwendet werden, um die korrekte Funktion der Schaltung in einer HDL-Simulation zu
|
||||||
überprüfen.
|
überprüfen.
|
||||||
</par>
|
</par>
|
||||||
<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>
|
<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
|
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.
|
einzutragen.
|
||||||
</par>
|
</par>
|
||||||
<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
|
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.
|
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
|
Dies stellt sicher, dass die für die Taktverteilung vorgesehenen FPGA-Resourcen auch tatsächlich
|
||||||
verwendet werden.
|
verwendet werden.
|
||||||
Der enthaltene Beispiel-Prozessor läuft z.B. mit 20MHz, und wenn auf den Multiplizierer in der ALU
|
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.
|
verzichtet werden kann, sind auch 30MHz möglich.
|
||||||
</par>
|
</par>
|
||||||
<par>
|
<par>
|
||||||
Soll eine Schaltung auf einem BASYS3 Board betrieben werden, kann in Vivado ein neues Projekt angelegt werden.
|
Auch bei den Mimas-Boards wird der Spartan 6 DCM für die Takterzeugung verwendet.
|
||||||
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.
|
|
||||||
</par>
|
</par>
|
||||||
<par>
|
<par>
|
||||||
Um neben der VHDL Datei auch die erforderliche Constraints-Datei erzeugen zu lassen, muss die Schaltung
|
Soll eine Schaltung auf einem BASYS3 Board betrieben werden, wird eine Vivado Projektdatei angelegt,
|
||||||
ein Textfeld mit dem Text "Board: BASYS3" enthalten.
|
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>
|
</par>
|
||||||
</subchapter>
|
</subchapter>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@ -338,33 +338,39 @@
|
|||||||
On Linux systems, the fitters can also be executed by Digital if <e>wine</e> is installed.
|
On Linux systems, the fitters can also be executed by Digital if <e>wine</e> is installed.
|
||||||
</par>
|
</par>
|
||||||
</subchapter>
|
</subchapter>
|
||||||
<subchapter name="VHDL">
|
<subchapter name="Export to VHDL or Verilog">
|
||||||
<par>
|
<par>
|
||||||
A circuit can be exported to VHDL. A file is generated which contains the complete description of the
|
A circuit can be exported to VHDL or Verilog. A file is generated which contains the complete description
|
||||||
circuit. The generated VHDL code was tested with
|
of the circuit. The generated VHDL code was tested with
|
||||||
<a href="https://www.xilinx.com/products/design-tools/vivado.html">Xilinx Vivado</a>
|
<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>.
|
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>
|
||||||
<par>
|
<par>
|
||||||
If a circuit contains test cases, the test data is used to generate a VHDL test bench. This can be used
|
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 VHDL simulation.
|
to check the correct function of the circuit in a HDL simulation.
|
||||||
</par>
|
</par>
|
||||||
<par>
|
<par>
|
||||||
Additional files which are needed by special boards can be created. At present only the
|
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>
|
<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
|
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>
|
||||||
<par>
|
<par>
|
||||||
If the circuit clock frequency is low, a frequency divider is integrated into the VHDL code to divide
|
At a BASYS3 board, if the circuit clock frequency is low, a frequency divider is integrated into the HDL
|
||||||
the board clock accordingly.
|
code to divide the board clock accordingly.
|
||||||
If the clock frequency selected in the circuit exceeds 37kHz, the MMCM unit of the
|
If the clock frequency selected in the circuit exceeds 37kHz, the MMCM unit of the
|
||||||
Artix-7 is used for clock generation.
|
Artix-7 is used for clock generation.
|
||||||
This ensures that the FPGA resources provided for the clock distribution are used.
|
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
|
This allows the included example processor to run at 20MHz, and if you can do without the
|
||||||
multiplier, 30HMz is also possible.
|
multiplier, 30HMz is also possible.
|
||||||
</par>
|
</par>
|
||||||
|
<par>
|
||||||
|
Also at the Mimas-Boards the Spartan 6 DCM is utilized for the clock generation.
|
||||||
|
</par>
|
||||||
<par>
|
<par>
|
||||||
If a circuit is to run on a BASYS3 board, a new project can be created in Vivado.
|
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.
|
The generated VHDL file and the constraints file must be added to the project.
|
||||||
@ -372,8 +378,8 @@
|
|||||||
to program a BASYS3 board.
|
to program a BASYS3 board.
|
||||||
</par>
|
</par>
|
||||||
<par>
|
<par>
|
||||||
To create the required constraints file, the circuit must contain a text field with the text "Board:
|
To create the required constraints file, the circuit must contain a text field with the text
|
||||||
BASYS3".
|
"Board: BASYS3", "Board: MimasV1" or "Board: MimasV2".
|
||||||
</par>
|
</par>
|
||||||
</subchapter>
|
</subchapter>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user