VHDL: Tạo một thiết kế phân cấp

author-image

Bởi

Ví dụ này mô tả cách tạo thiết kế phân cấp bằng VHDL. Thiết kế cấp cao nhất, được gọi là top.vhd, triển khai một phiên bản của logic.vhd chức năng. Trong tệp top.vhd, một thành phần của hàm logic được khai báo bên trong kiến trúc mà nó được lập tức. Tuyên bố thành phần định nghĩa các cổng của hàm cấp thấp hơn.

Liên kết liên quan

Để biết thêm thông tin về việc sử dụng ví dụ này trong dự án của bạn, hãy tham khảo phần Cách sử dụng các ví dụ VHDL trên trang web VHDL.

top.vhd (Tập tin cấp cao nhất)

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY top IS
      PORT(w_in, x_in, y_in :IN std_logic;
               clock        :IN std_logic;
               z_out        :OUT std_logic);
END top;

ARCHITECTURE a OF top IS

COMPONENT logic
        PORT(a,b,c    :IN std_logic;
              x       :OUT std_logic);
END COMPONENT;

SIGNAL w_reg, x_reg, y_reg, z_reg   :std_logic;

BEGIN
low_logic       : logic PORT MAP (a => w_reg, b => x_reg, c => y_reg, x => z_reg);

PROCESS(clock)
BEGIN
     IF (clock'event AND clock='1') THEN
         w_reg<=w_in; x_reg<=x_in; y_reg<=y_in; z_out<=z_reg; END IF; END PROCESS; END a; </PRE>

logic.vhd

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY logic IS
      PORT(a,b,c     : IN std_logic;
             x       : OUT std_logic);
END logic;

ARCHITECTURE a OF logic IS
BEGIN
PROCESS (a,b,c)
BEGIN
     x<=(a and b) or c; END PROCESS; END; </pre>

 

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.