[[dtpr_v7]]

This is an old revision of the document!


Im letzten Versuch haben Sie Flipflops, einen kleinen Automaten und einen Zähler entworfen. In diesem Versuch kombinieren Sie die Elemente und bauen ein System bestehend aus Zähler und Automat.

Das Ziel des Versuchs ist eine LED Blinkschaltung, bei der die Blinkphasen unterschiedlich lang sind. Weiterhin bauen Sie eine Suchmaschine, die in einem Datenstrom eine bestimmte Bitfolge sucht.

Bei der LED Blinkschaltung soll ein Blinkmuster auf den roten LEDS erzeugt werden. Die Blinkmuster haben eine unterschiedliche zeitliche Länge. Die Schaltung soll die Blinksequenz starten, wenn der Schalter SW(0) auf '1' geschaltet wird. Wenn die Blinksequenz beendet ist, muss der Schalter erst auf '0' zurückgeschaltet werden, bevor die Blinkfolge neu gestartet werden kann. Der Takt für die Schaltung kommt aus dem 50 MHz Oszillation, der sich auf dem DE1 Board befindet. Der asynchrone Reset soll vom Taster KEY(0) kommen. Die Blinksequenz soll so aussehen:

"1100000000" (0.5s) -> "0000110000" (2s) -> "0000000011" (0.5s)

Wenn keine Blinksequenz aktiv ist, dann sollen die LEDS “1010101010” anzeigen. Die unterschiedlich langen Zeiten sollen durch einen ladbaren Rückwärtszähler realisiert werden, der mit zwei unterschiedlichen Startwerten geladen werden kann. Der Zähler hat ein Ausgangssignal “done_o”. Wenn der Zählerstand 0 ist, dann ist das Ausgangssignal done_o '1'. Die Ladesignale für den Zähler sollen von einem Automaten erzeugt werden.

  1. Zeichnen Sie einen Schaltplan mit Automat, Zähler, LEDs, und Schalter. Welche Signal gehen vom Automaten zum Zähler? Welche Signale gehen vom Zähler zum Automaten? Wo sind die LEDs angeschlossen? Wo ist der Schalter angeschlossen?
  2. Zeichnen Sie die Schaltungsstruktur des Zählers.
  3. Welche Zählerwerte müssen geladen werden um eine Zeitdauer von 0.5 Sekunden und 2 Sekunden bei einem 50 MHz Taktsignal zu erhalten?
  4. Zeichnen Sie einen Automatengraphen.

Im git Projekt sind schon einige Dateien vorbereitet.

  • cntblnk_rtl.vhd enthält ein Gerüst für den Zähler
  • blnkctr_rtl.vhd enthält ein Gerüst für den Automaten
  • de1_blnkauto_rtl.vhd enthält die Zusammenschaltung von Automat und Zähler
  • t_de1_blnkauto.vhd enthält die Testbench
  • Es gibt ein Simulationverzeichen “sim/de1_blnkauto”
  • Es gibt ein Syntheseverzeichnis “pnr/de1_blnkauto”

Bauen Sie jetzt den LED Blinkautomaten!

  • dtpr_v7.1402506739.txt.gz
  • Last modified: 2014/06/11 19:12
  • (external edit)