VHDL: ตัวนับ

author-image

โดย

VHDL: ตัวนับพฤติกรรม

ตัวอย่างนี้ปรับใช้ตัวนับพฤติกรรมที่มีคุณสมบัติโหลด ชัดเจน และขึ้น/ลง ซึ่งยังไม่ได้รับการปรับแต่งสําหรับสถาปัตยกรรมอุปกรณ์เฉพาะ ดังนั้นประสิทธิภาพอาจแตกต่างกันไป Intel® FPGAแนะนําให้ใช้ฟังก์ชัน lpm_counter เพื่อปรับใช้ตัวนับ (ดู VHDL: Down Counter) ตัวอย่างนี้จัดทําขึ้นเพื่อแสดงการปรับใช้ตัวนับที่ไม่จําเป็นต้องใช้ LPM

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ตัวอย่างนี้ในโครงการของคุณ ให้ไปที่:

เคาน์เตอร์.vhd

ตัวนับ ENTITY IS
    PORT(   
        d :    INTEGER RANGE 0 ถึง 255;
        clk     : IN    BIT;
        ชัดเจน   : IN    BIT;
        โหลด    : IN    BIT;
        up_down : IN    BIT;
        qd      : OUT   INTEGER RANGE 0 ถึง 255);
ตัวนับ END;

ARCHITECTURE a OF counters
IS BEGIN
    -- ตัวแปรตัวแปรกระบวนการแบบ up/down
    (clk)
         :       INTEGER RANGE 0 ถึง 255;
         ทิศทางผันแปร    : INTEGER;
    BEGIN
        IF (up_down = '1') แล้ว  --Generate up/down counter
            direction := 1;
            ทิศทางอื่น
                := -1;
        สิ้นสุดถ้า;
            IF (clk'EVENT AND clk = '1') THEN
                IF (โหลด = '1') แล้ว         --Generateable 
                    cnt := d;                --เคาน์เตอร์ จัดการ 
                    ด้านอื่นๆ เหล่านี้                     เพื่อเพิ่มประสิทธิภาพ
                    cnt := cnt + direction; 
                 สิ้นสุดถ้า;
                --บรรทัดต่อไปนี้จะสร้างซิงโครนัส 
                --clear บนเคาน์เตอร์
                  IF (clear = '0') แล้ว     
                     cnt := 0;
                  สิ้นสุดถ้า;
             สิ้นสุดถ้า;
    qd <= cnt;   --สร้างเอาต์พุต
    END PROCESS;
สิ้นสุด a;

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้