Gast
#4880095
Hallo, ich habe eine Frage bezüglich State-Machines in VHDL. Ich habe diese bisher immer mittels If/Elsif realisiert, also ungefähr so: process(clk) begin ... if state = idle then -- Do something elsif state = calc then -- Do something elsif state = finish then -- Do something else -- Do something end if; ... end process; Nun habe ich im Internet fast kein anderes Beispiel gefunden, indem die State-Machine ebenfalls mit If/Elsif-Statements aufgebaut ist. In nahezu allen Beispielen werden stattdessen Case-Statements verwenden, also so: process(clk) begin ... case state is when idle => -- Do something when calc => -- Do something when finish => -- Do something when other => -- Do something end case; ... end process; Auch wenn ich es mir eigentlich nicht vorstellen kann, gibt es zwischen den beiden Realisierungen irgendwelche Unterschiede? Bietet die Realisierung mit dem Case-Statement evtl. irgendwelche Vorteile bei der Synthetisierung? Oder wird Case aufgrund der besseren Lesbarkeit einfach häufiger verwendet? Vielen Dank im Voraus, Marc