ID bài viết: 000077247 Loại nội dung: Xử lý sự cố Lần duyệt cuối: 28/08/2007

Tại sao phần mềm Quartus II chuyển đổi chân hai chiều của tôi thành chân chỉ đầu ra?

Môi Trường

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Mô tả

Phần mềm Quartus® II phiên bản 6.0 và sau này tổng hợp tín hiệu định hướng VHDL nghiêm ngặt hơn. Vì nó thực thi các quy tắc VHDL, phần mềm Quartus II chuyển đổi bộ đệm hai chiều được mã hóa không chính xác thành các chân đầu ra.

Ví dụ: nếu bạn thực hiện bộ đệm hai chiều như được hiển thị trong mã sau, phần mềm Quartus II tổng hợp một chân đầu ra (bắt đầu với phiên bản 6.0).

process(mdio_out,mdio_oe)
begin
    if (mdio_oe = '1') then
        mac_mdio <= mdio_out;
    else
        mac_mdio <= 'Z';
    end if
end process;

mdio_oe <= NOT(mdio_oe_n);
test_out <= mac_mdio and test;
mii_mdio <= mac_mdio;

Nếu mac_mdio là tín hiệu và mii_mdio là cổng hai chiều, tác vụ cuối cùng trên là định hướng. Như được viết, dữ liệu không thể chảy từ dữ liệu mii_mdio đến mac_mdio. Bắt đầu với phiên bản 6.0, phần mềm Quartus II thực thi bản chất định hướng của tác vụ VHDL này bằng cách chèn bộ đệm giữa mac_mdio và mii_mdio. Bộ đệm này xuất hiện trong RTL Viewer dưới dạng bộ đệm định hướng trong chuỗi với bộ đệm ba trạng thái và chân hai chiều dự định (mii_mdio) được tổng hợp là đầu ra duy nhất.

Các phiên bản trước đó của phần mềm Quartus II không thực thi bản chất định hướng của các loại bài tập này, tổng hợp mã trên dưới dạng chân hai chiều.

Để tuân theo tiêu chuẩn VHDL, hãy xóa tuyên bố chuyển nhượng tín hiệu cuối cùng trong ví dụ trên và ghi mã như sau:

process(mdio_out,mdio_oe)
begin
    if (mdio_oe = '1') then
        mii_mdio <= mdio_out;
    else
        mii_mdio <= 'Z';
    end if;
end process;

mdio_oe <= NOT(mdio_oe_n);
test_out <= mii_mdio and test;

Các sản phẩm liên quan

Bài viết này áp dụng cho 1 sản phẩm

Thiết bị có thể lập trình Intel®

Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.