Gast
#995578
Hi alle Zusammen, im Moment versuche ich mich damit einen Zustandsautomaten zu entwerfen, um das XILINX "KC - Uart" Makro (eigentlich zum Picoblaze gehörig) mit angeschlossenem 16-Bit Fifo mit Daten aus einem Rom zu füttern und über die RS232 aus dem FPGA auszugeben. (Anstelle des ROMs soll dann mal irgendwann ein DP-Ram werden). Das Design läuft auf einem Spartan 3E Board mit 50 MHz. Der Zustandsautomat soll folgende Funktionen haben : Speicheradresszähler steuern (läuft linear hoch)- bei vollem Uart Fifo pausieren. Daten vom 16 Bit Speicher - Datenbus über eine Mux in 8 Bit Busbreite für den UART aufsplitten. (Dafür 2 Zustände : Lowbyte senden und Highbyte senden) Mein Problem ist: Der Zustandsautomat muß relativ langsam laufen und einen "Clock Enable Impuls" für den Speicherzähler ausgeben. Der Speicherzähler läuft dabei mit ca. 115kHz/16 (Baudrate / 16). Desweiteren wird noch ein Write Enable für den Uart Fifo gebraucht. Diese beiden CE Signale dürfen nur jeweils max. 20 nsec lang sein, da sich sonst der Speicherzähler und der Fifo verschlucken. Wie erzeuge ich so kurze Synchronimpulse im Zustandsautomaten, oder kann ich im Zustandsautomat die über einen entsprechenden Zähler erzeugten CE Signale durchreichen. Macht ein Mealy Automat mehr Sinn, oder ist mein Gedanke an einen Moore Automaten ok. mfg Maik