Chào các bác, cho em hỏi tí về 2 vấn đề trong VHDL compiler của MAX+PLUS II (hơi cơ bản,các bác thông cảm):
+ thứ nhất là không hiểu sao mà vòng while và câu wait em ko bao giờ thực hiện được. Ct của em như sau:
library ieee;
use ieee.std_logic_1164.all;
entity test is
port(clk: in std_logic;
y: out std_logic);
end test;
architecture bhv of test is
begin
process(clk)
begin
while clk='0' loop
NULL;
end loop;
end process;
end bhv;
Nó cứ báo lỗi là: Unsupport feature error.
+thứ hai là cái hàm conv_std_logic_vector(),đoạn code như sau:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
entity led_8_notok is
port(
clk: in bit;
led: out std_logic_vector(0 to 7));
end led_8_notok;
architecture bhv of led_8_notok is
begin
process(clk)
variable vector: integer:=1;
begin
if (clk'event and clk='1') then
vector:=vector*2;
led<= conv_std_logic_vector(vector,8);
else NULL;
end if;
end process;
end bhv;
nó không chịu convert mà cứ báo warning, không import node vào file Waveform được (em nghĩ là do không convert được nên mọi flipflop của led đều bị “stuck at GND”)
Nếu ở chỗ hàm đó thay bằng câu : led<=conv_std_logic_verctor(7,8) thì nó vẫn convert đúng.
Mong các cao thủ giải đáp giúp em, em cám ơn nhiều.
+ thứ nhất là không hiểu sao mà vòng while và câu wait em ko bao giờ thực hiện được. Ct của em như sau:
library ieee;
use ieee.std_logic_1164.all;
entity test is
port(clk: in std_logic;
y: out std_logic);
end test;
architecture bhv of test is
begin
process(clk)
begin
while clk='0' loop
NULL;
end loop;
end process;
end bhv;
Nó cứ báo lỗi là: Unsupport feature error.
+thứ hai là cái hàm conv_std_logic_vector(),đoạn code như sau:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
entity led_8_notok is
port(
clk: in bit;
led: out std_logic_vector(0 to 7));
end led_8_notok;
architecture bhv of led_8_notok is
begin
process(clk)
variable vector: integer:=1;
begin
if (clk'event and clk='1') then
vector:=vector*2;
led<= conv_std_logic_vector(vector,8);
else NULL;
end if;
end process;
end bhv;
nó không chịu convert mà cứ báo warning, không import node vào file Waveform được (em nghĩ là do không convert được nên mọi flipflop của led đều bị “stuck at GND”)
Nếu ở chỗ hàm đó thay bằng câu : led<=conv_std_logic_verctor(7,8) thì nó vẫn convert đúng.
Mong các cao thủ giải đáp giúp em, em cám ơn nhiều.
Comment