Thiết kế mức RTL của một bộ đệm FIFO không đồng bộ.

RTL Modeling of a Dual-Clock Asynchronous FIFO 


This Post Has 4 Comments

  1. Mình không hiểu yêu cầu thiết kế FIFO của bạn như vậy để làm gì?
    FIFO thường được thiết kế để làm bộ đệm trung gian truyền thông giữa 2 đơn vị không hoạt động ở cùng tốc độ. Do đó, bản thân FIFO không tự ghi dữ liệu vào hoặc đọc dữ liệu ra tự nó. Các tín hiệu ghi dữ liệu vào FIFO và đọc dữ liệu ra khỏi FIFO phải do các đơn vị bên ngoài FIFO tạo ra. Chẳng hạn đơn vị A muốn ghi vào FIFO nó phải giám sát trạng thái tín hiệu báo Full của FIFO, nếu FIFO chưa đầy thì nó tạo ra tổ hợp tín hiệu điều khiển ghi dữ liệu vào FIFO. Ngược lại, đơn vị B nếu muốn đọc dữ liệu từ FIFO nó phải giám sát trạng thái tín hiệu báo Empty của FIFO, nếu FIFO có dữ liệu thì nó tạo ra tổ hợp tín hiệu điều khiển đọc dữ liệu từ FIFO.

  2. chuechcon

    chào a !
    Tôi muốn thiết kế một fifo thỏa mãn các yêu cầu sau:
    Độ rộng data 16 bit.
    Độ sâu fifo là n.
    bắt đầu nạp đến khi số data trong fifo là 8 ( hay fifo full ) thì xung đọc bắt đầu được đọc cho đến khi hết data trong fifo.
    Vậy mô tả trong vhdl ntn dùng tín hiệu nào để điều khiển xung đọc như mong muốn.

    1. Mình không hiểu yêu cầu thiết kế FIFO của bạn như vậy để làm gì?
      FIFO thường được thiết kế để làm bộ đệm trung gian truyền thông giữa 2 đơn vị không hoạt động ở cùng tốc độ. Do đó, bản thân FIFO không tự ghi dữ liệu vào hoặc đọc dữ liệu ra tự nó. Các tín hiệu ghi dữ liệu vào FIFO và đọc dữ liệu ra khỏi FIFO phải do các đơn vị bên ngoài FIFO tạo ra. Chẳng hạn đơn vị A muốn ghi vào FIFO nó phải giám sát trạng thái tín hiệu báo Full của FIFO, nếu FIFO chưa đầy thì nó tạo ra tổ hợp tín hiệu điều khiển ghi dữ liệu vào FIFO. Ngược lại, đơn vị B nếu muốn đọc dữ liệu từ FIFO nó phải giám sát trạng thái tín hiệu báo Empty của FIFO, nếu FIFO có dữ liệu thì nó tạo ra tổ hợp tín hiệu điều khiển đọc dữ liệu từ FIFO.

Trả lời