-process(PCI_CLOCK)
-begin
- if (PCI_CLOCK'event and PCI_CLOCK = '1') then
- if ("0000" < COUNT) then
- COUNT <= COUNT - 1;
- end if;
-
--- war nicht das Problem des Datenverlusts
--- if (R_FIFO_WRITEn = '0' and COUNT = "0000") then
--- R_FIFO_WRITEn <= '1';
---- end if;
-
- if (RESET = '1') then
- STATE <= STATE_RECV_START_BIT;
- COUNT <= "0000";
- R_FIFO_WRITEn <= '1';
-
- elsif (SPC_ENABLE = '1') then
-
- if (STATE = STATE_RECV_START_BIT) then
- R_FIFO_WRITEn <= '1';
- if (STARTBIT = "0011") then
- COUNT <= "0011";
- STATE <= STATE_RECV_BIT_0;
- end if;
-
- elsif (STATE = STATE_RECV_FIFOFULL) then
- if (SYNC_R_FIFO_FFn = '1') then
- R_FIFO_WRITEn <= '0';
- STATE <= STATE_RECV_START_BIT;
- end if;
-
- elsif (COUNT = "0000") then
- COUNT <= "0011";
- case STATE is
-
- when STATE_RECV_BIT_0 =>
- PAR_OUT(0) <= STARTBIT(0);
- STATE <= STATE_RECV_BIT_1;
-
- when STATE_RECV_BIT_1 =>
- PAR_OUT(1) <= STARTBIT(0);
- STATE <= STATE_RECV_BIT_2;
-
- when STATE_RECV_BIT_2 =>
- PAR_OUT(2) <= STARTBIT(0);
- STATE <= STATE_RECV_BIT_3;
-
- when STATE_RECV_BIT_3 =>
- PAR_OUT(3) <= STARTBIT(0);
- STATE <= STATE_RECV_BIT_4;
-
- when STATE_RECV_BIT_4 =>
- PAR_OUT(4) <= STARTBIT(0);
- STATE <= STATE_RECV_BIT_5;
-
- when STATE_RECV_BIT_5 =>
- PAR_OUT(5) <= STARTBIT(0);
- STATE <= STATE_RECV_BIT_6;
-
- when STATE_RECV_BIT_6 =>
- PAR_OUT(6) <= STARTBIT(0);
- STATE <= STATE_RECV_BIT_7;
-
- when STATE_RECV_BIT_7 =>
- PAR_OUT(7) <= STARTBIT(0);
+ process(PCI_CLOCK)
+ begin
+ if (PCI_CLOCK'event and PCI_CLOCK = '1') then
+ if ("0000" < COUNT) then
+ COUNT <= COUNT - 1;
+ end if;
+
+ -- war nicht das Problem des Datenverlusts
+ -- if (R_FIFO_WRITEn = '0' and COUNT = "0000") then
+ -- R_FIFO_WRITEn <= '1';
+ --- end if;
+
+ if (RESET = '1') then
+ STATE <= STATE_RECV_START_BIT;
+ COUNT <= "0000";
+ R_FIFO_WRITEn <= '1';
+
+ elsif (SPC_ENABLE = '1') then
+
+ if (STATE = STATE_RECV_START_BIT) then
+ R_FIFO_WRITEn <= '1';
+ if (STARTBIT = "0011") then
+ COUNT <= "0011";
+ STATE <= STATE_RECV_BIT_0;
+ end if;