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

» WEBBOARD

ต้องการใช้ Library ieee.numeric_std.all ใน Maxplus 2 ทำไงครับ

ผมลองเขียนโปรแกรมขึ้นมาง่ายๆเพื่อทดลองใช้ Library คือ ieee.numeric_std.all ใน Maxplus 2 แต่ว่าผมทำการคอมไพล์แล้วโปรแกรมบอกว่า ไม่รู้จัก ไลบารี โดยต้องทำการเพิ่มลงไป แต่ผมไม่ทราบว่าจะอินพุทไลบารีลงไปอย่างไร ช่วยด้วยนะครับ และข้างล่างนี่คือโคดที่ผมลองคอมไพล์นะครับ
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity FIFO is
generic(
PROP_DELAY: Time := 5 ns;
WIDTH: Integer := 8;
DEPTH: Integer := 300;
SEL_LENGTH: Integer := 5
);
port( FIFO_CLK_24MHz : in std_logic;
FIFO_CLK_9600Hz: in std_logic;
FIFO_ENABLE : in std_logic;
FIFO_RESET : in std_logic;
TX_EN : out std_logic;
FIFO_INPUT : in std_logic_vector(WIDTH-1 downto 0);
FIFO_OUTPUT : out std_logic_vector(WIDTH- 1 downto 0)
);
end FIFO;

architecture rtl of FIFO is

type FIFO_Array is array (DEPTH-1 downto 0) of
std_logic_vector (WIDTH-1 downto 0);

signal tmp_FIFO : FIFO_Array;
signal FIFO_RX_Counter : integer;
signal FIFO_TX_Counter : integer;
signal output_delay : integer;

begin
process(FIFO_CLK_24MHz, FIFO_ENABLE, FIFO_RESET)
begin
if rising_edge (FIFO_CLK_24MHz) then
-- Reset the FIFO_MEMORY
if (FIFO_RESET = '1') then
tmp_FIFO <= (others => (others => '0'));
FIFO_RX_Counter <= 0;
-- Write to MEMORY
elsif FIFO_ENABLE = '1' then
tmp_FIFO(FIFO_RX_COUNTER) <= FIFO_INPUT;
if (FIFO_RX_COUNTER = 299) then
FIFO_RX_COUNTER <= 0;
ELSE
FIFO_RX_COUNTER<= FIFO_RX_COUNTER + 1;
End if;

end if;
end if;
end process;

-- Send to TX
process(FIFO_CLK_9600Hz, FIFO_RESET)
begin
if rising_edge (FIFO_CLK_9600Hz) then
if (FIFO_RESET = '1') then
FIFO_TX_Counter <= 0;
output_delay <= 15;
end if;
-- Send to ATX
if FIFO_RX_COUNTER > FIFO_TX_COUNTER then
if output_delay = 15 then
FIFO_OUTPUT <= tmp_FIFO(FIFO_TX_COUNTER);
output_delay <= output_delay - 1;
elsif output_delay = 14 then
TX_EN <= '1';
output_delay <= output_delay - 1;
elsif output_delay = 0 then
if (FIFO_TX_COUNTER = 299) then
FIFO_TX_COUNTER <= 0;
ELSE
FIFO_TX_COUNTER<= FIFO_TX_COUNTER + 1;
end if;
output_delay <= 15;
else
TX_EN <= '0';
output_delay <= output_delay - 1;
end if;


else
FIFO_OUTPUT <= "00000000";
end if;
end if;
end process;

end rtl;

จากคุณ : Kitti ตั้งกระทู้นี้เมื่อ 21:43 [05/06/2004]

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

ใน MAX+ II ไม่มี library numeric ครับ ผมเคยเอา File ของ library นี้จากโปรแกรม Reonado มาลองใส่ใน library ของ max+ II ก็ไม่ได้เหมือนกัน

จากคุณ : AAA 16:17 [10/06/2004]

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

ผมก็ใส่ไฟล์ library นี้ลงไปแล้วเหมือนกันแต่ก็ไม่ได้เช่นกัน แต่ผมเอาไฟล์นี้มาจากโปรแกรมของ Xilinx (Modelsim)
ถ้าอย่างไรแล้วขอให้พี่พี่สตาฟของ
Astron logic ช่วยตอบทีสิครับ

จากคุณ : KIK 18:58 [10/06/2004]

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

ใช่ใช่พี่พี่ช่วยตอบที

จากคุณ : DBZ 19:03 [10/06/2004]

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

หา ieee.numeric_std ไม่ได้อ่าค่า

ช่วยหน่อยนะคะ ทุกคน

ขอบคุณล่วงหน้าค่า

ต้องทำโปรเจ็คอ่าค่า

จากคุณ : farmhouse 17:35 [15/07/2008]

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

โค้ดข้างต้นสามารถใช้ QuartusII v7.2 คอมไพล์ผ่านได้ครับ

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







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