Chuyển đến nội dung
AIOTAIOT
  • Trang chủ
  • Giới thiệu
  • Tin tức
  • Sản phẩm
  • Giải pháp
    • Chấm công bằng Face ID
    • Thiết bị đọc căn cước
    • IoT trong giáo dục
    • IoT trong quản lý năng lượng
    • IoT trong y tế
  • Đào tạo
    • Khóa đào tạo cơ bản
      • Hệ thống nhúng
      • LabVIEW FPGA
      • Phần cứng máy tính & Truyền thông công nghiệp
      • FPGA cơ bản
    • Khóa đào tạo nâng cao
      • LabVIEW FPGA High Performance
    • Tài liệu
  • PCCC
  • Liên hệ
  • icon
    097 186 8316    |    0839 799 889
Đào tạo, FPGA cơ bản, Khóa đào tạo cơ bản

BÀI 4.1: CẤU TRÚC ENTITY & ARCHITECTURE – “CÁI VỎ” VÀ “CÁI RUỘT” CỦA MẠCH

Đã đăng trên 26/01/202625/01/2026 bởi ThaoNguyen
26
Th1

MODULE 4: VHDL – VIẾT “BẢN VẼ” CHO PHẦN CỨNG

Chào bạn! Rất vui được tiếp tục đồng hành cùng bạn trên con đường trở thành “kiến trúc sư phần cứng”. Sau khi đã hiểu về quy trình thiết kế và bộ công cụ ở Module 3, hôm nay chúng ta sẽ thực sự bắt tay vào việc “vẽ” mạch điện bằng ngôn ngữ chuyên nghiệp: VHDL.

1. Giới thiệu

Chào mừng bạn đến với chương học về ngôn ngữ VHDL. Đến thời điểm này, bạn đã quen với việc tư duy về các cổng logic và bảng sự thật. Tuy nhiên, để thiết kế một hệ thống lớn như bộ xử lý tín hiệu trên chip Artix-7 XC7A100T, chúng ta không thể vẽ tay hàng triệu cổng kết nối. Thay vào đó, chúng ta sử dụng VHDL để mô tả mạch điện.

Bài học này sẽ giới thiệu cho bạn hai thành phần bắt buộc và quan trọng nhất của mọi file VHDL: Entity và Architecture. Đây là cách mà các kỹ sư vi mạch trên thế giới quản lý sự phức tạp. Trong công nghiệp, một hệ thống điều khiển robot hay một bộ xử lý ảnh đều được chia nhỏ thành các khối “vỏ và ruột” như thế này. Việc nắm vững cấu trúc này giúp bạn ánh xạ chính xác những gì mình viết trong mã nguồn tới các linh kiện vật lý (như Switch và LED) trên bo mạch AIOT-ARTIX7. Hãy nhớ rằng: chúng ta không viết phần mềm để “chạy”, chúng ta viết “bản vẽ” để chip FPGA tự kết nối phần cứng bên trong.

2. Nội dung chính

2.1. VHDL là gì? – Không phải là lập trình, mà là “mô tả”

Trước khi đi vào chi tiết, bạn cần nhớ kỹ: VHDL (VHSIC Hardware Description Language) là ngôn ngữ mô tả phần cứng. Sự khác biệt nằm ở tư duy:

  • Trong C/C++: Bạn viết: “Làm việc A, rồi làm việc B”. Đây là tư duy tuần tự.
  • Trong VHDL: Bạn viết: “Dây A nối vào cổng này, dây B nối vào đèn kia”. Đây là tư duy cấu trúc vật lý.

2.2. Entity (Thực thể) – “Cái vỏ” chứa các cổng kết nối

Hãy tưởng tượng bạn mua một chiếc hộp đen có các chân cắm thò ra ngoài. Bạn chưa cần biết bên trong hộp có gì, bạn chỉ cần biết chân nào là đầu vào (Input) và chân nào là đầu ra (Output). Đó chính là Entity.

  • Vai trò: Định nghĩa giao tiếp của mạch điện với thế giới bên ngoài.
  • Các thành phần chính:
    • Name: Tên của khối mạch (ví dụ: Dieu_Khien_LED).
    • Port: Danh sách các “chân cắm”.
    • Direction: Hướng của tín hiệu (in là đi vào chip từ Switch, out là đi ra từ chip đến LED).
  • Gắn với bo AIOT-ARTIX7: Khi bạn khai báo một port mang tên SW1 với hướng là in, Vivado sẽ hiểu rằng đây là tín hiệu nhận từ công tắc gạt vật lý trên bo mạch thông qua file ràng buộc chân (XDC).

2.3. Architecture (Kiến trúc) – “Cái ruột” chứa logic xử lý

Nếu Entity là cái vỏ hộp, thì Architecture chính là sơ đồ đi dây chằng chịt bên trong cái hộp đó để tạo ra chức năng thực tế.

  • Vai trò: Mô tả cách mạch điện hoạt động hoặc cách các linh kiện nhỏ bên trong được kết nối với nhau.
  • Cấu trúc: Architecture luôn phải đi kèm với một Entity cụ thể. Nó bắt đầu bằng từ khóa begin và kết thúc bằng end.
  • Tư duy song song: Mọi dòng lệnh bên trong Architecture (phần concurrent) đều diễn ra cùng một lúc. Nếu bạn viết 10 dòng lệnh gán tín hiệu, khi có điện, cả 10 luồng điện sẽ chảy đồng thời, không có dòng nào phải đợi dòng nào.

2.4. Ví dụ trực quan: Chiếc Tivi

Để dễ hiểu hơn, hãy so sánh một khối VHDL với chiếc Tivi trong nhà bạn:

  • Entity (Cái vỏ): Là khung nhựa của Tivi với các cổng cắm HDMI, cổng Anten, và màn hình. Bạn biết cổng HDMI là để đưa tín hiệu vào, màn hình là để đưa hình ảnh ra.
  • Architecture (Cái ruột): Là các bảng mạch, chip xử lý hình ảnh và loa bên trong. Nó quy định rằng: “Nếu tín hiệu vào từ HDMI là phim hành động, thì Architecture sẽ điều khiển màn hình hiển thị màu sắc và loa phát ra tiếng nổ”.

2.5. Cấu trúc một đoạn mã VHDL cơ bản trên AIOT-ARTIX7

Dưới đây là cách chúng ta mô tả mạch “Gạt Switch 1 thì LED 1 sáng” trên bo mạch của mình:

— Phần Entity: Khai báo chân cắm

entity Dieu_Khien is

port ( Nut_Gat : in bit;

Den_LED : out bit );

end Dieu_Khien;

 

— Phần Architecture: Nối dây bên trong

architecture RTL of Dieu_Khien is

begin

Den_LED <= Nut_Gat; — Tín hiệu từ nút gạt chảy thẳng vào đèn LED

end RTL;

Lưu ý: Dấu <= trong VHDL có nghĩa là nối dây vật lý, không phải là lệnh gán giá trị biến như trong phần mềm.

3. Tổng kết

  • Entity: Là phần định nghĩa giao tiếp (vỏ), cho biết mạch có những chân cắm nào, hướng vào hay ra.
  • Architecture: Là phần mô tả logic (ruột), quyết định mạch điện thực hiện chức năng gì.
  • Mối quan hệ: Một Entity có thể có nhiều Architecture khác nhau, nhưng một Architecture phải thuộc về một Entity cụ thể.
  • Hardware Mindset: Code VHDL đại diện cho các kết nối vật lý trên chip Artix-7, hoạt động song song và tức thời.

Kiểm tra kiến thức

Hãy cùng kiểm tra lại kiến thức về “khối xây dựng” cơ bản nhất trong VHDL.

  1. Câu 1: Thành phần nào trong mã VHDL dùng để khai báo các chân đầu vào (Input) và đầu ra (Output)?
    A. Architecture
    B. Process
    C. Entity
    D. Component
    Xem đáp án & Giải thích

    Đáp án đúng: C

    Giải thích: Entity đóng vai trò là phần định nghĩa giao diện (Interface), nơi liệt kê tất cả các cổng vào/ra của khối mạch.

  2. Câu 2: Trong VHDL, từ khóa nào dùng để chỉ định một tín hiệu là đầu vào từ thiết bị ngoại vi (như Switch)?
    A. out
    B. in
    C. buffer
    D. link
    Xem đáp án & Giải thích

    Đáp án đúng: B

    Giải thích: Từ khóa in xác định hướng tín hiệu đi vào thực thể, điển hình là tín hiệu từ cảm biến hoặc nút nhấn.

  3. Câu 3: Phát biểu nào sau đây là ĐÚNG về Architecture?
    A. Một file VHDL không cần có Architecture vẫn chạy được.
    B. Architecture là nơi chứa các câu lệnh mô tả logic và kết nối bên trong mạch.
    C. Architecture quy định màu sắc của đèn LED trên bo mạch.
    D. Architecture phải được viết trước Entity.
    Xem đáp án & Giải thích

    Đáp án đúng: B

    Giải thích: Architecture là nơi hiện thực hóa “linh hồn” của thiết kế, mô tả cách các tín hiệu tương tác và xử lý bên trong “vỏ” Entity.

  4. Câu 4: Khi bạn viết lệnh gán tín hiệu trong phần Architecture, các lệnh này sẽ hoạt động như thế nào?
    A. Chạy từng dòng một từ trên xuống dưới.
    B. Chạy dòng lẻ trước, dòng chẵn sau.
    C. Hoạt động song song và đồng thời (ngay khi có thay đổi ở đầu vào).
    D. Chỉ chạy khi người dùng nhấn nút Reset.
    Xem đáp án & Giải thích

    Đáp án đúng: C

    Giải thích: Đây là đặc tính “Concurrent” (đồng thời) của phần cứng. Mạch điện không đợi lệnh, dòng điện chảy qua các cổng logic song song ngay khi có sự thay đổi điện áp đầu vào.

  5. Câu 5: Tại sao chúng ta cần tách biệt Entity và Architecture?
    A. Để làm cho mã nguồn trông dài và chuyên nghiệp hơn.
    B. Để có thể thay đổi thiết kế bên trong (ruột) mà không làm thay đổi cách kết nối bên ngoài (vỏ), giúp tái sử dụng thiết kế dễ dàng.
    C. Vì chip Artix-7 yêu cầu như vậy để tiết kiệm pin.
    D. Để phần mềm Vivado có thể chạy nhanh hơn.
    Xem đáp án & Giải thích

    Đáp án đúng: B

    Giải thích: Tính mô-đun hóa cho phép kỹ sư thay đổi cách thực thi logic bên trong mà không làm ảnh hưởng đến các thành phần khác đang kết nối với “vỏ” của khối đó.

“Bạn đã hiểu về cấu trúc của một ‘khối xây dựng’ trong VHDL! Ở bài học tiếp theo, chúng ta sẽ tìm hiểu về các ‘loại vật liệu’ (kiểu dữ liệu) để đổ vào các chân cắm này nhé.”

Tiếp tục khám phá ngôn ngữ VHDL?

Tiếp theo Bài 4.2: Kiểu dữ liệu và Phép toán trong VHDL →

Mục nhập này đã được đăng trong Đào tạo, FPGA cơ bản, Khóa đào tạo cơ bản và được gắn thẻ FPGA AIOT-ARTIX7.
ThaoNguyen

BÀI 3.3: LÀM QUEN BO MẠCH AIOT-ARTIX7 VÀ PHẦN MỀM VIVADO
BÀI 4.2: CÁC KIỂU DỮ LIỆU CƠ BẢN TRONG VHDL – “CHỌN VẬT LIỆU CHO DÂY DẪN”

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Bài viết mới
  • DỰ ÁN THỰC HÀNH – BỘ ĐIỀU KHIỂN LED ĐA NĂNG (SMART LED CONTROLLER)
  • BÀI 6.3: QUẢN LÝ TÀI NGUYÊN TRÊN i.MX93 – KHI “BỘ NÃO” LÊN TIẾNG
  • BÀI 6.2: UART – CẦU NỐI GIAO TIẾP GIỮA “BRAIN” VÀ “MUSCLE”
  • BÀI 6.1: PWM (ĐIỀU CHẾ ĐỘ RỘNG XUNG) – ĐIỀU KHIỂN ĐỘ SÁNG VÀ TỐC ĐỘ
  • BÀI 5.3: MÁY TRẠNG THÁI (FSM) – TƯ DUY ĐIỀU KHIỂN THÔNG MINH
Danh mục
  • Đào tạo
  • FPGA cơ bản
  • Giải pháp
  • IoT trong giáo dục
  • Khóa đào tạo cơ bản
  • Khóa đào tạo nâng cao
  • LabVIEW FPGA
  • LabVIEW FPGA High Performance
  • Phần cứng máy tính & Truyền thông công nghiệp
  • Sản xuất công nghiệp
  • Thiết bị dịch vụ thông minh
  • Thiết bị đọc căn cước
  • Tin tức

CÔNG TY CỔ PHẦN HỆ THỐNG AIOT

VPGD: Số A21-TT9 Đường Foresa 1 KĐT Xuân Phương, Phường Xuân Phương, Hà Nội.

Địa chỉ kinh doanh: Đường Phú Diễn, Tổ dân phố 18, phường Phú Diễn, Thành phố Hà Nội, Việt Nam

Hotline/Zalo: 097 186 8316 | 0839 799 889

Email: aiot@aiots.vn

VỀ CHÚNG TÔI

Giới thiệu

Sản phẩm

Giải pháp

Đào tạo

Tin tức

QUY ĐỊNH & CHÍNH SÁCH

Chính sách thanh toán

Chính sách vận chuyển

Chính sách bảo hành

Chính sách đổi trả

Chính sách bảo mật

ĐỊA CHỈ VĂN PHÒNG GIAO DỊCH

Copyright 2024 © Bản quyền thuộc về AIOT. Thiết kế bởi Jamina JSC
  • Trang chủ
  • Giới thiệu
  • Tin tức
  • Sản phẩm
  • Giải pháp
    • Chấm công bằng Face ID
    • Thiết bị đọc căn cước
    • IoT trong giáo dục
    • IoT trong quản lý năng lượng
    • IoT trong y tế
  • Đào tạo
    • Khóa đào tạo cơ bản
      • Hệ thống nhúng
      • LabVIEW FPGA
      • Phần cứng máy tính & Truyền thông công nghiệp
      • FPGA cơ bản
    • Khóa đào tạo nâng cao
      • LabVIEW FPGA High Performance
    • Tài liệu
  • PCCC
  • Liên hệ
Zalo
Phone

Đăng nhập

Quên mật khẩu?