
FIFO (ಮೊದಲು ಸೇರ್ಪಡಿಯಾದ, ಬಳಿಕವೇ ಹೊರ ತೆರಳುತ್ತದೆ) ಡೇಟಾ ಸಂಗ್ರಹಣಾ ವಿಧಾನವಾಗಿದೆ, ಅಲ್ಲಿ ಬಫರ್ನಲ್ಲಿ ಬರೆದ ಮೊದಲ ಡೇಟಾ ಕೂಡ ಮೊದಲ ಬಾರಿಗೆ ಓದುತ್ತದೆ. ಕಾರ್ಯಾಚರಣೆ ತತ್ವವು ಕ್ಯೂಗೆ ಸಮಾನವಾಗಿದೆ. ಡೇಟಾ ನಿರ್ದಿಷ್ಟ ಶ್ರೇಣಿಯಲ್ಲಿ ಬಫರ್ನಲ್ಲಿ ಬರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಓದುವಣೆಯ ತನಕ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ಪ್ರಥಮ ಡೇಟಾ ಯಾವಾಗಲೂ ಬಫರ್ನಿಂದ ಮೊದಲನೆಯದಾಗಿ ಹೊರ ಹೋಗುತ್ತದೆ, ಹೊಸ ಡೇಟಾ ಹಿಂದು ಬರುವುದು.
FPGA ಮತ್ತು ASIC ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, FIFO ಸಾಮಾನ್ಯವಾಗಿ ಡೇಟಾ ಉತ್ಪತ್ತಿ ಮಾಡುವ ವಲಯಗಳ ನಡುವಿನ ತಾತ್ಕಾಲಿಕ ಸಂಗ್ರಹಣಾ ಪ್ರದೇಶವಾಗಿ ಬಳಕೆಯಾಗುತ್ತದೆ. ಒಂದು ಶ್ರೇಣಿಯಿಂದ ಮತ್ತೊಂದು ಶ್ರೇಣಿಗೆ ಡೇಟಾ ನೇರವಾಗಿ ಕಳುಹಿಸುವ ಬದಲು, ಬರುವ ಡೇಟಾ ಮೊದಲು FIFOದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ನಂತರ ಸ್ವೀಕಾರಿಕ ವಲಯವು ಅದು ಸಿದ್ಧವಾಗುವಾಗ ಸಂಗ್ರಹಿತ ಡೇಟಾವನ್ನು ಓದುತ್ತದೆ. ಈ ಕ್ರಮವು ನಿರಂತರ ಮತ್ತು betrouwbaar ಡೇಟಾ ಹರಿವನ್ನು ಕಾಯ್ದುಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಸಾಧಾರಣ ಮೆಮರಿಯ ವಿರುದ್ಧವಾಗಿ, FIFO ನಿರ್ವಹಣಾ ಸ್ಥಳಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಹೊರಗಿನ ವಿಳಾಸ ಸಾಲುಗಳನ್ನು ಅಗತ್ಯವಿಲ್ಲ. ಬರೆದ ಕಾರ್ಯಾಚರಣೆ ಸಂದರ್ಭದಲ್ಲಿ, ಬರುವ ಡೇಟಾ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬಫರ್ನಲ್ಲಿಯೆ ಇರುವ ನಿಗದಿತ ಸ್ಥಳದಲ್ಲಿ ಸ್ಥಳಾಂತರಿಸಲಾಗುತ್ತದೆ. ಓದುವ ಕಾರ್ಯಚಟುವಟಿಕೆಯಲ್ಲಿ, ಹಳೆಯ ಹೂಡಿದ ಡೇಟಾ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪಡೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಹೊರಗಿನ ಭಾಗಕ್ಕೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.
ಈ ಪ್ರಕ್ರಿಯೆ ಆಂತರಿಕ ಬರೆಯುವ ಪಾಯಿಂಟರ್ಗಳಿಗೆ ಮತ್ತು ಓದುವ ಪಾಯಿಂಟರ್ಗಳಿಗೆ ನಿರ್ವಹಿಸುತ್ತಾರೆ. ಹೊಸ ಡೇಟಾ ಬರೆದಾಗ, ಬರೆಯುವ ಪಾಯಿಂಟರ್ ಮುಂದಿನ ಸರಣಿಯ ಸ್ಥಳಕ್ಕೆ ಸಾಗುತ್ತದೆ. ಡೇಟಾ ಓದುತ್ತಾಗ ಓದುವ ಪಾಯಿಂಟರ್ ಮುಂದಿನ ಲಭ್ಯವಿರುವ ವಹಿವಾಟಿಗೆ ಮುಂದುವರಿಯುತ್ತದೆ. ಈ ಪಾಯಿಂಟರ್ಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರುವುದರಿಂದ, FIFO ನಂಬಿಡಿ ಬಾಹ್ಯ ಪ್ರಮಾಣಿತ ಮೆಮರಿ ಜತೆಗೆ ಕಡಿಮೆ ನಿಯಂತ್ರಣ ವಿಧಾನವನ್ನು ಅಗತ್ಯಪಡಿಸುತ್ತದೆ.
ವ್ಯಾಪಾರವೇನೆಂದರೆ ಡೇಟಾವನ್ನು ಕೇವಲ ಕ್ರಮಬದ್ಧವಾಗಿ ಪ್ರವೇಶಿಸಲಾಗುತ್ತದೆ. RAM ಯಂತಹ FIFO ನಿಖರವಾಗಿ ನಿರ್ದಿಷ್ಟ ಉತ್ಪಾದನಾ ಸ್ಥಳವನ್ನು ನೇರವಾಗಿ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಪ್ರತಿ ಓದುವ ಕಾರ್ಯವು ಡೇಟಾ ಆರಂಭದಲ್ಲಿ ಕಂಡತ್ತಾಗಿ ಬರೆದ шараಗೆ ವರಮಾನವು ದಂಟೇ ಹೋಲಿಸುವಂತೆ ಸಾಗುತ್ತದೆ.
ವಿಭಿನ್ನ ಭಾಗಗಳ ಸಿಸ್ಟಮ್ ವಿಭಿನ್ನ ವೇಗದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರುವಾಗ FIFO ವಿಸ್ತೃತವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಬಹಳಷ್ಟು ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ, ಒಂದು ಸಾಧನ ನಿರಂತರವಾಗಿ ಡೇಟಾ ಉತ್ಪಾದಿಸುವಾಗ ಇನ್ನೊಂದು ಸಾಧನ ಆ ಡೇಟಾವನ್ನು ಶ್ರೇಣಿಯಿಂದ ಅಥವಾ ಕಳುಹಿಸುತ್ತದೆ. ತಾತ್ಕಾಲಿಕ ಸಂಗ್ರಹಣೆ ಇಲ್ಲದೆ, ಬರುವ ಡೇಟಾ ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾದಷ್ಟು ವೇಗವಾಗಿ ತಲುಪಬಹುದು, ಇದು ಡೇಟಾ ನಷ್ಟವನ್ನು ಉಣಿಸುತ್ತದೆ.
ಉದಾಹರಣೆಗೆ, ಅನಾಲಾಗ್-ಟು-ಡಿಜಿಟಲ್ ಪರಿವರ್ತಕ (ADC) ನಾನಾ ಡಿಜಿಟಲ್ ಮಾದರಿಗಳನ್ನು ನಿರಂತರವಾಗಿ ಉತ್ಪಾದಿಸುವಾಗ, ಪ್ರೊಸೆಸರ್, PCI ಬಸ್ ಅಥವಾ ಸಂಪರ್ಕ_Interface ಆ ಮಾದರಿಗಳನ್ನು ವಿಭಿನ್ನ ವೇಗದಲ್ಲಿ ಪ್ರಕ್ರಿಯಿಸುತ್ತವೆ. FIFO ತಮ್ಮ ನಿಯತಾಂಕವಾಗಿ ಇರುವ ಕ್ರಮವನ್ನು ಬಿಡಿಸುವ ಬಫರ್ ತಾ_swap ಅವರ ಒಳಗೆ ಸಂಗ್ರಹಿಸಲು ತಾತ್ಕಾಲಿಕ ಅನುಮದೆ ಮಾತ್ರ ಸಗಟು. ಇದು ಎರಡರ ಭಾಗದ ಡೇಟಾ ಕಳೆದು ಆಯ್ಕೆಮಾಡಿಲ್ಲದೆ ಸ್ವೀಕರಿಸಲಾಗುತ್ತದೆ.
FIFO ಸಾಧನಗಳ ನಡುವೆ ಡೇಟಾ-ಅಗಲ mismatch ಅನ್ನು ಸಂದೇಹಿಸುತ್ತವೆ. ಕೆಲವೊಂದು ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಒಂದು ಸಾಧನವು 8-ಬಿಟ್ ಡೇಟಾವನ್ನು ಹೊರಗೊಂಡಾಗ ಇನ್ನೊಂದು 16-ಬಿಟ್ ಡೇಟಾವನ್ನು ನಿರೀಕ್ಷಿಸುತ್ತದೆ. ನೇರ ಸಂಪರ್ಕ ಡೇಟಾವನ್ನು ಪುನ೦ವಳಿಸುವ ಲಾಜಿಕ್ಅಭ್ಯರ್ಥಿಸುತ್ತಿಲ್ಲ.
FIFO ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸರಳೀಕರಿಸಬಲ್ಲ ತಾತ್ಕಾಲಿಕವಾಗಿ ಬರುವ ಡೇಟಾವನ್ನು ಘಟಕಕ್ಕಾಗಿ ಸಲ್ಲಿಸಲು ಮತ್ತು ಸ್ವೀಕೃತ ಸಾಧನವನ್ನು ಹೊಂದಿಸುವ ಫಾರ್ಮಾಟ್ನಲ್ಲಿ ನೀಡುವುದು. ಈ ಸಾಮರ್ಥ್ಯವು ವಿಭಿನ್ನ ಹಾರ್ಡ್ವೇರ್ ಬ್ಲಾಕ್ಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಮಾಹಿತಿಯನ್ನು ವಿನಿಮಯ ಮಾಡಲು ಮಾತ್ರವೇನೆಂದರೂ ಸಹಾಯ ಮಾಡುತ್ತದೆ.
FIFO ಸಮುಚ್ಚೆಗಳು ಸಾಮಾನ್ಯವಾಗಿ ਸਮਾਂ-ಲೋಕ FIFO ಮತ್ತು ನಿರಂತರ-ಲೋಕ FIFO ಗೆ ವಿಭಜಿತವಾಗಿವೆ.
ಸಮುಚ್ಚಿತ FIFO ಓದು ಮತ್ತು ಬರೆವು ಕಾರ್ಯಾಚರಣಗಳಿಗೆ ಒಂದೇ ಕ್ಲಾಕ್ ಸಂಕೇತವನ್ನು ಬಳಸುತ್ತದೆ. ಎಲ್ಲಾ ಚಟುವಟಿಕೆಗಳು ಒಂದೇ ಕ್ಲಾಕ್ ಮೂಲದ ಅಡಿಯಲ್ಲಿ ಸಂಭವಿಸುವ ಕಾರಣ, ಸಮಯ ಸಂಬಂಧಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ವ್ಯಾಖ್ಯಾನಿಸಲು ಸುಲಭವಾಗಿದೆ. ಸಮುಚ್ಚಿತ FIFOಗಳನ್ನು ಡೇಟಾ ಒಂದೇ ಕ್ಲಾಕ್ ಡೊಮೇನ್ನಲ್ಲಿ ಉಳಿಯುವಾಗ ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
ನಿರಂತರ FIFO ಬರೆದು ಮತ್ತು ಓದುವಿಕೆಗೆ ಪ್ರತ್ಯೇಕ ಕ್ಲಾಕ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಡೇಟಾ ಒಂದೇ ಕ್ಲಾಕ್ ಫ್ರೇಕ್ವೆನ್ಸಿಯನ್ನು ಬಳಸಿಕೊಂಡು FIFO ಗೆ ಪ್ರವೇಶಿಸಬಹುದು ಮತ್ತು ಬೇರೆ ಕ್ಲಾಕ್ ಬಳಸಿಕೊಂಡು ಹೊರಗೊಳ್ಳಬಹುದು. ಎರಡು క్లಾಕ್ಗಳು ಸ್ವಾಯತ್ತವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ಆದ್ದರಿಂದ ನಿರಂತರ FIFOಗಳನ್ನು ವಿಭಿನ್ನ ಕ್ಲಾಕ್ ಡೊಮೇನ್ಗಳ ನಡುವೆ ಡೇಟಾ ಸ್ಥಳಾಂತರಿಸಲು ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
ಈ ಸಾಮರ್ಥ್ಯವು FPGA ಘಟಕಗಳಲ್ಲಿ ವಿಶೇಷವಾಗಿ ಪ್ರಾಮುಖ್ಯವಾದುದಾಗಿದೆ, ಅಲ್ಲಿ ಸಂಸ್ಕೃತಕಗಳು, ಸಂಪರ್ಕ ಭೂಮಿಕೆಗಳು, ನೆನಪಿನ ನಿಯಂತ್ರಕಗಳು ಮತ್ತು ಪರಿಕರಗಳು ಸಾಮಾನ್ಯವಾಗಿ ವಿಭಿನ್ನ ಫ್ರೇಕ್ವೆನ್ಸುಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.
ವಿಶ್ವಾಸಾರ್ಹ FIFO ಕಾರ್ಯಾಚರಣೆವು ಬಫರ್ನಲ್ಲಿ ಇನ್ನೂ ಎಷ್ಟು ಡೇಟಾ ಸಂಗ್ರಹಿತವಾಗಿದೆ ಎಂಬುದನ್ನು ಗೊತ್ತಿರಿಸಲು ಅವಲಂಬಿತವಾಗಿದೆ. FIFO Capacity ಗೆ ತಲುಪುವ ನಂತರ ಹೊಸ ಡೇಟಾ ಬಂದಾಗ, ಶ್ರೇಯಾಂಕ ಮಾಹಿತಿಯನ್ನು ಮರುಬರೆಯಬಹುದು. ಅಲ್ಲದೆ, ಖಾಲಿ FIFOಐನಿಂದ ಡೇಟಾವನ್ನು ಓದುವ ಪ್ರಯತ್ನವು ಅಮಾನ್ಯ ಫಲಿತಾಂಶವನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.
ಈ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ತಡೆಯಲು, FIFO ವಿನ್ಯಾಸಗಳು ಹಲವಾರು ಸ್ಥಿತಿ ಸಂಕೇತಗಳನ್ನು ಬಳಸುತ್ತವೆ.
ಸಂಪೂರ್ಣ ಎಸೆರುವಿಕೆ ಎಲ್ಲ ದಾಖಲು ಸ್ಥಳಗಳು ವಶಪಡಿಸಿಕೊಂಡಿವೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚುವರಿ ಡೇಟಾ ಬರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ. ಖಾಲಿ ಎಸೆರುವಿಕೆ ಓದುವಿಕೆಗೆ ಯಾವುದೇ ಶ್ರೇಯಾಂಕ ಡೇಟಾ ಲಭ್ಯವಿಲ್ಲ ಎಂದು ಸೂಚಿಸುತ್ತದೆ.
ಬಹಳಷ್ಟು FIFO ಅನುಷ್ಟಾನಗಳು ಸಂಪೂರ್ಣವಾಗಿರುವ ಮತ್ತು ಬಹಳಷ್ಟು ಖಾಲಿಯಾಗಿರುವ ಸೂಚಕಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ. FIFO ಸಂಪೂರ್ಣವಾಗಿ ತುಂಬಿದ ಅಥವಾ ಸಂಪೂರ್ಣವಾಗಿ ಖಾಲಿಯಾದ ಅಣೆಕಟ್ಟುವಿಕೆಗೆ ಮುನ್ನಈ ಸಂಕೇತಗಳು ಮುಂಚಿನ ಎಚ್ಚರಿಕೆಯಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ನಿಯಂತ್ರಣ ತಂತ್ರಜ್ಞಾನದ ಸಹಾಯದಿಂದ overflow ಅಥವಾ underflow ಸಂಭವಿಸುವ ಮೊದಲು, ಈ ಸಂಕೇತಗಳನ್ನು ತ ಉಳಿಸುತ್ತವೆ, ನಿಲ್ಲಿಸುತ್ತವೆ ಅಥವಾ ಡೇಟಾ ಸ್ಥಳಾಂತರಗಳನ್ನು ಹೊಂದಿಸುತ್ತವೆ.
ಈ ಸ್ಥಿತಿ ಸೂಚಕಗಳು ಡೇಟಾ ಸಂಪೂರ್ಣತೆ ಮತ್ತು ವ್ಯವಸ್ಥೆಯ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ನೇರವಾಗಿ ಪ್ರಭಾವಿತ ಮಾಡುತ್ತವೆ. ಅಂದರೆ, FIFO ವಿನ್ಯಾಸದ ಪ್ರಮುಖ ಭಾಗವನ್ನಾಗಿರುತ್ತವೆ.
FIFO ಸಮುಚ್ಚೆಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಏಕಕ್ಲಾಕ್ FIFO (SCFIFO) ಮತ್ತು ಡ್ಯುಯಲ್ ಕ್ಲಾಕ್ FIFO (DCFIFO) ಗೆ ವಿಭಜಿತವಾಗಿವೆ. ಈ ರಚನೆಗಳು ವಿಭಿನ್ನ ಕ್ಲಾಕ್ ಸಂಬಂಧಗಳು ಮತ್ತು ಡೇಟಾ ಸ್ಥಳಾಂತರ ಅಗತ್ಯಗಳನ್ನು ಬೆಂಬಲಿಸಲು ರೂಪಾಹಿತವಾಗಿದೆ.
ಅತ್ಯಂತ ಸಾಮಾನ್ಯ FIFO ರಚನೆಗಳು:
• SCFIFO (ಏಕಕ್ಲಾಕ್ FIFO)
• DCFIFO (ಡ್ಯುಯಲ್ ಕ್ಲಾಕ್ FIFO)
• DCFIFO ಮಿಶ್ರ ಅಗಲಗಳು (ಬರೆದು ಮತ್ತು ಓದುವ ಖಾತರಿಯ ಅಗಲಗಳನ್ನು ಹೊಂದಿರುವ ಡ್ಯುಯಲ್ ಕ್ಲಾಕ್ FIFO)
ಹೆಚ್ಚು FPGA ಡಾಕ್ಯುಮೆಂಟೇಶನಿನಲ್ಲಿ, ಪ್ರಮಾಣಿತ ಡ್ಯುಯಲ್-ಕ್ಲಾಕ್ FIFOs ಮತ್ತು ಮಿಶ್ರ-ಅಗಲ ಡ್ಯುಯಲ್-ಕ್ಲಾಕ್ FIFOs ಎರಡನ್ನೂ ಡಯ್ಯಲ್-ಕ್ಲಾಕ್ FIFOs ಎಂದು ವರ್ಗೀಕರಿಸಲಾಗುತ್ತದೆ.

FIFO ಸಮುಚ್ಚೆಯ ಆಯ್ಕೆ ಮುಖ್ಯವಾಗಿ ಬಫರ್ನಲ್ಲಿ ಡೇಟಾ ಹೇಗೆ ಪ್ರವೇಶಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರস্থানಿಸುತ್ತವೆ, ಇದಕ್ಕೆ ಅವಲಂಬಿತವಾಗಿದೆ. ಬರೆದು ಕ್ಲಾಕ್ ಮತ್ತು ಓದುವ ಕ್ಲಾಕ್ ನಡುವಿನ ಸಂಬಂಧವು ಸೂಕ್ತ FIFO ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಆರಿಸುವಾಗ ಸಾಮಾನ್ಯವಾಗಿ ಅತ್ಯಂತ ಪ್ರಾಮುಖ್ಯವಾದ ಅಂಶವಾಗಿದೆ.
ಏಕಕ್ಲಾಕ್ FIFO೧ ಕ್ಲಾಕ್ ಸಂಕೇತವನ್ನು ಓದು ಮತ್ತು ಬರೆದು ಕಾರ್ಯಾಚರಣೆಗೆ ನಿಯಂತ್ರಿಸಲು ಬಳಸುತ್ತದೆ. ಎರಡೂ ක්ರಿಯೆಗಳು ಒಂದೇ ಕ್ಲಾಕ್ ಡೊಮೇನ್ ಅಡಿಯಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರುವ ಕಾರಣ, ಸಮಯ ನಿಯಂತ್ರಣೆ ಹೆಚ್ಚು ಸರಳವಾಗಿದೆ ಮತ್ತು ಸಮಯಕೋಷ್ಟಕದ ಸಮಸ್ಯೆಗಳು ಕಡಿಮೆಯಾಗಿದೆ.
ಇದು ನಿಖರವಾಗಿ ಡೇಟಾ FIFOinput ಗೆ ಪ್ರವೇಶಿಸಿರುವಾಗ ಮತ್ತು ಬರೆಯುವ ವಿನಂತಿಯು ಖಚಿತಗೊಳ್ಳುವಾಗ, ಡೇಟಾ ಕ್ರಿಯಾತ್ಮಕ ಕ್ಲಾಕ್ ಯಂತ್ರದ ಎತ್ತರದಲ್ಲಿ ಮುರನ್ನು ಶ್ರೇಣಿಯಿಂದ ಹಿಡಿಯುತ್ತದೆ. ಹೆಚ್ಚು ಡೇಟಾ ಬಂದಾಗ, ಬರೆಯುವ ಚೋಲಿ FIFO ಸಂಗ್ರಹಣಾ ಕೂಡ ವ್ಯಕ್ತವಾಗುತ್ತದೆ.
ಓದು ಹೆಜ್ಜೆಯನ್ನು ಗುರುತಿಸಿದಾಗ, FIFO ಹಳೆಯ ಶ್ರೇಣಿತ ಡೇಟಾವನ್ನು ಪಡೆಯುತ್ತದೆ ಮತ್ತು ಈಡೀ ಮಾಡುತ್ತದೆ. ಓದುವ ಚೋಲಿ ನಂತರ ಮುಂದಿನ ಸಂಗ್ರಹಿತ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸುತ್ತದೆ. ಓದು ಮತ್ತು ಬರೆದು ಚೋಲಿಯ ಈ ನಿರಂತ್ರ ಚಲನೆ, FIFO ಮೂಲಕ ಡೇಟಾ ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ ಹರಿಯಲು ಅನುಮತಿಸುತ್ತದೆ.
ಏಕಕ್ಲಾಕ್ FIFOಗಳು ಒಂದು ಬಫರ್ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಕ monitoring ್ಷಣಕ್ಕೆ ಸಹಾಯ ಮಾಡುವ ಹಲವಾರು ಹಂತಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ. ಸಂಪೂರ್ಣ ಎಸೆರುವಿಕೆ ಎಲ್ಲಾ ಶ್ರೇಣಿಯ ಸ್ಥಳಗಳು ವಶಪಡಿಸಿಕೊಂಡಿವೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚುವರಿ ಬರೆಯುವ ಕಾರ್ಯಗಳನ್ನು ನಿಲ್ಲಿಸುತ್ತವೆ. ಬಹಳಷ್ಟು ಸಂಪೂರ್ಣ ಎಸೆರುವಿಕೆ FIFO ಸಾಮರ್ಥ್ಯದ ಕೊನೆಗೆ ಹತ್ತಿಕೊಳ್ಳುತ್ತಿದೆ ಎಂದು ಎಚ್ಚರಿಸುತ್ತದೆ.
ಖಾಲಿ ಎಸೆರುವಿಕೆ ಬಹಳಷ್ಟು ವ್ಯಾಖ್ಯಾನ ಯಾವುದೂ ಬಫರ್ನಲ್ಲಿ ಉಳಿಕೊಂಡಿಲ್ಲ ಎಂದು ಸೂಚಿಸುತ್ತದೆ, ಅಂದರೆ ಬಹಳಷ್ಟು ಖಾಲಿ ಎಸೆರುವಿಕೆ ದೆಸೆಯನ್ನು ಮಾತ್ರ ಒದಗಿಸುತ್ತದೆ. ಬಹಳಷ್ಟು ಅನುಷ್ಟಾನಗಳು ಬಳಕೆಯ ಪದಗಳ ಎಣಿಕೆಯನ್ನು ಸೇರಿಸುತ್ತವೆ, ಇದು FIFO ಯಲ್ಲಿ ಇತ್ತೀಚೆಗೆ ವಿಷಯ ಯಾವಷ್ಟೇ ಎಂದು ವರದಿ ಮಾಡುತ್ತದೆ.
ಈ ಸೂಚಕಗಳು ಸುತ್ತಮುತ್ತಲಿನ ಲಾಜಿಕ್ಗೆ ವಿಶ್ವಾಸಾರ್ಹ FIFO ಕಾರ್ಯಚರಣೆಯನ್ನು ಉಳಿಸುತ್ತながwhile ಓದು ಮತ್ತು ಬರೆಯುವ ನಿರ್ಧಾರಗಳನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ತೆಗೆದುಕೊಳ್ಳಲು ಅನುಮತಿಸುತ್ತವೆ.
ಡ್ಯುಯಲ್ ಕ್ಲಾಕ್ FIFO ಬರೆದು ಮತ್ತು ಓದುವ ಕಾರ್ಯಚರಣೆಗೆ ಪ್ರತ್ಯೇಕ ಕ್ಲಾಕ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಬರೆಯುವ ಭಾಗ ಒಂದು ಕ್ಲಾಕ್ ಡೊಮೇನ್ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ಓದುವ ಭಾಗ ಮತ್ತೊಂದು ಕ್ಲಾಕ್ ಡೊಮೇನ್ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
ಬರುವ ಡೇಟಾ ಬರೆಯುವ ಕ್ಲಾಕ್ ಬಳಸಿಕೊಂಡು FIFO ಯಲ್ಲಿ ಬರೆಯಲಾಗುತ್ತದೆ. ಒಂದಿಸಲು, ಡೇಟಾ ಬಫರ್ನಲ್ಲಿ ಒಳಗೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಓದುವ ಭಾಗ, ಓದುವ ಕ್ಲಾಕ್ ಬಳಸುವ ಮೂಲಕ ಇದನ್ನು ಪಡೆದೀತು. ಎರಡೂ ಕ್ಲಾಕ್ಗಳು ಸ್ವಾಯತ್ತವಾದ ಕಾರಣ, FIFO ಹಲವು ಕ್ಲಾಕ್ ಡೊಮೇನ್ಗಳ ನಡುವೆ ಡೇಟಾ ಸುರಕ್ಷಿತವಾಗಿ ವರ್ಗಾಯಿಸಬಲ್ಲದು.
ಈ ಸಾಮರ್ಥ್ಯವು FPGA ಪ್ರಣಾಳಿಕೆಗಳಲ್ಲಿ ಕ್ಲಾಕ್-ಡೊಮೇನ್ ಕ್ರಾಸ್ಗೊಳಿಸಲು ಡ್ಯುಯಲ್-ಕ್ಲಾಕ್ FIFOಗಳನ್ನು ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಪರಿಹಾರವಾಗಿ ಮಾಡಲು ಮಾಡುತ್ತದೆ.
ವಿಶ್ವಾಸಾರ್ಹ ಕಾರ್ಯಾಚರಣೆಗೆ ಬೆಂಬಲ ನೀಡಲು, ಡ್ಯುಯಲ್-ಕ್ಲಾಕ್ FIFO ಗಳು ಇಂಟರ್ಫೇಸ್ನ ಎರಡೂ ವಿಳಾಸದ ಸ್ಥಿತಿ ಸಂಕೇತಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ. ಬರೆಹ ಬದಿಯು ಸಾಮಾನ್ಯವಾಗಿ wrfull ಮತ್ತು wrempty ನಂತಹ ಸಂಕೇತಗಳನ್ನು ಬಳಸುತ್ತದೆ, ಬರೆಹ ಬದಿಯ ಬಫರ್ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಸೂಚಿಸಲು. ಓದು ಬದಿಯು ಸಾಮಾನ್ಯವಾಗಿ rdfull ಮತ್ತು rdempty ಅನ್ನು ಬಳಸುತ್ತದೆ, ಮಾರ್ಪಡಲು ಡೇಟಾ ಲಭ್ಯತೆಯನ್ನು ಸೂಚಿಸಲು.
ಪ್ರತ್ಯೇಕ ಎಣಿಕೆಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಒದಗಿಸಲಾಗುತ್ತದೆ ಅಂದರೆ ಪ್ರತಿ ಕ್ಲಾಕ್ ಡೊಮೈನ್ ವಿವರವಾದವಾಗಿ ಸ್ತೋಲಾಗ್ನಿತ ಡೇಟಕ್ ಗಾತ್ರವನ್ನು ಗಮನಿಸಬಹುದು. ಈ ಸೂಚಕಗಳು FIFO ನ ಎರಡು ತುದಿಗಳು ಪರಸ್ಪರ ಪ್ರವೇಶಿಸುವಂತೆ ನಿರ್ಧಾರ ತೆಗೆದುಕೊಳ್ಳಲು ಅನುಕೂಲಿಸುತ್ತವೆ.
ಕೆಲವು ಬಳಸುವಿಕೆಗಳು ಬರೆಹ ಬದಿ ಮತ್ತು ಓದು ಬದಿಯೊಂದಕ್ಕಿಂತ ಬೇರೆ ಡೇಟಾ ಅಗಳಗಳನ್ನು ಅಗತ್ಯವಿದೆ. ಈ ಪರಿಸ್ಥಿತಿಯಲ್ಲಿ, ಮಿಶ್ರ-ಆಗಳ ಡ್ಯೂಯಲ್ ಕ್ಲಾಕ್ FIFO ಬಳಸಬಹುದು.
ಉದಾಹರಣೆಗೆ, ಡೇಟಾ FIFO ಗೆ 16-ಬಿಟ್ ಶಬ್ದಗಳಾಗಿರುವ ಭರ್ತಿಯನ್ನು ಬರೆದ ಹೆಸರು, ಆದರೆ 8-ಬಿಟ್ ಶಬ್ದಗಳಾಗಿಯೂ ಓದಬಹುದಾಗಿದೆ. FIFO ಸ್ವಯಂಪ್ರೇರಿತವಾಗಿ ಸಂಗ್ರಹಿತ ಮಾಹಿತಿಯನ್ನು ಪುನರ್ಸಂಯೋಜಿಸುತ್ತದೆ ಮತ್ತು ಮೂಲ ಡೇಟಾ ಕ್ರಮವನ್ನು ಕಾಯ್ದುಕೊಳ್ಳುವುದರಲ್ಲಿ ಅಗತ್ಯ ಅಗಳ ಪರಿವರ್ತನೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
ಈ ವೈಶಿಷ್ಟ್ಯವು ವಿವಿಧ ಬಸ್ ಅಗಳಗಳನ್ನು ಬಳಸುವ ಸಾಧನಗಳನ್ನು ಸಂಪರ್ಕಿಸುವಾಗ ಉಪಯುಕ್ತವಾಗಿದೆ. ಪ್ರತ್ಯೇಕ ಪರಿವರ್ತನೆ ಸರ್ಕ್ಯೂಟ್ ಸೇರಿಸುವ ಬದಲು, FIFO ಅಗಳ ಹೊಂದಾಣಿಕೆಯನ್ನು ಆಂತರಿಕವಾಗಿ ನಿರ್ವಹಿಸುತ್ತದೆ.
ಒಂದು ಸಿಂಗಲ್ ಕ್ಲಾಕ್ FIFO ಸಾಮಾನ್ಯವಾಗಿ ಓದು ಮತ್ತು ಬರೆಯುವಿಕೆ ಎರಡೂ ಒಂದೇ ಕ್ಲಾಕ್ ಡೊಮೈನ್ನಲ್ಲಿ ಸಂಭವಿಸುವಾಗ ಬಳಸಲಾಗುತ್ತದೆ. ಇದರ ಸುಲಭವಾದ ಈಡೇರಿಕೆಯಿಂದ ಸಮಯ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ಅನುಷ್ಠಾನ ಸುಲಭವಾಗಿದೆ.
ಡೇಟಾ ಸ್ವಾಯತ್ತ ಕ್ಲಾಕ್ ಡೊಮೈನ್ಗಳ ನಡುವಿನಿಂದ ಸಾಗಬೇಕಾದಾಗ, ಡ್ಯೂಯಲ್ ಕ್ಲಾಕ್ FIFO ಅನ್ನು ಒಪ್ಪಿಗೆಯಾದ ರೀತಿಯಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ. ಇದು ವಿಶ್ವಾಸಾರ್ಹ ಕ್ಲಾಕ್-ಡೊಮೈನ್ ಕ್ರಾಸಿಂಗ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಸಮಈಕರಣದ ಸಮಸ್ಯೆಗಳನ್ನು ಕೊನೆಗೊಳಿಸಲು ಸಹಾಯವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
ಕ್ಲಾಕ್-ಡೊಮೈನ್ ಕ್ರಾಸಿಂಗ್ ಮತ್ತು ಡೇಟಾ-ಅಗಳ ಪರಿವರ್ತನೆಯ ಅಗತ್ಯವಿರುವಾಗ, ಮಿಶ್ರ-ಆಗಳ ಡ್ಯೂಯಲ್ ಕ್ಲಾಕ್ FIFO ಒಮ್ಮೆ ಒಬ್ಬ ಹಾಕಿದ FIFO ಸಂಕೀರ್ಣವನ್ನು ಒಳಗೊಂಡಂತೆ ಅವುಗಳನ್ನು ಹೊಂದಿಸಲು ಯೋಗ್ಯ ಪರಿಹಾರ ನೀಡುತ್ತದೆ.
FIFO ಆಂತರಿಕವಾಗಿ ಬೇರೆಯಾಗಿರುವ ಡಿಜಿಟಲ್ ವ್ಯವಸ್ಥೆಯ ಭಾಗಗಳ ನಡುವಿನ ತಾತ್ಕಾಲಿಕ ಸಂಗ್ರಹಣಾ ಪ್ರದೇಶವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಹಲವು ಬಳಕೆಗಳಲ್ಲಿ, ಡೇಟಾ ಸಂಪೂರ್ಣವೇ ಒಂದೇ ವೇಗದಲ್ಲಿ ಬರೋಬ್ಬರಿ ಮತ್ತು ಬರುವುದಿಲ್ಲ. ಒಂದು ಸಾಧನ ಡೇಟಾವನ್ನು ನಿರಂತರವಾಗಿ ಉತ್ಪಾದಿಸುತ್ತದೆ, ಆದರೆ ಇನ್ನಷ್ಟು ಸಾಧನ ಆ ಡೇಟಾವನ್ನು ನಿಧಾನಗತಿಯಲ್ಲಿ ಸಂಸ್ಕರಿಸುತ್ತದೆ ಅಥವಾ ಪ್ರಸಾರವನ್ನು ಮಾಡುತ್ತದೆ. ಅವುಗಳ ನಡುವೆ ಒಂದು ಬಫರ್ ಇಲ್ಲದೆ, ಇನ್ಕಮಿಂಗ್ ಡೇಟಾ ನಿಯಂತ್ರಣಕ್ಕಿಂತ ಹೆಚ್ಚು ಸೇರಬಹುದು, ಏಕೆಂದರೆ ಇದು ಡೇಟಾ ನಷ್ಟಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ.
ಫಿಫೋ ಈ ಸಮಸ್ಯೆಯನ್ನು ಬರುವ ಡೇಟಾವನ್ನು ದಾಖಲಿಸುವಾಗ ಮತ್ತು ಸ್ವೀಕೃತ ಚಕ್ರವು ಕREADY ಆಗಾಗೆ ಬಿಡುಗಡೆ ಮಾಡುವ ಮೂಲಕ ಪರಿಹರಿಸುತ್ತದೆ. ಇದು ಮಾಹಿತಿಯ ಸುಗಮ ಹರಿವು ಸೃಷ್ಟಿಸುತ್ತದೆ ಮತ್ತು ವ್ಯವಸ್ಥೆಯ ವಿಭಿನ್ನ ಭಾಗಗಳನ್ನು ಉತ್ತಮವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಕೂಲ ಮಾಡುತ್ತದೆ, ಅದರ ಫಲಿತಾಂಶವು ಪರಿಪೂರ್ಣ ಸಮಯ ಸೂತ್ರಣೆಯನ್ನು ಅಗತ್ಯವಿಲ್ಲ.
ಸುಲಭ ಬಫರಿಂಗ್ನಲ್ಲಿ, FIFO ಸಂಪೂರ್ಣ ವ್ಯವಸ್ಥೆಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ವರ್ಗಾಯಿಸುವ ಮೊದಲು ಡೇಟಾವನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಸಂಗ್ರಹಿಸುವ ಮೂಲಕ, FIFO ಬಸ್ ಪ್ರವೇಶ ಕಾರ್ಯಾಚರಣೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅವಶ್ಯಕತಾ ಸಂಪರ್ಕ ಓವರಹೆಟ್ ಅನ್ನು ಕಡಿಮೆಿಸುತ್ತದೆ. ಇದು ವ್ಯವಸ್ಥೆಯ ಸಂಪತ್ತುಗಳನ್ನು ಹೆಚ್ಚು ಪರಿಣಾಮಶೀಲವಾಗಿ ಬಳಸಬೇಕಾಗುತ್ತದೆ.
FIFO ಪ್ರೊಸೆಸರ್ ಕಾರ್ಯಚಟುವಟಿಕೆ ಅನ್ನು ಕಡಿಮೆ ಮಾಡುವಿಕೆ ಮಾಡಬಹುದು. CPU ಯನ್ನು ಪ್ರತಿ ವೈಯಕ್ತಿ ಡೇಟಾ ಪರಿವರ್ತನೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಬಲವಂತಮಾಡುವ ಬದಲು, ಡೇಟಾವನ್ನು FIFO ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ಮತ್ತು ದೊಡ್ಡ ಬ್ಲಾಕ್ಗಳಲ್ಲಿ ಸಂಸ್ಕರಿಸಲಾಗಿದೆ. ಈ ವಿಧಾನವು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಉತ್ತಮಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಇತರ ಕಾರ್ಯಗಳಿಗಾಗಿ ಪ್ರೊಸೆಸ್ಸ್ ಹಕ್ಕುಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡುತ್ತದೆ.
ಮತ್ತೊಂದು ಮುಖ್ಯ ಲಾಭವೆಂದರೆ ಡೈರೆಕ್ಟ್ ಮೆಮೊರಿ ಆಕ್ಸೆಸ್ (DMA) ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಬೆಂಬಲವಾಗಿದೆ. ವೇಗದ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, DMA ಸಾಧನಗಳ ಮತ್ತು ಮೆಮೊರಿಯ ಮಧ್ಯೆ ನಿಯಮಿತ CPU ಭಾಗವಹಿಸುವಿಕೆಯಿಲ್ಲದೆ ಡೇಟಾ ನೇರವಾಗಿ ಸಾಗಲು ಅನುಮತಿಸುತ್ತದೆ. FIFO ಈ ಪರಿವರ್ತನೆಗಳನ್ನು ಬೆಂಬಲಿಸಲು ಮತ್ತು ಹಂತನ್ಮೂಲ ಚಾಲನೆಯ ಹರಿವನ್ನು ನಿರ್ವಹಿಸಲು ಅಗತ್ಯವಾದ ತಾತ್ಕಾಲಿಕ ಸಂಗ್ರಹಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ.
FIFO ಬಫರಿಂಗ್ ಮತ್ತು DMA ಬೆಂಬಲವಿಲ್ಲದೆ, ಪ್ರೊಸೆಸರ್ ಡೇಟಾ ಚಲನೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತಿರುವ ಸಮಯವನ್ನು ಕಳೆದಷ್ಟು ಹೆಚ್ಚು ಖರ್ಚು ಮಾಡಬಹುದು, ಇದು ಒಟ್ಟಾರೆ ವ್ಯವಸ್ಥೆಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಬಹುದು ಮತ್ತು ಪ್ರಸಾರದಲ್ಲಿ ಬಾಟ್ಲ್ನೆಕ್ ಹೊಡೆಯುವ ಅಪಾಯವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.
ಒಂದು ಸಿಂಗಲ್ ಕ್ಲಾಕ್ FIFO ಬಹಳಷ್ಟು ಬರೆಹ ಕಾರ್ಯಚಟುವಟಿಕೆ ಮತ್ತು ಓದು ಕಾರ್ಯಚಟುವಟಿಕೆ ಒಂದೇ ಕ್ಲಾಕ್ ಸಂಕೇತದಿಂದ ನಿಯಂತ್ರಿತವಾಗಿರುವಾಗ ಬಳಸಲಾಗುತ್ತದೆ. FIFO ಯ ಎರಡೂ ಪಕ್ಷಗಳು ಒಂದೇ ಕ್ಲಾಕ್ ಡೊಮೈನ್ ಒಳಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರುವುದರಿಂದ, ಸಮಯ ನಿರ್ವಹಣೆ ಸುಲಭವಾಗಿದೆ ಮತ್ತು ಸಮಾನತೆ ಸಮಸ್ಯೆಗಳನ್ನು ತಪ್ಪಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ.
ಒಂದು ಸಾಮಾನ್ಯ ಬಳಸುವಿಕೆ ಎಂದರೆ ಸೆನ್ಸರ್ ಡೇಟಾ ಅಕ್ರಮಣ. ಹಲವಾರು ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಒಂದು ಸೆನ್ಸರ್ ಡೇಟಾವನ್ನು ಇನ್ನೊಂದು ಸಾಧನಕ್ಕೆ ಪ್ರಸಾರ ಮಾಡುವ ಸಮಾನ ಸನ್ನಿವೇಶವನ್ನು ನಿಯಂತ್ರಣ ನೀಡುವ ಇಂಟರ್ಫೇಸ್ನ ಹಂಚಿದಾಗಾಗಿ ಹೆಚ್ಚು ವೇಗದಿಂದ ಉತ್ಪಾದಿಸಬಲ್ಲದು.
ಉದಾಹರಣೆಗೆ, FPGA ಒಂದು ಸೆನ್ಸರ್ ನಿಂದ ಡೇಟಾ ಅನ್ನು ವೇಗದ SPI ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಸಂಗ್ರಹಿಸಬಹುದು. ಪ್ರತಿ ಸೆನ್ಸರ್ ಮಾದರಿಯು ಶೀಘ್ರವಾಗಿ ಬರುತ್ತದೆ ಮತ್ತು ಮಾಹಿತಿಯನ್ನು ಕಳೆದುಕೊಳ್ಳದಂತೆ ತಕ್ಷಣವೇ ಸಂಗ್ರಹितವಾಗಬೇಕು. ಈ ಸಮಯದಲ್ಲಿ, ಸಂಗ್ರಹಿತ ಡೇಟಾವನ್ನು ಕಡಿಮೆ ಬೋಡ್ ರೇಟ್ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರುವ UART ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಪ್ರಸಾರ ಮಾಡುವ ಅಗತ್ಯವಿದೆ.
ಐಪಿಎಫ್ ಗಾಗಿ ಸೆನ್ಸರ್ ಡೇಟಾ ಹೊರಡುವಾಗ, ಅದು ನೇರವಾಗಿ FIFO ಗೆ ಬರೆಯಲಾಗುತ್ತದೆ. ನಂತರ ಸಂಗ್ರಹಿತ ಡೇಟಾ UART ಕ್ರಮದ వారಿಯ ವೇಗಕ್ಕೆ ಸಡಿಲವಾಗಿ ಪ್ರಸಾರ ಮಾಡುವಾಗ ಬಫರ್ನಲ್ಲಿ ಕಾಯುತ್ತದೆ. ಡೇಟಾ FIFO ಬಿಟ್ಟುಹೋಯ್ದಾಗ, ಹೊಸ ಸೆನ್ಸರ್ ಮಾದರಿಗಳು ತಾವು ಬಫರ್ ಅನ್ನು ಪ್ರವೇಶಿಸುತ್ತವೆ. ಈ ನಿರಂತರ ಬರೆಯುವ ಮತ್ತು ಓದುವ ಕಾರ್ಯವು ವ್ಯವಸ್ಥೆಯ ಎರಡೂ ಹಂತಗಳನ್ನು ವಿಭಿನ್ನ ಡೇಟಾ ಪ್ರಮಾಣಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಒಂದೇ ಕ್ಲಾಕ್ ಮೂಲದಿಂದ ಸಂಯೋಜಿತವಾಗಿರುತ್ತದೆ.
ಡೇಟಾ ಸಂಗ್ರಹಣೆ ಮತ್ತು ಡೇಟಾ ಪ್ರಸಾರದ ನಡುವಿನ ತಾತ್ಕಾಲಿಕ ವೇಗ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಶೋಷಿಸಿ, ಒಬ್ಬ ಕ್ಲಾಕ್ FIFO ಸ್ಥಿರ ಡೇಟಾ ಹರಿವನ್ನು ಕಾಯ್ದಿರಿಸಲು ಮತ್ತು ಡೇಟಾ ನಷ್ಟವನ್ನು ತಡೆಯಲು ಸಹಾಯಿಸುತ್ತದೆ.
ಡ್ವಲ್ ಕ್ಲಾಕ್ FIFO ಅನ್ನು ಬರೆಯುವ ಬದಿಗೆ ಮತ್ತು ಓದುವ ಬದಿಗೆ ವಿಭಿನ್ನ ಕ್ಲಾಕ್ ಸಂಕೇತಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರುವ ವ್ಯವಸ್ಥೆಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಈ ಪರಿಸ್ಥಿತಿ FPGA ವಿನ್ಯಾಸಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿದೆ ಏಕೆಂದರೆ ಅನೇಕ ಕಾರ್ಯಾತ್ಮಕ ಬ್ಲಾಕ್ಗಳು ವಿಭಿನ್ನ ಫ್ರೆಕ್ವೆನ್ಸಿಗಳಲ್ಲಿ ಮತ್ತು ಟೈಮಿಂಗ್ ಅಗತ್ಯಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.
ಡೇಟಾ ಒಂದು ಕ್ಲಾಕ್ ಡೊಮೈನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಇರಿಸಿಕೊಂಡಾಗ, ನೇರ ಸಂಪರ್ಕಗಳು ಸಮಕಾಲೀಕರಣೆ ಸಮಸ್ಯಗಳನ್ನು ಉಂಟುಮಾಡಬಹುದು. ಡೇಟಾ ತುಂಬಾ ಬೇಗಿಯಾದರೂ, ಬಹಳ ಹಗುರವಾದರೂ ಅಥವಾ ಅಸ್ಥಿರ ಟೈಮಿಂಗ್ ವಿಂಡೋಗಳಲ್ಲಿ ತಲುಪಬಹುದು, ಇದು ಅವಿಶ್ವಾಸಾರ್ಹ ಕಾರ್ಯಾಚರಣೆಗೆ ಹಂಬಲಿಸುತ್ತದೆ.
ಡ್ವಲ್-ಕ್ಲಾಕ್ FIFO ಎರಡೂ ಕ್ಲಾಕ್ ಡೊಮೈನ್ಗಳ ನಡುವಿನ ಸುರಕ್ಷಿತ ಗಡಿ ಒದಗಿಸುತ್ತದೆ. ಬರುವ ಡೇಟಾ ಮೂಲ ಕ್ಲಾಕ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು FIFO ಗೆ ಬರೆಯಲಾಗುತ್ತದೆ. ಒಮ್ಮೆ ಸಂಗ್ರಹಿಸಿದರೆ, ಡೇಟಾ ತನ್ನದೇ ಆದ ಕ್ಲಾಕ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಗಮ್ಯಸ್ಥಾನ ಬದಿ ಓದುತ್ತದೆ. FIFO ಅಗತ್ಯ ಪೂರಕವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಒಳಗೆ ಪರಿವಹಣ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
ಒಂದು ವೀಡಿಯೋ ಪ್ರಕ್ರಿಯಾಪ್ಯಾಕೇಜಿಂಗ್ ವ್ಯವಸ್ಥೆ ಈ ದೃಷ್ಠಾಂತವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಕಮೆರಾ ಒಂದು ಕ್ಲಾಕ್ ಫ್ರೆಕ್ವೆನ್ಸಿ ಬಳಸಿಕೊಂಡು ಚಿತ್ರ ಡೇಟಾವನ್ನು ಸೆರೆಹಿಡಿಯಬಹುದು, ಆದರೆ VGA ನಿಯಂತ್ರಕ ವಿಭಿನ್ನ ಕ್ಲಾಕ್ ಫ್ರೆಕ್ವೆನ್ಸಿ ಬಳಸಿಕೊಂಡು ಚಿತ್ರ ಡೇಟಾವನ್ನು ಹೊರಬರುತ್ತದೆ. ಚಿತ್ರ ಡೇಟಾ ಕ್ಯಾಮೆರಾದಿಂದ ಸ್ಥಿರವಾಗಿ FIFO ಗೆ ಬರೆಯಲಾಗುತ್ತದೆ. ನಂತರ VGA ನಿಯಂತ್ರಕ ದಿನಾಂಕ್ ಔಟ್ಪುಟ್ಗಾಗಿ ಅಗತ್ಯವಿರುವ ದೋಣಿಯಲ್ಲಿ ಸೇವಿಸಿ ಓದುತ್ತದೆ.
ಬರೆಯುವ ಕ್ಲಾಕ್ ಮತ್ತು ಓದುನೋಟ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಸ್ವಾವಲಂಬಿ ಆದ್ದರಿಂದ, FIFO ಎರಡೂ ಟೈಮಿಂಗ್ ವ್ಯವಸ್ಥೆಗಳ ನಡುವೆ ಸೇತುವೆ ಎಂದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಚಿತ್ರ ಡೇಟಾವನ್ನು ಸಮಕಾಲೀಕರಣದ ದೋಷಗಳಿಲ್ಲದೆ ಕ್ಯಾಮೆರಾ ಇಂಟರ್ಫೇಸ್ನಿಂದ ಡಿಸ್ಪ್ಲೇ ಇಂಟರ್ಫೇಸ್ಗೆ ನಿಖರವಾಗಿ ಸಾಗಿಸಲು ಅವಕಾಶ ನೀಡುತ್ತದೆ.
ಈ ಕಾರಣಕ್ಕಾಗಿ, ಡ್ವಲ್-ಕ್ಲಾಕ್ FIFO ಗಳು ಕ್ಲಾಕ್-ಡೊಮೈನ್ ಕ್ರಾಸ್ಝಿಂಗ್, ಉನ್ನತ-ವೇಗದ ಡೇಟಾ ಹಸ್ತಾಂತರ, ವೀಡಿಯೊ ಪ್ರಕ್ರಿಯಾಪ್ರಣಾಳಿಕೆಗಳು, ಸಂವಹನ ಇಂಟರ್ಫೇಸ್ಗಳು ಮತ್ತು ಇತರ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತವೆ, ಅಲ್ಲಿ ಡೇಟಾವನ್ನು ಸ್ವಾವಲಂಬಿ ಟೈಮಿಂಗ್ ವಾತಾವರಣಗಳ ನಡುವೆ ವರ್ಗಾವಣೆ ಮಾಡಬೇಕು.
Altera FPGA ಸಾಧನಗಳು FIFO ಕಾರ್ಯಾತ್ಮಕತೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಹಲವಾರು ಮಾರ್ಗಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ. ಉತ್ತಮ ವಿಧಾನವು ವಿನ್ಯಾಸ ಅವಶ್ಯಕತೆಗಳು, ಅಭಿವೃದ್ಧಿ ವೇಳಾಪಟ್ಟಿಯು ಮತ್ತು ಕಸ್ಟಮೈಸೇಶನ್ ಮಟ್ಟವನ್ನು ಅವಲಂಬಿಸುತ್ತದೆ.
ಹೆಚ್ಚು ಪ್ರಾಜೆಕ್ಟ್ಗಳಲ್ಲಿ, ಗುರಿಯು ಒಂದೆ ಹಾಗೇವಾಗಿರುತ್ತದೆ. ಡೇಟಾವನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಸಂಗ್ರಹಿಸಲು, ವಿಶ್ವಾಸಾರ್ಹವಾಗಿ ವರ್ಗಾವಣೆ ಮಾಡಲು ಮತ್ತು ಅಗತ್ಯ ವೇಗದಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮಾಡಲು ಎರಡು ಕಾರ್ಯಾತ್ಮಕ ಬ್ಲಾಕ್ಗಳ ನಡುವಿನ FIFO ಅನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ. FIFO ಹೇಗೆ ರೂಪಿಸಲಾಗಿದೆ ಮತ್ತು FPGA ವಿನ್ಯಾಸಕ್ಕೆ ಏಕೆ ಅಹಾರಿಸಲಾಗಿದೆ ಎಂಬ ವಿಷಯದಲ್ಲಿ ವ್ಯತ್ಯಾಸವಿದೆ.
Altera FPGA ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಮೂರು ಸಾಮಾನ್ಯ ಕಾರ್ಯಗತಗೊಳಿಸುವ ವಿಧಾನಗಳು ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತವೆ.
ಮೊದಲ ವಿಧಾನವು RTL (ರೆಜಿಸ್ಟರ್ ಟ್ರಾನ್ಸ್ಫರ್ ಲೆವೆಲ್) ಕೋಡ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಫೈಫೋವನ್ನು ನೇರವಾಗಿ ನಿರ್ಮಿಸಲು ಇರುತ್ತದೆ.
ಈ ವಿಧಾನದಲ್ಲಿ, ವಿನ್ಯಾಸಕಾರನು ಸಂಪೂರ್ಣ FIFO ರಚನೆ, ಮೆmoire ಸರಣಿಯನ್ನು, ಓದುವ ಪಾಯಿಂಟರ್, ಬರೆಯುವ ಪಾಯಿಂಟರ್, ಪೂರ್ಣ ಗುರುತಿಸುವ ತಂತ್ರ ಮತ್ತು ಖಾಲಿ ಗುರುತಿಸುವ ತಂತ್ರವನ್ನು ಸೇರಿಸಿಕೊಳ್ಳುತ್ತಾನೆ. FIFO ಕಾರ್ಯಾಚರಣೆಯ ಪ್ರತಿ ಭಾಗವು HDL ಕೋಡ್ನಲ್ಲಿ ಕೈಯಿಂದ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ.
ಈ ವಿಧಾನವು ಅತ್ಯ ಜಾಸ್ತಿ ಸ್ಥಿರತೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. FIFO 깊ತೆ, ಡೇಟಾ ಅಗಲ, ಸ್ಥಿತಿ ಧ್ವಜಗಳು ಮತ್ತು ನಿಯಂತ್ರಣ ಶ್ರೇಣಿಯು ನಿರ್ದಿಷ್ಟ ಅಪ್ಲಿಕೇಶನ್ ಅಗತ್ಯಗಳಿಗೆ ಹೊಂದಿಸಲು ಕಸ್ಟಮೈಸ್ ಆಗಬಹುದು. ನೆಚ್ಚಿನ FIFO ಕಾರ್ಯತಂತ್ರವು ಅಗತ್ಯವಿರುವ ಕಾರ್ಯವಿಧಾನವನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ ಎಂದು ಸಹ ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ.
ಆದರೆ, ಕಚ್ಚಾ ಸ್ಟ್ರುಚರ್ನಿಂದ FIFO ಅನ್ನು ಬೆಳೆಯುವುದು FIFO ವಾಸ್ತುಶಿಲ್ಪ, ಟೈಮಿಂಗ್ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು FPGA ವಿನ್ಯಾಸ ತಂತ್ರಜ್ಞಾನಗಳ ದೃಷ್ಟಿಯಿಂದ ಸಾರ್ಥಕವಾದ ತಿಳುವಳಿಕೆ ಬೇಕಾಗಿದೆ. ಎಲ್ಲಾ ಕಾಲಪಂಚದಲ್ಲಿ ವಿಶ್ವಾಸಾರ್ಹ ಕಾರ್ಯಾಚರಣೆ ದೃಢೀಕರಣಕ್ಕಾಗಿ ಹೆಚ್ಚು ಪರಿಶೀಲನೆ ಮತ್ತು ಪರೀಕ್ಷೆ ಅಗತ್ಯವಿದೆ.
ಈ ಕಾರಣಕ್ಕಾಗಿ, ವಿಶೇಷ ವೈಶಿಷ್ಟ್ಯಗಳು ಅಥವಾ ವಿಶಿಷ್ಟ ಕಾರ್ಯನಿರೀಕ್ಷೆಗಳನ್ನು ಅಗತ್ಯವಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಕಸ್ಟಮ್ FIFO ಅಭಿವೃದ್ಧಿ ಸಾಮಾನ್ಯವಾಗಿ ಮೀಸಲಾಗಿದೆ.
ಎರಡನೇ ವಿಧಾನವು ಓಪನ್-ಸೋರ್ಸ್ ಅಥವಾ ತ್ರಿತೀಯಪಕ್ಷ FIFO IP ಕೋರ್ ಅನ್ನು ಬಳಸುವುದು.
FIFO ಅನ್ನು ಪ್ರಾರಂಭದಿಂದ ವಿನ್ಯಾಸಗೊಳಿಸುವ ಬದಲು, ಹಾಜರ ಇರುವ FIFO ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಯೋಜನೆಯಿವಾಗಿಸಲು ಮತ್ತು ಸುತ್ತಲೂ ಯಾಜಮಾನಿ್ಡು ಸಂಪರ್ಕಿಸಲು ಆಗುತ್ತದೆ. ಮೂಲ ಕೋಡ್ ಸಾಮಾನ್ಯವಾಗಿ ಲಭ್ಯವಿರುವ ಕಾರಣ, ಹೆಚ್ಚಿನ ವೈಶಿಷ್ಟ್ಯಗಳು ಅಥವಾ ಪರಿಷ್ಕಾರಗಳನ್ನು ಅಗತ್ಯವಿರುವಾಗ ವಿನ್ಯಾಸವನ್ನು ಇನ್ನೂ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.
ಈ ವಿಧಾನವು ಅಭಿವೃದ್ಧಿಯ ಸಮಯವನ್ನು ಬಹಳ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. FIFO ವಾಸ್ತುಶಿಲ್ಪದಲ್ಲಿ ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ ಈಗಾಗಲೇ ನಿರ್ಮಿಸಲಾಗಿದೆ, ಪರೀಕ್ಷಿಸಲಾಗಿದೆ ಮತ್ತು ದೃಢೀಕರಿಸಲಾಗಿದೆ, ವಿನ್ಯಾಸಕಾರರು ಇನ್ನುಳಿದಿರುವ ನಿರ್ವಾಹಕ ಮಾಡುವುದರ ಬದಲು ಅಂತಸ್ಥ FIFO ಅಭಿವೃದ್ಧಿಯ ಮೇಲೆ ಮತ್ತು ಸಲಹೆ ಮೇಲೆ ತವಕಿಸದಂತೆ.
ಪ್ರಾಜೆಕ್ಟ್ ಅಗತ್ಯಗಳು ಸಾಮಾನ್ಯ FIFO ನಿಲ್ಲಿಸುವಿಕೆಗಳಿಂದ ಸ್ವಲ್ಪ ಬದಲಾಗಿದಾಗ, ಮೂಲ ಕೋಡ್ ಸಂಪೂರ್ಣ ಹೊಸ FIFO ವಿನ್ಯಾಸವನ್ನು ನಿರ್ವಹಿಸುವುದಿಲ್ಲಿಯಂತೆ ಅಗತ್ಯವಿರುವ ಕಾರ್ಯವಿಧಾನವನ್ನು ಬೆಂಬಲಿಸಲು ಸಂಪಾದಿಸಬಹುದು.
ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ವಿಧಾನವು Quartus II ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಒದಗಿಸುವ FIFO IP ಕೋರ್ಗಳನ್ನು ಬಳಸುವುದು.
Quartus II ನೆನಪಿನಲ್ಲಿ FIFO ರಚನೆಗಳನ್ನು ಬಾಹ್ಯ ಮಾಹಿತಿಗೆ ಒದಗಿಸುತ್ತವೆ, ಇದು FIFO ಸ್ಥೇತಿಗಳನ್ನು ಗ್ರಾಫಿಕಲ್ ಡಿಜೈನ್ ಬಾಹ್ಯ ಮಾಹಿತಿಯ ಮೂಲಕ ಸೃಷ್ಟಿಸಲು ಅವಕಾಶವನ್ನು ನೀಡುತ್ತದೆ. FIFO ಲಾಜಿಕ್ ಅನ್ನು ಕೈಯಿಂದ ಬರೆಯಲಾಗದ ಬದಲು, ವಿನ್ಯಾಸಕಾರನು ಅಗತ್ಯವಿರುವ ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಸೇವೆಗಳನ್ನು ಶ್ರೇಣೀಬದ್ಧವಾಗಿ ಮೊಲೆನು ಮಾಡುತ್ತದೆ.
ಕಾನ್ಫಿಗರೇಶನ್ ಸಂದರ್ಭದಲ್ಲಿ, ಕೆಲ ಪ್ರಮುಖ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ನಿರ್ಧರಿಸಬಹುದು. ಇದರಲ್ಲಿ ಒಳಗೊಂಡಿವೆ:
• FIFO ಪ್ರಕಾರ (ಒಬ್ಬ-ಗಂಟಿ ಅಥವಾ ಇಬ್ಬರು-ಗಂಟಿ)
• ಡೇಟಾ ಅಗಲ
• FIFO ಆಳ
• ಮೆಮರಿ ನಿರ್ವಹಣಾ ಪರ್ಯಾಯಗಳು
• ಸಂಪೂರ್ಣ ಮತ್ತು ಖಾಲಿ ಸ್ಥಿತಿಯ ಸಂಕೇತಗಳು
• ಹತ್ತಿರ ಸಂಪೂರ್ಣ ಮತ್ತು ಹತ್ತಿರ ಖಾಲಿ ದಾಟಿಕೆಗಳು
• ಓದುವ ಮತ್ತು ಬರೆಯುವ ಗಂಟಿಯ ಸೆಟ್ಟಿಂಗ್ಗಳು
ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ ನಂತರ, Quartus II FIFO ಫೈಲ್ಗಳು ಮತ್ತು FPGA ಡಿಸೈನ್ಗಾಗಿ ಅಗತ್ಯವಿರುವ ಬೆಂಬಲಿತ ಲಾಜಿಕ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.
FIFO ಕಾನ್ಫಿಗರೇಶನ್ ಮುಗಿದ ನಂತರ, Quartus II ಆಯ್ಕೆ ಮಾಡಲಾದ Altera FPGA ಸಾಧನಕ್ಕಾಗಿ ಸ್ವಚ್ಛಂದವಾಗಿ ಸುಧಾರಿತ ಕಾರ್ಯನಿರ್ವಹಣೆಯನ್ನು ರಚಿಸುತ್ತದೆ.
ಉತ್ಪಾದಿತ FIFO ಅನ್ನು ಸುತ್ತಲೂ ಲಾಜಿಕ್ಗಳಿಗೆ ನೇರವಾಗಿ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಬರುತ್ತಿರುವ ಡೇಟಾವನ್ನು ಬರೆಯುವ ಇಂಟರ್ಫೇಸ್ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತದೆ, ಹೊರಹೊಮ್ಮುತ್ತಿರುವ ಡೇಟಾವನ್ನು ಓದುತ್ತಿರುವ ಇಂಟರ್ಫೇಸ್ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಸ್ಥಿತಿಯ ಸಂಕೇತಗಳನ್ನು ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಡೇಟಾ ಹರಿವನ್ನು ನಿರ್ವಹಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.
ಉತ್ಪಾದಿತ ವಿನ್ಯಾಸವು ಗುರಿ FPGA ರಚನೆಗೆ ಸುಧಾರಿತವಾಗಿರ ಕಾರಣ, ಸಂಪತ್ತಿನ ಉಪಯೋಗವು ಸಾಮಾನ್ಯವಾಗಾಗಿ ಕೈಯಿಲ್ಲದ ವಿನ್ಯಾಸಗಳಿಗಿಂತ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ. ಡಿಸೈನ್, ಪ್ರಮಾಣೀಕರಣ ಮತ್ತು ಮುಂದೀಕರಣದ ಕೆಲಸವನ್ನು ಸಾಫ್ಟ್ವೇರ್ ಸ್ವಚ್ಛಂದವಾಗಿ ನಿರ್ವಹಿಸುವುದರಿಂದ ಅಭಿವೃದ್ಧಿ ಸಮಯವೂ ಕಮ್ಮಿಯಾಗುತ್ತದೆ.
ಹೆಚ್ಚಿನ FPGA ಯೋಜನೆಗಳಿಗಾಗಿ, Quartus II FIFO IP ಕೋರ್ ವಿಶ್ವಾಸಾರ್ಹ FIFO ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸಲು ವೇಗದ ಮತ್ತು ಸರಳ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ ಅಂದರೆ FPGA ಸಂಪತ್ತಿನ ಪರಿಣಾಮಕಾರಿ ಉಪಯೋಗವನ್ನು ಕಾಯ್ದುಕೊಳ್ಳುತ್ತದೆ.
FIFO ಡೇಟಾವನ್ನು ಸೂಕ್ತವಾಗಿ ಹೂಡಲು, ಹಸ್ತಾಂತರದ ಹಾರಸನ್ನು ಹೊಂದಿಸಲು ಮತ್ತು ವಿಭಿನ್ನ ಸಿಸ್ಟಮ್ ಘಟಕಗಳ ನಡುವೆ ಸಂವಹನವನ್ನು ಬೆಂಬಲಿಸಲು ಸರಳ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ. FIFO ತಂತ್ರಾಂಶಗಳನ್ನು, ಸ್ಥಿತಿಯ ಸಂಕೇತಗಳನ್ನು, ಸಮಕಾಲಿಕ ಮತ್ತು ಸದಾಕಾಲಿಕ ಕಾರ್ಯವಿಧಾನಗಳು ಹಾಗೂ ಕಾರ್ಯ ನಿರ್ವಹಣಾ ವಿಧಾನಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡು, ವಿನ್ಯಾಸಗಾರರು ಡೇಟಾ ಅಪಮಾನವನ್ನು ಸುಧಾರಿಸಬಹುದು, ಹೂಡಿಕೆಯನ್ನು ತಡೆಹಿಡಿಯಬಹುದು, ಮತ್ತು ಹೆಚ್ಚಿನ ಪರಿಣಾಮಕಾರಿ ಡಿಜಿಟಲ್ ಸಿಸ್ಟಮ್ಗಳನ್ನು ಕಟ್ಟಬಹುದು.
FIFO ಬಫರ್ಗಳು ಡೇಟಾ ಉತ್ಪಾದಿಸುತ್ತಿರುವ ಮತ್ತು ಡೇಟಾ ಬಳಸು ಮಾಡುತ್ತಿರುವ ಪರಿಭಾಷೆಗಳನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಸಂಗ್ರಹಿಸುತ್ತವೆ. ಒಂದು ಸಾಧನವು ಇನ್ನೊಂದಕ್ಕಿಂತ ವೇಗವಾಗಿ ಡೇಟಾ ಉತ್ಪಾದಿಸುವಾಗ, FIFO ಬರುತ್ತಿರುವ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ ಮತ್ತು ಸ್ವೀಕೃತ ಸಾಧನವು ಸಿದ್ಧವಾದಾಗ ಬಿಡುಗಡೆ ಮಾಡುತ್ತದೆ. ಇದು ಡೇಟಾ ಕಳೆದುಕೊಳ್ಳುವದನ್ನು ತಡೆಯುತ್ತದೆ, ವ್ಯವಸ್ಥೆಯ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ, ಮತ್ತು ಇಬ್ಬರು ವೃತ್ತಿಗಳು ಆದ್ಯತೆ ಹೊಂದಿಲ್ಲದೇ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಅನುಕೂಲವಾಗುತ್ತದೆ.
ಸದಾಕಾಲಿಕ FIFOಗಳು ಬರೆಯುವ ಮತ್ತು ಓದುವ ಕಾರ್ಯಗಳಿಂದ ಬೇರೆ ಬೇರೆ ಘಂಟೆಗಳನ್ನು ಬಳಸುತ್ತವೆ, ಇದು ಸ್ವಾಯತ್ತ ಘಂಟಾ ಕ್ಷೇತ್ರಗಳ ನಡುವಣ ಡೇಟಾ ಸುಲಭವಾಗಿ ಚಲಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ವಿವಿಧ ತರಂಗ ದ್ರತ್ನಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರುವ ಪರಿಭಾಷೆಗಳನ್ನು ನೇರವಾಗಿ ಸಂಪರ್ಕಿಸುವಾಗ ಉಂಟಾಗುವ ಸಮಯ ಮತ್ತು ಸಮಾಲೋಚನಾ ಸಮಸ್ಯೆಗಳನ್ನು ಹಾಯಿಸುವವು. ಫಲವಾಗಿ, ಸದಾಕಾಲಿಕ FIFOಗಳು ಸಂವಹನ ಇಂಟರ್ಫೇಟುಗಳು, ವಿಡಿಯೋ ವ್ಯವಸ್ಥೆಗಳು, ಪ್ರೊಸೆಸರ್ಗಳು ಮತ್ತು ಮೆಮೊರಿ ನಿಯಂತ್ರಕಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತವೆ.
FIFO ಸ್ಥಿತಿಯ ಸಂಕೇತಗಳು ಬಫರ್ ಬಳಕೆಯ ಬಗ್ಗೆ ಯಥಾಸ್ಥಿತಿಯಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತವೆ. ಸಂಪೂರ್ಣ ಮತ್ತು ಹತ್ತಿರ ಸಂಪೂರ್ಣ ಫ್ಲಾಗ್ಗಳು ಸಂಗ್ರಹಣಾ ಸ್ಥಳವು ಕಳಚುತ್ತಿದೆ ಎಂಬುದನ್ನು ಹ("^ಕಟ್ಟುಗೊಳಿಸುತ್ತವೆ, ಏಕೆಂದರೆ ಖಾಲಿ ಮತ್ತು ಹತ್ತಿರ ಖಾಲಿ ಫ್ಲಾಗ್ಗಳು ಕಡಿಮೆ ಅಥವಾ ಯಾವುದೇ ಡೇಟಾ ಲಭ್ಯವಿಲ್ಲ ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತವೆ. ಈ ಸಂಕೇತಗಳು ದೋಷಗಳು ನಡೆಯುವ ಪ್ರತಿಯೊಲಹೋಗಲು ಡೇಟಾ ಹರಾವಳಿಯನ್ನು ಹೊಂದಲು ನಿರ್ವಹಿಸುವ ಲಾಜಿಕ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತವೆ, ಇದು ಡೇಟಾ ಅರ್ಥವಿಲ್ಲ ಮತ್ತು ಸ್ಥಿರ ವ್ಯವಸ್ಥೆಯ ಕಾರ್ಯನಿರ್ವಹಣೆಯನ್ನು ಕಾಪಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ವಿಡಿಯೋ ವ್ಯವಸ್ಥೆಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಕ್ಯಾಮೆರಾ ಮತ್ತು ಪ್ರದರ್ಶನ ನಿಯಂತ್ರಕಗಳು వంటి ವಿಭಜಿತ ಘಂಟಾ ವೆಗಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಡ್ಯುಅಲ್-ಕ್ಲಾಕ್ FIFO ಒಂದು ಘಂಟಾದಿಂದ ಬರುವ ಚಿತ್ರ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ ಮತ್ತು ಮತ್ತೊಂದು ಘಂಟಾದಿಂದ ಓದುತ್ತಾನೆ. ಇದು ಇಬ್ಬರು ಸಮಯ ಕ್ಷೇತ್ರಗಳ ನಡುವಣ ವಿಶ್ವಾಸಾರ್ಹ ಸೇತುವೆಯನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ ಮತ್ತು ಸಮಾಲೋಚನಾ ದೋಷಗಳು ಅಥವಾ ಡೇಟಾ ಕ corrupção್ ಹೊಡೆಯುತ್ತಿಲ್ಲ.
Quartus II FIFO IP ಕೋರ್ಗಳು ಬಳಕೆದಾರರ ನಿರ್ಧಾರಿತ ಸೆಟ್ಟಿಂಗ್ಗಳಾಧಾರಿತ ಸುಧಾರಿತ FIFO ಲಾಜಿಕ್ ಅನ್ನು ಸ್ವಚ್ಛಂದವಾಗಿ ಉತ್ಪಾದಿಸುವ ಮೂಲಕ ಅಭಿವೃದ್ಧಿಯನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತವೆ, ಸಮಯ, ಅಗಲ, ಗಂಟಾ ಪ್ರಕಾರ ಮತ್ತು ಸ್ಥಿತಿಯ ಸಂಕೇತಗಳು. ಇದು ವಿನ್ಯಾಸ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ, ಪ್ರಮಾಣೀಕರಣ ಪ್ರಯತ್ನವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಕೈಯ ಲೇಖನ ವಿನ್ಯಾಸಗಳಿಗಿಂತ ಉತ್ತಮ ಸಂಪತ್ತಿನ ಬಳಸುವಿಕೆಯನ್ನು ಒದಗಿಸುತ್ತವೆ, ಇದು ಹೆಚ್ಚಿನ FPGA ಯೋಜನೆಗಳಿಗಾಗಿ ಮುಖ್ಯವಾದ ಪರಿಹಾರವಾಗಿದೆ.
2024/07/29
2024/08/28
2024/10/6
2024/07/4
2024/04/22
2025/09/20
2024/07/15
2023/12/28
2024/11/15
2025/09/15









