Chuyển mã VHDL vào mạch

Một phần của tài liệu SỬ DỤNG NGÔN NGỮ VHDL XÂY DỰNG CHUYỂN MẠCH KHÔNG GIAN ĐƠN GIẢN (Trang 36 - 39)

Một bộ cộng đầy đủ được mô tả trong hình dưới đây:

Hình 2.2.a. Sơ đồ tổng quát về bộ cộng đầy đủ

Trong đó, a, b là các bit vào cho bộ cộng, cin là bit nhớ. Đầu ra s là bit tổng,

Chương 2: Tìm hiểu ngôn ngữ VHDL 24

Hình 2.2.b. Bảng chân lý của bộ cộng đầy đủ

Bit s và cout được tính như sau:

s = abcincout = a.b + a.cin + b.cin

Từ công thức tính s và cout ta viết đoạn mã VHDL như dưới đây:

Hình 2.3. Mã thiết kế bộ cộng

Từ mã VHDL này, mạch vật lý được tạo ra. Tuy nhiên có nhiều cách để thực

hiện phương trình được miêu tả trong ARCHITECTURE OF, vì vậy mạch thực tế

sẽ phụ thuộc vào bộ biên dịch/bộ tối ưu đang được sử dụng và đặc biệt phụ thuộc

mục đích công nghệ. Hình vẽ sau đây thể hiện một số dạng kiến trúc của mạch

Chương 2: Tìm hiểu ngôn ngữ VHDL 25

Hình 2.4.a. Các ví dụ về sơ đồ mạch có thể có ứng với mã như hình 2.3 Trong trường hợp này, nếu mục đích công nghệ của chúng ta là thiết bị logic có thê lập trình được (PLD, FPGA), thì 2 kết quả cho cout thoả mãn là ở hình (b) và hình (c) (cout = a.b + a.cin + b.cin ). Còn nếu mục đích công nghệ là ASIC, thì chúng ta có thể sử dụng hình (d). Hình (d) sử dụng công nghệ CMOS với các tầng

transistor và các mặt nạ phủ.

Bất cứ một cái mạch nào được tao ra từ mã, thì những thao tác của nó sẽ luôn

luôn được kiểm tra ở mức thiết kế, như ta đã chỉ ra ở hình 1. Tất nhiên, chúng ta cũng có thể kiểm tra nó ở tầng vật lý, nhưng sau đó những thay đổi là rất tai hại.

Hình dưới đây là mô phỏng kết quả của đoạn chương trình đã viết ở trên cho mạch bộ cộng đầy đủ ở hình 2.3.

Chương 2: Tìm hiểu ngôn ngữ VHDL 26

Hình 2.4.b: Kết quả mô phỏng bộ cộng được thiết kế theo hình 2.3

Một phần của tài liệu SỬ DỤNG NGÔN NGỮ VHDL XÂY DỰNG CHUYỂN MẠCH KHÔNG GIAN ĐƠN GIẢN (Trang 36 - 39)