Gast
#2593851
Ich bin noch nicht ganz so fest in VHDL und habe deshalb mal eine Frage, auf die vielleicht jemand eine Lösung hat. Ich habe versucht eine SPI-Interface auf dem FPGA zu implemendtieren. Dies funktioniert soweit auch schon ganz gut. Ich übertrage immer 12 Bit davon sind Bit 0 bis Bit 9 (also 10 Bits) die Daten. Die beiden obersten Bits (MSB und MSB - 1) Sind Status Bits. Wenn ich die 12 Bits an den FPGA übertragen habe dann sollen die Datenbits von den SPI_DATA_BUFFER in einen anderen Register bestehen aus Flip Flops kopiert werden. Es gibt insgesamt 4 Register die alle 10 Bit groß sind. Anhand der Statusbits soll nun entschieden werden in welches der 4 Register die Daten geschrieben (gespeichert werden) Ich habe es wie folgt gelöst jedoch die der Code etwas komisch aus daher meine Frage ob es eine bessere Möglichkeit gibt. process (SPI_CLK) begin if(SPI_CLK'event and SPI_CLK = '1')then elsif(S_SPI_DATA_TRANSFER_READY = '1' and S_SPI_DATA_BUFFER(11 downto 10) = "00")then TRIGGER_DELAY <= S_SPI_DATA_BUFFER(9 downto 0); elsif(S_SPI_DATA_TRANSFER_READY = '1' and S_SPI_DATA_BUFFER(11 downto 10) = "01")then PIXEL_COUNTER <= S_SPI_DATA_BUFFER(9 downto 0); end if; end if; end process; ACHTUNG Ich habe das jetzt mal nur für 2 Register gemacht.