Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
dtlab_t8 [2024/06/03 13:11] haf [Software auf dem Rechner] |
dtlab_t8 [2025/03/14 20:49] (current) beckmanf switch code server |
||
---|---|---|---|
Line 17: | Line 17: | ||
==== VHDL toplevel top_uart ==== | ==== VHDL toplevel top_uart ==== | ||
- | Die Datei [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/dtlab/-/blob/master/src/top_uart.vhd|top_uart.vhd]] beschreibt das Modul "top_uart". "top_uart" stellt den toplevel auf dem FPGA dar. | + | Die Datei [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git/tree/src/top_uart.vhd|top_uart.vhd]] beschreibt das Modul "top_uart". "top_uart" stellt den toplevel auf dem FPGA dar. |
==== Die UART ==== | ==== Die UART ==== | ||
Line 41: | Line 41: | ||
In Abbildung 2 ist das Timing der Schaltung für eine Bitdauer von drei Systemtakten dargestellt. Das wäre eine Baudrate von 16,6 MBit/s bei einer Systemtaktfrequenz von 50 MHz. Das wäre also viel zu schnell. So kann aber das Zusammenspiel der Komponenten "baudcnt" und "uart_tx_shift" einfacher dargestellt werden. | In Abbildung 2 ist das Timing der Schaltung für eine Bitdauer von drei Systemtakten dargestellt. Das wäre eine Baudrate von 16,6 MBit/s bei einer Systemtaktfrequenz von 50 MHz. Das wäre also viel zu schnell. So kann aber das Zusammenspiel der Komponenten "baudcnt" und "uart_tx_shift" einfacher dargestellt werden. | ||
- | * Die Komponenten [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/dtlab/-/blob/master/src/baudcnt.vhd|"baudcnt"]] und [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/dtlab/-/blob/master/src/uart_tx_shift.vhd|"uart_tx_shift"]] sind als leere Architectures schon im Projekt vorhanden | + | * Die Komponenten [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git/tree/src/baudcnt.vhd|"baudcnt"]] und [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git/tree/src/uart_tx_shift.vhd|"uart_tx_shift"]] sind als leere Architectures schon im Projekt vorhanden |
- | * Die [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/dtlab/-/blob/master/src/edge.vhd|"edge"]] Komponente enthält den Flankendetektor aus den vorherigen Projekten | + | * Die [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git/tree/src/edge.vhd|"edge"]] Komponente enthält den Flankendetektor aus den vorherigen Projekten |
* Instantiieren Sie die Komponenten "baudcnt" und "uart_tx_shift" in "top_uart" und verbinden Sie die Komponenten gemäß Abbildung 1 | * Instantiieren Sie die Komponenten "baudcnt" und "uart_tx_shift" in "top_uart" und verbinden Sie die Komponenten gemäß Abbildung 1 | ||
* Überprüfen Sie die Struktur mit dem RTL Viewer aus der Synthese | * Überprüfen Sie die Struktur mit dem RTL Viewer aus der Synthese | ||
- | Die Testbench [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/dtlab/-/blob/master/src/t_top_uart.vhd|"t_top_uart"]] dient zur Simulation von "top_uart". | + | Die Testbench [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git/tree/src/t_top_uart.vhd|"t_top_uart"]] dient zur Simulation von "top_uart". |
* Stellen Sie im Simulator sicher, dass das Signal "start" bei einem simulierten Tastendruck an KEY1 korrekt erzeugt wird | * Stellen Sie im Simulator sicher, dass das Signal "start" bei einem simulierten Tastendruck an KEY1 korrekt erzeugt wird | ||
Line 52: | Line 52: | ||
==== baudcnt ==== | ==== baudcnt ==== | ||
- | Das Modul [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/dtlab/-/blob/master/src/baudcnt.vhd|"baudcnt"]] steuert die Übertragungsrate wie in Abbildung 2 dargestellt. Das Enablesignal sorgt im "uart_tx_shift" Modul dafür, dass das nächste Bit ausgegeben wird. | + | Das Modul [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git/tree/src/baudcnt.vhd|"baudcnt"]] steuert die Übertragungsrate wie in Abbildung 2 dargestellt. Das Enablesignal sorgt im "uart_tx_shift" Modul dafür, dass das nächste Bit ausgegeben wird. |
* Entwerfen Sie eine Architektur für "baudcnt", die das Enablesignal wie in Abbildung 2 dargestellt erzeugt. | * Entwerfen Sie eine Architektur für "baudcnt", die das Enablesignal wie in Abbildung 2 dargestellt erzeugt. | ||
Line 62: | Line 62: | ||
==== uart_tx_shift ==== | ==== uart_tx_shift ==== | ||
- | Das Modul [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/dtlab/-/blob/master/src/uart_tx_shift.vhd|"uart_tx_shift"]] dient zur Serialisierung des 8 Bit Datenwortes, das von den Schaltern SW[7..0] kommt. | + | Das Modul [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git/tree/src/uart_tx_shift.vhd|"uart_tx_shift"]] dient zur Serialisierung des 8 Bit Datenwortes, das von den Schaltern SW[7..0] kommt. |
* Entwerfen Sie eine Architektur für das Modul "uart_tx_shift", mit der die Daten serialisiert werden | * Entwerfen Sie eine Architektur für das Modul "uart_tx_shift", mit der die Daten serialisiert werden |