Dấu trừ đầy đủ là gì: Xây dựng bằng Cổng logic

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Nói chung, dấu trừ đầy đủ là một trong những công cụ được sử dụng nhiều nhất và mạch logic tổ hợp thiết yếu . Nó là một thiết bị điện tử cơ bản, dùng để thực hiện phép trừ hai số nhị phân. Trong phần trước, chúng tôi đã đưa ra lý thuyết cơ bản về một nửa bộ cộng & một bộ cộng đầy đủ sử dụng các chữ số nhị phân để tính toán. Tương tự như vậy, bộ trừ đầy đủ sử dụng các chữ số nhị phân như 0,1 cho phép trừ. Mạch này có thể được xây dựng với các cổng logic như cổng OR, Ex-OR, NAND. Các đầu vào của bộ trừ này là A, B, Bin và đầu ra là D, Bout.

Bài viết này đưa ra ý tưởng về lý thuyết bộ trừ đầy đủ bao gồm các tiền đề như bộ trừ là gì, thiết kế với cổng logic, bảng chân trị, v.v. Bài viết này hữu ích cho sinh viên kỹ thuật có thể xem qua các chủ đề này trong phòng thí nghiệm Thực hành HDL.




Dấu trừ là gì?

Phép trừ các chữ số nhị phân có thể được thực hiện với sự trợ giúp của mạch trừ. Đây là một loại mạch logic tổ hợp, được sử dụng để thực hiện phép trừ hai chữ số nhị phân như 0 và 1s. Phép trừ các chữ số nhị phân từ 0 đến 0 hoặc 0 đến 1 không làm thay đổi kết quả, phép trừ 1 đến 1 sẽ cho kết quả là 0 nhưng phép trừ từ 1 đến 0 cần mượn.

Ví dụ, mạch trừ hai bit bao gồm hai đầu vào như A & B trong khi các đầu ra là sự khác biệt và vay mượn. Mạch này có thể được xây dựng với các bộ cộng cùng với các bộ nghịch lưu được đặt giữa mọi đầu vào dữ liệu cũng như đầu vào mượn (Thùng) của giai đoạn trước của FA.



Phép trừ được phân thành hai loại như bộ trừ một nửa và bộ trừ đầy đủ. Ở đây chúng ta đang thảo luận về bộ trừ đầy đủ.

Dấu trừ đầy đủ là gì?

Nó là một thiết bị điện tử hoặc mạch logic thực hiện phép trừ hai chữ số nhị phân. Nó là một mạch logic tổ hợp được sử dụng trong điện tử kỹ thuật số. Nhiều mạch tổ hợp có sẵn trong công nghệ mạch tích hợp cụ thể là bộ cộng, bộ mã hóa, bộ giải mã và bộ ghép kênh. Trong bài viết này, chúng ta sẽ thảo luận về cách xây dựng của nó bằng cách sử dụng dấu trừ một nửa và các thuật ngữ như bảng sự thật.


Dấu trừ đầy đủ

Dấu trừ đầy đủ

Việc thiết kế điều này có thể được thực hiện bởi hai phép trừ một nửa, bao gồm ba đầu vào như minuend, subtrahend và vay, bit vay trong số các đầu vào thu được từ phép trừ hai chữ số nhị phân và được trừ từ cặp bậc cao hơn tiếp theo của bit, kết quả đầu ra là chênh lệch và vay mượn.

Các sơ đồ khối bộ trừ đầy đủ được hiển thị bên dưới. Nhược điểm quan trọng nhất của bộ trừ một nửa là, chúng ta không thể tạo bit Vay trong bộ trừ này. Trong khi đó trong thiết kế của nó, thực sự chúng ta có thể tạo một bit Vay trong mạch và có thể trừ với hai i / ps còn lại. Ở đây A là minuend, B là subtrahend & Bin là vay vào. Các kết quả đầu ra là Chênh lệch (Diff) & Bout (Vay ra). Mạch bộ trừ hoàn chỉnh có thể có được bằng cách sử dụng hai nửa bộ trừ với một cổng OR phụ.

Sơ đồ khối dấu trừ đầy đủ

Sơ đồ mạch dấu trừ đầy đủ với cổng logic

Các sơ đồ mạch của bộ trừ đầy đủ sử dụng cổng cơ bản s được hiển thị trong sơ đồ khối sau. Mạch này có thể được thực hiện với hai mạch nửa Trừ.

Trong mạch Half-Subtractor ban đầu, các đầu vào nhị phân là A và B. Như chúng ta đã thảo luận trong phần nửa Subtractor trước đó, nó sẽ tạo ra hai đầu ra là chênh lệch (Diff) & Mượn.

Dấu trừ đầy đủ sử dụng Cổng logic

Dấu trừ đầy đủ sử dụng Cổng logic

Sự khác biệt o / p của bộ trừ bên trái được trao cho nửa bên trái của mạch Bộ trừ. Đầu ra khác biệt được cung cấp thêm cho đầu vào của mạch Dấu trừ nửa bên phải. Chúng tôi đã cung cấp Khoản vay trên một chút so với i / p khác của một nửa mạch trừ . Một lần nữa, nó sẽ cung cấp cho Diff ra cũng như vay một chút. Đầu ra cuối cùng của bộ trừ này là đầu ra Diff.

Mặt khác, Borrow ra khỏi cả hai nửa mạch Subtractor được kết nối với cổng logic OR. Sau khi đưa ra logic HOẶC cho hai bit đầu ra của bộ trừ, chúng ta thu được Mượn cuối cùng từ bộ trừ. Khoản vay cuối cùng để biểu thị MSB (một bit quan trọng nhất).

Nếu chúng ta quan sát mạch bên trong của nó, chúng ta có thể thấy hai Half Subtractors có cổng NAND và cổng XOR với cổng OR phụ.

Bảng sự thật dấu trừ đầy đủ

Điều này mạch trừ thực hiện phép trừ giữa hai bit có 3 đầu vào (A, B và Bin) và hai đầu ra (D và Bout). Ở đây các đầu vào biểu thị khoản vay tối thiểu, kỳ hạn phụ và khoản vay trước đó, trong khi hai đầu ra được biểu thị là khoản vay và chênh lệch. Hình ảnh sau đây cho thấy bảng chân trị của phép trừ đầy đủ.

Đầu vào

Kết quả đầu ra

Minuend (A)

Subtrahend (B) Vay (Thùng) Sự khác biệt (D)

Vay (Bout)

0

000

0

0

0111
0101

1

0110

1

1

0010
1010

0

1

1000

1

111

1

Bản đồ K

Sự đơn giản hóa của bản đồ K-bộ trừ đầy đủ cho sự khác biệt trên và vay được hiển thị bên dưới.

K- Bản đồ cho sự khác biệt

Các phương trình cho sự khác biệt cũng như Bin được đề cập dưới đây.

K- Bản đồ cho Bout

Biểu thức cho Sự khác biệt là,

D = A’B’Bin + AB’Bin ’+ A’BBin’ + ABBin

Biểu thức cho Vay là,

Bout = A’Bin + A’B + BBin

Xếp tầng của đầy đủ mạch dấu trừ

Trước đây, chúng ta đã thảo luận tổng quan về vấn đề này như cấu tạo, sơ đồ mạch với các cổng logic. Nhưng nếu chúng ta muốn trừ hai số khác 1 bit, mạch trừ này rất hữu ích để ghép các số bit đơn và cũng trừ nhiều hơn hai số nhị phân. Trong những trường hợp như vậy, một mạch xếp tầng bộ cộng đầy đủ được sử dụng với sự trợ giúp của cổng logic NOT. Việc chuyển đổi mạch từ bộ cộng đầy đủ sang bộ trừ đầy đủ có thể được thực hiện bằng kỹ thuật bổ sung 2’s.

Nói chung, đảo các đầu vào chuyển tiếp phụ cho bộ cộng đầy đủ bằng cách sử dụng cổng NOT, nếu không, một biến tần. Bằng cách thêm Minuend này (đầu vào không đảo ngược) & Subtrahend (Đầu vào đảo ngược), LSB (đầu vào mang) của mạch FA là 1, có nghĩa là Logic Cao, nếu không, chúng tôi trừ hai chữ số nhị phân bằng kỹ thuật bổ sung 2. Đầu ra của FA là bit Diff & nếu chúng ta đảo ngược quá trình thực hiện thì chúng ta có thể lấy MSB nếu không thì bit Borrow. Trên thực tế, chúng ta có thể thiết kế mạch để có thể quan sát được đầu ra.

Mã Verilog

Đối với phần mã hóa, trước tiên, chúng ta cần kiểm tra cách cấu trúc mô hình của sơ đồ mạch logic. Sơ đồ logic này có thể được xây dựng bằng cách sử dụng cổng AND, các mạch trừ một nửa và sự kết hợp của các cổng logic như cổng AND, OR, NOT, XOR. Như trong mô hình cấu trúc, chúng tôi giải thích các mô-đun khác nhau cho mọi sắp xếp nguyên tố cơ bản. Trong đoạn mã sau, các mô-đun khác nhau có thể được xác định cho mọi cổng.

Mô-đun này dành cho cổng OR.

ĐẦU VÀO: a0, b0

ĐẦU RA: c0

Cuối cùng, chúng tôi sẽ hợp nhất các mô-đun chính xác cổng này thành một mô-đun duy nhất. Vì vậy, ở đây chúng tôi sử dụng việc khởi tạo mô-đun. Bây giờ việc khởi tạo này có thể được sử dụng khi chúng ta muốn sao chép một mô-đun hoặc chức năng chính xác cho các bộ đầu vào đa dạng. Đầu tiên, chúng tôi thiết kế một bộ trừ một nửa sau đó mô-đun này được sử dụng để triển khai một bộ trừ đầy đủ. Để thực hiện điều này, chúng tôi sử dụng cổng OR để kết hợp o / ps cho biến Bout. Các mã xác minh cho dấu trừ đầy đủ được hiển thị bên dưới

mô-đun or_gate (a0, b0, c0)

đầu vào a0, b0

đầu ra c0

gán c0 = a0 | b0

endmodule

mô-đun xor_gate (a1, b1, c1)

đầu vào a1, b1

đầu ra c1

gán c1 = a1 ^ b1

endmodule

mô-đun and_gate (a2, b2, c2)

đầu vào a2, b2

đầu ra c2

gán c2 = a2 & b2

endmodule

mô-đun not_gate (a3, b3)

đầu vào a3

đầu ra b3

gán b3 = ~ a3

endmodule

module half_subtractor (a4, b4, c4, d4)

đầu vào a4, b4

đầu ra c4, d4

dây x

xor_gate u1 (a4, b4, c4)

and_gate u2 (x, b4, d4)

not_gate u3 (a4, x)

endmodule

module full_subtractor (A, B, Bin, D, Bout)

đầu vào A, B, Bin

đầu ra D, Bout

dây p, q, r

Half_subtractor u4 (A, B, p, q)

Half_subtractor u5 (p, Bin, D, r)

or_gate u6 (q, r, Bout)

endmodule

Dấu trừ đầy đủ sử dụng Bộ ghép kênh 4X1

Việc thực hiện phép trừ có thể được thực hiện thông qua phương pháp bổ sung hai. Vì vậy, chúng tôi yêu cầu sử dụng cổng 1-XOR được sử dụng để đảo ngược 1-bit & bao gồm một cổng vào bit mang. Đầu ra của DIFFERENCE tương tự như đầu ra SUM trong mạch bộ cộng đầy đủ tuy nhiên BARROW o / p không giống với đầu ra mang của bộ cộng đầy đủ tuy nhiên nó được đảo ngược cũng như được khen ngợi, như A - B = A + (-B) = A + hai phần bù của B.

Thiết kế của điều này bằng cách sử dụng bộ ghép kênh 4X1 được thể hiện trong sơ đồ logic sau. Thiết kế này có thể được thực hiện bằng các bước sau.

Bộ ghép kênh 4X1

Bộ ghép kênh 4X1

  • Trong bước 1, có hai đầu ra như Sub và Borrow. Vì vậy chúng ta phải chọn 2 bộ ghép kênh.
  • Trong bước 2, bảng sự thật có thể được triển khai cùng với bản đồ K
  • Trong bước 3, hai biến có thể được chọn làm dòng chọn của bạn. Ví dụ, B & C nằm trong trường hợp này.

Bảng sự thật

Các bảng sự thật của bộ trừ đầy đủ mạch sử dụng bộ ghép kênh 4X1 bao gồm những điều sau

ĐẾN

B C Phụ

Vay

0

0000
0011

1

0101

1

0

1101
1001

0

1

0100
1100

0

1

111

1

Dấu trừ đầy đủ sử dụng Bộ giải mã

Việc thiết kế một bộ trừ đầy đủ sử dụng 3-8 bộ giải mã có thể được thực hiện bằng cách sử dụng các đầu ra thấp đang hoạt động. Giả sử bộ giải mã hoạt động bằng cách sử dụng sơ đồ logic sau. Bộ giải mã bao gồm ba đầu vào trong 3-8 bộ giải mã. Dựa trên bảng sự thật, chúng ta có thể viết các minterms cho các kết quả đầu ra của sự khác biệt & đi vay.

Từ bảng sự thật trên,

Đối với các hàm khác nhau trong bảng chân trị, các minterms có thể được viết là 1,2,4,7 và tương tự, đối với các hàm mượn, các minterms có thể được viết là 1,2,3,7. Bộ giải mã 3-8 bao gồm ba đầu vào cũng như 8 đầu ra lik0 đến 7 số.

Bộ giải mã 3 đến 8

Bộ giải mã 3 đến 8

Nếu đầu vào của bộ trừ là 000, thì đầu ra ‘0’ sẽ hoạt động và nếu đầu vào là 001, thì đầu ra ‘1’ sẽ hoạt động.

Bây giờ các đầu ra của bộ trừ có thể được lấy từ 1, 2, 4 & 7 để kết nối nó với cổng NAND, khi đó đầu ra sẽ là sự khác biệt. Các đầu ra này có thể được kết nối với các cổng logic NAND khác nơi đầu ra thay đổi thành đầu mượn.

Ví dụ, nếu đầu vào là 001, thì đầu ra sẽ là 1 có nghĩa là nó đang hoạt động. Vì vậy, đầu ra hoạt động ở mức thấp và đầu ra có thể nhận được từ cổng NAND được gọi là hàm khác biệt như hàm cao và hàm vay cũng thay đổi thành cao. Do đó chúng tôi nhận được đầu ra ưu tiên. Vì vậy, cuối cùng, bộ giải mã hoạt động giống như một bộ trừ đầy đủ.

Ưu điểm và nhược điểm

Các ưu điểm của bộ trừ bao gồm những điều sau đây.

  • Việc thiết kế bộ trừ rất đơn giản cũng như thực hiện
  • Khấu trừ điện trong DSP (xử lý tín hiệu kỹ thuật số)
  • Các tác vụ tính toán có thể được thực hiện với tốc độ cao.

Các nhược điểm của bộ trừ bao gồm những điều sau đây.

  • Trong bộ trừ một nửa, không có điều kiện để chấp nhận đầu vào giống như Vay từ giai đoạn trước đó.
  • Tốc độ bộ trừ có thể là một phần thông qua độ trễ trong mạch.

Các ứng dụng

Một số ứng dụng của bộ trừ đầy đủ bao gồm những thứ sau

  • Chúng thường được sử dụng cho ALU (Đơn vị logic số học) trong máy tính để trừ làm CPU & GPU cho các ứng dụng đồ họa để giảm độ khó của mạch.
  • Dấu trừ chủ yếu được sử dụng để thực hiện các chức năng số học như phép trừ, trong máy tính điện tử cũng như các thiết bị kỹ thuật số.
  • Những điều này cũng áp dụng cho các bộ vi điều khiển khác nhau cho phép trừ số học, bộ đếm thời gian và bộ đếm chương trình (PC)
  • Dấu trừ được sử dụng trong bộ xử lý để tính toán các bảng, địa chỉ, v.v.
  • Nó cũng hữu ích cho DSP và các hệ thống dựa trên mạng.
  • Chúng được sử dụng chủ yếu cho ALU trong máy tính để trừ như CPU ​​& GPU cho các ứng dụng đồ họa nhằm giảm độ phức tạp của mạch.
  • Chúng chủ yếu được sử dụng để thực hiện các chức năng số học như phép trừ trong các thiết bị kỹ thuật số, máy tính, v.v.
  • Các bộ trừ này cũng thích hợp cho các bộ vi điều khiển khác nhau cho bộ định thời, PC (bộ đếm chương trình) & phép trừ số học
  • Chúng được sử dụng cho các bộ xử lý để tính toán địa chỉ, bảng, v.v.
  • Việc thực hiện điều này với các cổng logic như NAND & NOR có thể được thực hiện với bất kỳ mạch logic bộ trừ đầy đủ nào bởi vì cả hai cổng NOR & NAND đều được gọi là cổng chung.

Từ thông tin trên, bằng cách đánh giá bộ cộng, bộ trừ đầy đủ sử dụng hai mạch bộ trừ nửa và các dạng bảng của nó, người ta có thể nhận thấy rằng Dout trong bộ trừ đầy đủ chính xác giống với Sout của bộ cộng đầy đủ. Biến thể duy nhất là A (biến đầu vào) được bổ sung trong bộ trừ đầy đủ. Do đó, có thể thay đổi mạch bộ cộng đầy đủ thành bộ trừ đầy đủ bằng cách bổ sung i / p A trước khi nó được cấp cho các cổng logic để tạo ra đầu ra bit vay cuối cùng (Bout).

Bằng cách sử dụng bất kỳ mạch logic bộ trừ đầy đủ nào, bộ trừ đầy đủ sử dụng cổng NAND và bộ trừ đầy đủ sử dụng cổng cũng không có thể được thực hiện, vì cả cổng NAND và NOR đều được coi là cổng chung. Đây là một câu hỏi dành cho bạn, sự khác biệt giữa bộ trừ một nửa và bộ trừ đầy đủ là gì?