Hallo Leute! Ich habe eine SPI-Schnittstelle unter VHDL realisiert. Ich verwende das ISE8.2 und Modelsim6.2g Die Simulation funktioniert hervorragend. Wenn ich aber eine Post-Place and Route-Simulation durchführe, das Model kann man sich im ISE erstellen lassen, dann verhält es sich im Modelsim anders als die Simulation: Das VHDL-Model hat einen Busy-Ausgang, (highaktiv) der auf 1 ist, wenn die Reset-Taste gedrückt ist. Sobald in der Simulation Reset deaktiviert wird, sollte bei der nächsten CLK-Taktflanke Busy auf 0 springen. Dies funktioniert in der normalen Simulation perfekt nur nicht in der Post-Place and Route-Simulation. Dort benötigt das Busy-Signal ca. 5 Takte bis es auf 0 springt. In einer nebenläufigen Anweisung erhält Busy folgenden Wert. busy<=busy_start or busy_spi; Busy_start ist zu Beginn immer auf 0(Im-Reset-Zustand und im Normalzustand), bis ein SPI-Start eingeleitet wird. Busy_spi ist im Reset-Zustand auf 1 und sollte nachdem Reset deaktiviert wird mit dem nächsten Clock auf 0 Springen. spi_zugriff: process(clk,rst) variable spi_count: integer range 0 to 15; begin if rst=ein then busy_spi<='1'; spi_cs<='1'; spi_mosi<='0'; spi_clk<='0'; spi_count:=15; state_spi<=s_bereit; elsif clk'event and clk='1' then if state_spi=s_bereit then busy_spi<='0'; end if; ... ... ... Ich habe wirklich absolut keine Ahnung, warum das Busy in der Post-Place and Rout-Simulation so lange ca. 5CLKs benötigt, um auf 0 zu springen? Bitte helft mir. Danke Tschüss Martin
Kann es vielleicht sein, dass die simulierte Hardware, die hier bei Post-Place and Route-Simulation simuliert wird länger braucht, um aus einem Reset zu erwachen? Den Reset deaktiviere ich nach 10ns, den Start der SPI leite ich nach 20ns ein. In der Simulation springt das Busy-Flag sofort nach den 10ns auf 0. In der Post-Place and Route-Simulation dauert es. Ich habs jetzt nachgezählt, es sind genau 10Flanken bis das Busy auf 0 geht. Danke, tschüss Martin
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.