Mạch nhân mảng không dấu

Một phần của tài liệu Bài giảng Thiết kế hệ thống VLSI: Phần 2 (Trang 27 - 28)

Các bộ nhân nhanh thường sử dụng các bộ cộng lưu nhớ (CSA: Carry-Save Adder) để tính tổng các tích thành phần. Hình 4.33 minh họa một bộ nhân mảng 44 cho các số không dấu sử dụng một mảng các CSA. Mỗi ô chứa một cổng AND 2-đầu vào tạo thành một tích thành phần và một bộ cộng đầy đủ (CSA) để cộng các tích thành phần vào tổng chung.

Hình 4.33Bộ nhân mảng

119 Hàng đầu tiên chuyển đổi tích thành phần thứ nhất thành dạng dư thừa lưu nhớ (carry- save redundant form). Các hàng tiếp theo sử dụng bộ CSA để cộng các tích thành phần tương ứng với kết quả dư thừa lưu nhớ (carry-save redundant result) thu được từ các hàng trước đó và tạo ra các kết quả dư thừa lưu nhớ mới. N bít đầu ra bậc thấp (least significant) được đưa trực tiếp từ các bộ CSA ra tổng. Các bít đầu ra bậc cao (most significant) tới trong dạng dư thừa lưu nhớ và yêu cầu một bộ cộng truyền nhớ M-bit thực hiện việc chuyển đổi thành dạng số nhị phân thông thường. Trong minh họa, bộ CPA được thực hiện như một bộ cộng chuyển nhớ (bộ cộng mà nhớ của bộ này là đầu vào của bộ kế tiếp). Vì cấu trúc mảng có quy luật, và sử dụng một loại ô duy nhất, do đó dễ dàng thiết kế và thực hiện layout. Giả sử rằng, trong một bộ CSA đầu ra nhớ nhanh hơn đầu ra tổng, khi đó đường quyết định (critical path) được đánh dấu là đường đứt nét trong minh họa. Bộ cộng có thể dễ dàng được thực hiện dạng đường hầm (pipeline) với việc đặt các thanh ghi giữa các hàng. Trong thực tế, các mạch điện được gán cho các khối hình chữ nhật trong quá trình hoạch định vị trí, do đó khối hình bình hành có thể làm lãng phí không gian. Hình 4.34 minh họa bộ cộng đã được ép để hợp với một khối hình chữ nhật.

Thành phần mấu chốt của thiết kế là một bộ CSA thu gọn. Điều này không chỉ có lợi về mặt diện tích mà còn giúp nâng cao chất lượng hoạt động bởi vì nó giúp cho các dây dẫn có độ dài nhỏ hơn và với dung kháng dây thấp hơn. Một thiết kế CSA lý tưởng có các độ trễ nhớ và trễ tổng xấp xỉ bằng nhau, bởi vì sự khác biệt lớn của các độ trễ này sẽ hạn chế chất lượng làm việc. Chú ý rằng, hàng đầu tiên của các bộ CSA cộng tích thành phần đầu tiên với một cặp 0. Điều này cho phép tạo ra một cấu trúc thông thường tuy nhiên không hiệu quả. Với sự trả giá một chút về cấu trúc thông thường mong muốn, hàng đầu tiên của các bộ CSA có thể được sử dụng để cộng ba tích thành phần đầu tiên với nhau. Bằng cách này, số lượng các hàng được giảm đi 2 và tương ứng làm giảm trễ lan truyền của các bộ cộng. Cũng có thể thực hiện việc sử dụng hàng đầu tiên của các bộ CSA để cộng một hoặc hai đầu vào khác mà không tạo ra thêm trễ. Chẳng hạn, các chíp xử lý tín hiệu số thường đưa ra các đơn vị nhân tích lũy (MAC: Multiply-accumulate unit) thực hiện hàm Y=A*B+C một thao tác mấu chốt cho các bộ lọc và các phép chuyển đổi. Một cách khác để cải tiến chất lượng hoạt động mảng bộ nhân là thay thế hàng cuối cùng với một CPA nhanh hơn chẳng hạn như một bộ cộng cây (tree adder). Nói tóm lại, đường quyết định của một bộ nhân mảng liên quan đến N-2 bộ CSA và một bộ CPA.

Bộ CSA là một mạch bất đối xứng: một số đầu vào nhất định có nhiều cố gắng lô-gic (logic effort: một khái niệm được đưa ra để đánh giá trễ trong các mạch CMOS) hơn các đầu vào khác. Bộ nhân có thể được thiết kế sao cho đầu ra tổng (với effort lô-gíc lớn hơn) kéo theo đầu vào của tầng tiếp theo có dung kháng thấp hơn.

Một phần của tài liệu Bài giảng Thiết kế hệ thống VLSI: Phần 2 (Trang 27 - 28)