VHDL cơ bản 4: Cấu trúc của một chương trình VHDL part3

Thảo luận trong 'VHDL CĂN BẢN' bắt đầu bởi Lu ROm, 28 Tháng mười 2015.

Chia sẻ trang này

Lượt xem: 3,636

  1. Lu ROm

    By:Lu ROmin: 28 Tháng mười 2015
    Administrator Staff Member

    Tham gia ngày:
    25 Tháng bảy 2014
    Bài viết:
    475
    Đã được thích:
    102
    Phần 1: part 1
    Phần 2: part 2
    - Sau đây mình xin tiếp tục phần 3: phần mô tả kiến trúc (ARCHITECTURE).
    3. Mô tả kiến trúc (ARCHITECTURE).
    - Mô tả kiến trúc là phần chính của một chương trình ngôn ngữ VHDL. Mô tả kiến trúc quy định cách thức mạch hoạt động, xác định chức năng, và làm thế nào nó được thực thi. Một thực thể hoặc mạch có thể được hoạt động trong nhiều cách khác nhau, chẳng hạn như hành vi, cấu trúc hoặc một sự tổ hợp 2 các trên. Một kiến trúc bao gồm các phần: Khai báo các các tín hiệu, hằng, khai báo các kiểu, các phần tử, tiếp theo là các phát biểu (lệnh) đồng thời.
    - Cú pháp cơ bản như sau:
    Mã:
     architecture architecture_name of NAME_OF_ENTITY is
         -- Declarations
               -- components declarations
               -- signal declarations
               -- constant declarations
               -- function declarations
               -- procedure declarations
               -- type declarations
    :
         begin
         -- Statements
             
    :
         end architecture_name;
    - Các từ khóa luôn luôn có là: architecture, of, is, begin, end.
    - architecture_name: là tên gọi của kiến trúc, thông thường để phân biệt các kiểu mô tả thường dùng các tên behavioral cho mô tả hành vi, dataflow cho mô tả luồng dữ liệu, structure cho mô tả cấu trúc tuy vậy có thể sử dụng một tên gọi hợp lệ bất kỳ nào khác.
    - NAME_OF_ENTITY: Tên của thực thể cần mô tả chức năng.
    - Declarations: có thể có hoặc không chứa các khai báo cho phép như sau:
    + Khai báo module con
    + Khai báo tín hiệu
    + Khai báo hàm, hằng
    + Khai báo thủ tục, kiểu dữ liệu
    - Statements: tập hợp các lệnh gán trong VHDL, quá trình xử lý của mạch cần thiết kế.Chứa các lệnh đồng thời (concurrent statements) hoặc các khối lệnh xử lý chứa tuần tự (sequential statements).

    a, Mô tả kiến trúc theo kiểu behavioral(hành vi)
    - Mô tả hành vi của một mạch cần thiết kế là mức cao nhất của sự trừu tượng trong VHDL. Ở đây, các mạch được mô tả trong điều kiện nó hoạt động đối với thời gian. Thành phần chủ yếu của việc diễn tả theo kiểu hành vi trong VHDL là process. Toàn bộ mô tả hành vi phải được đặt trong một khối quá trình { process (sensitive list) end process;}. Ý nghĩa khi có bất kỳ một sự thay đổi giá trị nào của tín hiệu trong sensitive list thì khối đó sẽ thực hiện quá trình tính toán và cho kết quả tương ứng ở đầu ra.
    - Ví dụ Mô tả hành vi cổng AND như sau:
    Mã:
    entity AND2 is
         port (in1, in2: in std_logic;
               out1: out std_logic);
         end AND2;
    architecture behavioral_2 of AND2 is
    begin
    out1 <= in1 and in2;
         end behavioral_2;
    -- Mô tả hành vi cổng XNOR
    Mã:
    entity XNOR2 is
         port (A, B: in std_logic;
               Z: out std_logic);
         end XNOR2;
    architecture behavioral_xnor of XNOR2 is
         -- signal declaration (of internal signals X, Y)
         signal X, Y: std_logic;
    begin
    X <= A and B;
    Y <= (not A) and (not B);
    Z <= X or Y;
         End behavioral_xnor;
    - Các câu lệnh trong mô tả kiến trúc sử dụng các toán tử logic. Tử logic được phép là: and,or, nand, nor, xor, xnor not. Ngoài ra, có thể sử dụng các loại toán tử khác bao gồm: quan hệ( if - else), shift, arithmetic...
    Còn tiếp... minion_duck