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;