những gì sai trong này plz mã VHDL giúp tôi

G

grittinjames

Guest
hai người bạn
i am nhận được một lỗi như thế này

Wt là vấn đề chính xác trong này, làm thế nào tôi có thể giải quyết nàyERROR: Xst: 827 - D: / VHDL / myfreq / count.vhd dòng 27: Tín hiệu aa không thể được tổng hợp, mô tả xấu đồng bộ.
ERROR: XST thất bạithư viện IEEE;
IEEE.STD_LOGIC_1164.ALL sử dụng;
IEEE.STD_LOGIC_ARITH.ALL sử dụng;
IEEE.STD_LOGIC_UNSIGNED.ALL sử dụng;

- Uncomment các dòng sau để sử dụng các tờ khai được
- Instantiating Xilinx cung cấp cho các thành phần nguyên thủy.
- thư viện UNISIM;
- sử dụng UNISIM.VComponents.all;

thực thể đếm được
Port (hrz: in std_logic;
msr: in std_logic;
disp: out std_logic_vector downto 6 (0);
sel: out std_logic_vector downto 2 (0);
muxfreq: in std_logic;
oflo: out std_logic);
cuối count;

kiến trúc của hành vi tính là

tín hiệu dsp: std_logic_vector (6 downto 0);
tín hiệu, aa, b, bb, c, cc: std_logic_vector (3 downto 0);

bắt đầu

quá trình (hrz, msr)

biến i: integer: = 0;

bắt đầu

nếu (rising_edge (hrz)) sau đó
a <= aa;
b <= bb;
c <= cc;
aa <= "0000";
bb <= "0000";
cc <= "0000";
oflo <= '0 ';
elsif (rising_edge (msr)) sau đó
aa <= aa "0.001";
if (aa = "1001") sau đó
bb <= bb "0.001";
if (bb = "1001") sau đó
cc <= cc "0.001";
khác
oflo <= '1 ';
nếu kết thúc;
nếu kết thúc;
nếu kết thúc;
kết thúc quá trình;
end Behavioral;
 
Đây là mã chính xác!
Vấn đề là bạn không thể có được Flipflop với hai đồng hồ!
VHDL là HDL có nghĩa là ngôn ngữ mô tả phần cứng có nghĩa là lần đầu tiên
nghĩ rằng sau đó sử dụng phần cứng VHDL chỉ để desribe nó!
Mã số:

thư viện IEEE;

IEEE.STD_LOGIC_1164.ALL sử dụng;

IEEE.STD_LOGIC_ARITH.ALL sử dụng;

IEEE.STD_LOGIC_UNSIGNED.ALL sử dụng;- Uncomment các dòng sau để sử dụng các tờ khai được

- Instantiating Xilinx cung cấp cho các thành phần nguyên thủy.

- thư viện UNISIM;

- sử dụng UNISIM.VComponents.all;thực thể đếm được

cổng (hrz: in std_logic;

msr: in std_logic;

disp: out std_logic_vector downto 6 (0);

sel: out std_logic_vector downto 2 (0);

muxfreq: in std_logic;

oflo: out std_logic);

cuối count;kiến trúc của hành vi tính làtín hiệu dsp: std_logic_vector (6 downto 0);

tín hiệu, aa, b, bb, c, cc: std_logic_vector (3 downto 0);bắt đầuquá trình (hrz, msr)biến i: integer: = 0;bắt đầunếu (hrz) sau đó

a <= "0000";

b <= "0000";

c <= "0000";

aa <= "0000";

bb <= "0000";

cc <= "0000";

oflo <= '0 ';

elsif (rising_edge (msr)) sau đó

aa <= aa "0.001";

if (aa = "1001") sau đó

bb <= bb "0.001";

if (bb = "1001") sau đó

cc <= cc "0.001";

khác

oflo <= '1 ';

nếu kết thúc;

nếu kết thúc;

nếu kết thúc;

kết thúc quá trình;

end Behavioral;
 
Hiện không có vẻ được bất cứ điều gì sai với mã của bạn.Vấn đề có thể được XST.

Tôi đã chạy vào instaces nơi mà tôi đã phải chỉ định một giá trị tín hiệu nội bộ trước khi tiến trình.Cho rằng một thử và thấy.

Chỉ cần nhớ rằng trong trường hợp các công cụ miễn phí các bạn đôi khi có được những gì bạn phải trả cho.XST là một công cụ tốt, nhưng nó vẫn có những khoảnh khắc của nó, nơi nó cho thấy rằng nó không phải là trong các giải đấu tương tự như nói Symplify.

E

 
partical mẫu chỉ có thể được tổng hợp đến logic ...hãy tham khảo hướng dẫn sử dụng các công cụ tổng hợp của bạn ...
Như thế nào

 

Welcome to EDABoard.com

Sponsor

Back
Top