Gast
#692731
Hallo zusammen, kurze Frage zu VHDL In meinem Lehrbuch steht: dass die Anweisung: proces ... case E ist when "00" => temp <= p1 ; when "01" => temp <= p2 ; when "10" => temp <= p3 ; when "11" => temp <= p4 ; end case end process bedeutet dass die signallaufzeiten für alle Anweisungen gleich sind. process .. if E = "00" then temp <= p1 ; elsif E = "01" then temp <= p2 ; elsif E = "10" then temp <= p3 ; else temp <= p4 ; end if ; end process Zitat: Lehrbuch Im Gegensatz zur case Anweisung kann man bei der if Anweisung also nicht davon ausgehen, dass die Signalverzögerungen in der Hardware für alle Verzweigungen gleich lang sind. Vielmehr ist dem Bild zu entnehmen, dass die Verzögerungszeit des Ausgangs Signals umso kürzer ist, desto weiter oben eine Bedingung wahr wird. Ist das tatsächlich so ? Das wäre mir neu. Ich hab immer angenommen, dass es bei der if then formulierung lediglich darum geht die Auswahl für die Zweige logisch darzustellen, dass in der Synthes dabei aber prinzipiel das gleich rauskommen würde wie bei der sinngleichen formulierung mit Case. Was ist nun richtig ? Gruß vom FPGA-Fragenden