##// END OF EJS Templates
update DMA arbiter
pellion -
r374:59891d673686 JC
parent child
Show More
@@ -269,6 +269,7 ARCHITECTURE beh OF lpp_lfr IS
269 269 SIGNAL data_ms_valid_burst : STD_LOGIC;
270 270 SIGNAL data_ms_ren : STD_LOGIC;
271 271 SIGNAL data_ms_done : STD_LOGIC;
272 SIGNAL dma_ms_ongoing : STD_LOGIC;
272 273
273 274 SIGNAL run_ms : STD_LOGIC;
274 275 SIGNAL ms_softandhard_rstn : STD_LOGIC;
@@ -564,34 +565,42 BEGIN
564 565 dma_send <= '0';
565 566 dma_valid_burst <= '0';
566 567 data_ms_done <= '0';
568 dma_ms_ongoing <= '0';
567 569 ELSIF clk'EVENT AND clk = '1' THEN -- rising clock edge
568 570 IF run = '1' THEN
569 571 data_ms_done <= '0';
570 572 IF dma_sel = "00000" OR dma_done = '1' THEN
571 573 dma_sel <= dma_rr_grant;
572 574 IF dma_rr_grant(0) = '1' THEN
575 dma_ms_ongoing <= '0';
573 576 dma_send <= '1';
574 577 dma_valid_burst <= data_f0_data_out_valid_burst;
575 578 dma_sel_valid <= data_f0_data_out_valid;
576 579 ELSIF dma_rr_grant(1) = '1' THEN
580 dma_ms_ongoing <= '0';
577 581 dma_send <= '1';
578 582 dma_valid_burst <= data_f1_data_out_valid_burst;
579 583 dma_sel_valid <= data_f1_data_out_valid;
580 584 ELSIF dma_rr_grant(2) = '1' THEN
585 dma_ms_ongoing <= '0';
581 586 dma_send <= '1';
582 587 dma_valid_burst <= data_f2_data_out_valid_burst;
583 588 dma_sel_valid <= data_f2_data_out_valid;
584 589 ELSIF dma_rr_grant(3) = '1' THEN
590 dma_ms_ongoing <= '0';
585 591 dma_send <= '1';
586 592 dma_valid_burst <= data_f3_data_out_valid_burst;
587 593 dma_sel_valid <= data_f3_data_out_valid;
588 594 ELSIF dma_rr_grant(4) = '1' THEN
595 dma_ms_ongoing <= '1';
589 596 dma_send <= '1';
590 597 dma_valid_burst <= data_ms_valid_burst;
591 598 dma_sel_valid <= data_ms_valid;
599 ELSE
600 dma_ms_ongoing <= '0';
592 601 END IF;
593 602
594 IF dma_sel(4) = '1' THEN
603 IF dma_ms_ongoing = '1' THEN
595 604 data_ms_done <= '1';
596 605 END IF;
597 606 ELSE
General Comments 0
You need to be logged in to leave comments. Login now