Gast
#2229916
Moinsen, ich habe schnell mal eben im Xilinx Project-Navigator ein D-FlipFlop in VHDL beschrieben (siehe dff.vhd) Und eine Testbench erzeugen lassen (siehe dff_tb.vhd). Soweit so gut. Beschreibe ich meine Clock und meinen Stimulus in der Testbench wie folgt: clock_process: process begin while not stop_the_clock loop clock <= '0', '1' after clock_period / 2; wait for clock_period; end loop; wait; end process; stim_proc: process begin wait for 3*clock_period/2; d <= '1'; wait for clock_period; d <= '0'; wait; end process; END; so ist die Simulation in Ordnung und liefert das erwartete Ergebnis (siehe DFF1.png) Beschreibe ich meine Clock aber auf folgende Weise: clock_process :process begin clock <= '0'; wait for clock_period/2; clock <= '1'; wait for clock_period/2; end process; bekomme ich ein völlig anderes und meiner Meinung nach auch falsches Verhalten im Simulator (ISIM (Win und Linux) und auch bei GHDL/GtkWave angezeigt (siehe DFF2.vhd). Vielleicht kann mir jemand erklären, warum sich die beiden verschiedenen Clock Beschreibungen im Simulator so unterschiedlich verhalten. Gruß Wolfgang

