CONTACT | TEL : 02-728-3440, EMAIL : SALES@ASTRONLOGIC.COM
ASTRON LOGIC RESEARCH AND DEVELOPMENT CO.,LTD.

» WEBBOARD

ตัวแปรแบบ std_logic_vector

ผมจะบวกค่าตัวแปรแบบ std_logic_vector ได้อย่างไรโปรแกรมตามข้างล่าง MAX+plus II ฟ้อง error ครับ

library ieee;
use ieee.std_logic_1164.all;
entity counter is
port(clk:in std_logic;c_out:out std_logic_vector(0 to 3));
end counter;
architecture a of counter is
begin
process(clk)
variable count : std_logic_vector(0 to 3);
begin
if clk'EVENT and clk = '1' then
count := count +1;
end if;
c_out<=count;
end process;
end a;

รบกวนละครับ

จากคุณ : อยากใช้เป็น ตั้งกระทู้นี้เมื่อ 18:09 [06/01/2002]

ความคิดเห็นที่1

ยินดีรับใช้ครับ คุณ อยากใช้เป็น วิธีแก้ไข เราจะทำการบวกตัวแปรแบบ std_loic_vector แบบใน code ที่คุณให้มาไม่ได้นะครับ ถ้าหากจะต้องมีการบวกหรือลบ สมควรที่จะประกาศตัวแปรแบบ integer เมือบวกหรือลบเสร็จก็ค่อย convert จาก integer มาเป็น std_logic_vector โดยใช้ funtion CONV_STD_LOGIC_VECTOR (ตัวแปรทีจะconvert , จำนวณ bit) โดยที่ function นี้จะอยู่ใน package ieee.std_logic_arith.all แก้ไขตาม code ข้างล่างนะครับ

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
entity counter is
port(clk:in std_logic;c_out:out std_logic_vector(0 to 3));
end counter;
architecture a of counter is
begin
process(clk)
variable count : integer range 0 to 15;
begin
if clk'EVENT and clk = '1' then
count := count +1;
end if;
c_out<=CONV_STD_LOGIC_VECTOR(count,4);
end process;
end a;

ขอให้สนุกกับการเขียน VHDL ครับ

จากคุณ : support@astronlogic.com 11:54 [07/01/2002]
ร่วมด้วยช่วยกันตอบครับ
ชื่อ :
E-Mail :
คำตอบ :







คลิกเพื่อแทรกรูป