VHDL: Bộ đếm

author-image

Bởi

VHDL: Bộ đếm hành vi

Ví dụ này thực hiện bộ đếm hành vi với các tính năng tải, rõ ràng và lên/xuống. Nó chưa được tối ưu hóa cho một kiến trúc thiết bị cụ thể, vì vậy hiệu suất có thể thay đổi. Intel® FPGA khuyến nghị sử dụng chức năng lpm_counter để triển khai bộ đếm (xem VHDL: Bộ đếm ngược). Ví dụ này được cung cấp để hiển thị triển khai bộ đếm không yêu cầu LPM.

Để biết thêm thông tin về việc sử dụng ví dụ này trong dự án của bạn, hãy truy cập:

counters.vhd

BỘ ĐẾM TỔ
    CHỨC IS       PORT( D:    TRONG PHẠM VI SỐ NGUYÊN 0 ĐẾN 255;     clk: TÍNH    BẰNG BIT;
        xóa:   TÍNH    BẰNG BIT;
        tải:    TÍNH    BIT;
        up_down: TÍNH    BẰNG BIT;      qd: PHẠM VI SỐ NGUYÊN NGOÀI   0 ĐẾN 255);
Bộ đếm cuối;

KIẾN TRÚC A OF counters IS BEGIN - MỘT QUÁ TRÌNH bộ đếm
    lên/xuống
    (clk) VARIABLE cnt: PHẠM VI SỐ    NGUYÊN       0 ĐẾN 255;
         Hướng    THAY ĐỔI: SỐ NGUYÊN;
    BẮT
        ĐẦU NẾU (up_down = '1') THEN  --Tạo hướng bộ đếm
            lên/xuống := 1;
            Hướng
                ELSE:= -1;
        KẾT THÚC NẾU;
            NẾU (clk'EVENT VÀ clk = '1') THÌ
                IF (tải = '1') THÌ         --Tạo cnt có thể tải 
                    được := d;                --bộ đếm. Đưa các 
                    ELSE                     --lines này ra ngoài để tăng hiệu suất.
                    cnt:= cnt + hướng; 
                 KẾT THÚC NẾU;
                --Các dòng sau sẽ tạo ra một đồng bộ --clear trên bộ đếm IF (rõ ràng
                  = '0') SAU ĐÓ     
                     cnt:= 0;
                  KẾT THÚC NẾU;
             KẾT THÚC NẾU;
    qd <= cnt;   --Tạo ra đầu ra
    QUÁ TRÌNH KẾT THÚC;
KẾT THÚC a;

Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.