Duke Scarring schrieb:
> Es könnte sein, das er bei Deinem ersten wait auf eine Flanke wartet.
Richtig: wait wartet auf irgend eine Signaländerung ... :-o
Michael K^3 schrieb:
> wo liegt mein denkfehler wie müsste ich es schreiben das er
> ständig ausgeführt wird?(und sonst wartet)
Ich würde das mal so probieren:
1 | sck_spi_o_process :process
|
2 | begin
|
3 | sck_s <= '1';
|
4 | if (sel_sck_en_s='1' and ncs_i='0') then
|
5 | sck_s <= '0';
|
6 | wait for sck_spi_o_period/2;
|
7 | end if;
|
8 | sck_s <= '1';
|
9 | wait for sck_spi_o_period/2;
|
10 | end process;
|
Der Nachteil: du hast eine Granulatität von sck_spi_o_period/2 wenn die
Taktbedingungen nicht erfüllt sind...
Der Vorteil: dein Takt wird nicht "mittendrin" abgebrochen...