Table of Contents
Đại số Boolan trong thiết kế FPGA: Hướng dẫn hiểu được
Chương trình điện tử Điện tử (FPGAs) là các thành phần nền tảng trong hệ thống số hiện đại, được dùng trong giao thông, không gian máy, trung tâm dữ liệu, và các ứng dụng nhúng. Tính năng xác định của chúng là cấu trúc cấu trúc cấu trúc cấu trúc: các kỹ sư có thể lập trình các khối logic và các liên kết sau khi sản xuất các mạch số tùy ý. Tại trung tâm của khả năng này [FT: 0] đại số [FL: 0] [FLT1], cấu trúc toán học dưới các thiết kế, tối ưu hóa và hợp lệ của các khối logic. Bài này khám phá vai trò cơ bản của đại số [FGT: 0] cơ bản của các thuật toán học phương pháp định hướng và thiết kế cơ bản để tìm kiếm các thuật toán học cơ bản và xác thực để hiểu chính xác.
Những điều thiết yếu của đại số Boolant
Trong logic, các hoạt động này tương ứng với các cổng cơ bản: VÀ, OR, KHÔNG, NOR, XOR, và XOR. Mỗi vòng quanh tổ hợp có thể được diễn tả như là một chức năng Boolient, và mỗi vòng tròn có thể được mô tả bằng các phương trình Booclient kết hợp với các yếu tố trạng thái.
Các hoạt động cơ bản và bàn lẽ thật
Ba ca phẫu thuật cơ bản là:
- (·)): kết xuất chỉ 1 khi tất cả các kết nhập là 1.
- [FLT: 0]OR (+)): kết xuất là 1 nếu một đầu vào là 1.
- [FLT: 0] Không (NN,'][FLT: 1]: kết xuất bổ sung cho kết nhập.
Các bảng lẽ thật cho thấy rõ kết quả của mỗi tổ hợp đầu vào. Chẳng hạn, một cửa hai đầu và cổng có bảng lẽ: 00, 00 01, 0, 10 01, 11 đền 1. đại số khuyến khích cung cấp luật (có tính tổ hợp, kết hợp, phân phối, De Morgan, bản sắc, v.v...) cho phép viết lại và đơn giản hóa các biểu thức. Những luật này là các luật tối ưu hóa logic trong thiết kế FPGA.
Làm thế nào đại số Boolanes FPGA Block ience
Các nguyên tố văn học hiện đại [các yếu tố thống kê] [FLT:] [FLT:] [các khối logic có thể cấu hình [CLB], mỗi khối [CLT:] [LT: 1] [LT] ) ) [các yếu tố thông tin] [các nguyên tố nhập [FLT:]] [các] [FLTTT: 3]], mỗi cái chứa một hoặc nhiều [FLTTT:] [LT] [LT] [các bảng [LT], hoặc nhiều] [LT] [LT] [LT] [LT], bản đồ thị giác quan sát] [LT] [LT] [LT], NW], NW], hoặc [các chi tiết mục nhập vào“ Hình mẫu 4], bằng cách đặt chân dung hiện thực hiện các chi tiết của các tế trong tiến trình thiết kế bên trên các tế của các tế bào của các tế bào [các chương trình thiết kế].
Công thức chức năng logic
Một thiết kế thường bắt đầu với một đặc tả chức năng được diễn tả bằng ngôn ngữ mô tả phần cứng (HDL) như Verilog hay VHDL. Trong quá trình tổng hợp, bộ biên dịch xuất các phương trình Booany từ mô tả HDL. Chẳng hạn, một bài tập luôn luôn là một tập hay một bài tập hiện thời trở thành một tập của biểu thức Boolient. Khả năng thao tác các biểu thức này bằng các quy tắc đại số là bước đầu tiên để thực hiện hiệu quả.
Công nghệ tối thiểu
Biểu thức Boolant từ mật mã cấp cao thường thừa. giảm thiểu số lượng các số lượng các số lượng sản phẩm hoặc số nghĩa đen, trực tiếp giảm số lượng LUT cần và tăng tốc độ.
- Phiên bản Algebraic ): áp dụng các định luật như X + (X · Y) = X (sự phản đối) hoặc x + X' Y = X + [FL: 5] (sự mơ hồ).
- Bản đồ Karnaugh ): phương pháp đồ họa để đơn giản hóa các hàm số lên đến sáu biến bằng cách nhóm những biến bên cạnh.
- Quine–McCCCCluskey ): một phương pháp tabal phù hợp cho việc thực hiện máy tính tìm các chất liệu chính và chọn một vỏ bọc tối thiểu.
- Espresso interustic logicr )] thuật toán tiêu chuẩn công nghiệp sử dụng trong hầu hết các công cụ tổng hợp.
Những phương pháp này là ứng dụng trực tiếp của đại số Boolan để giảm thiểu các nguồn tài nguyên phần cứng.
Ví dụ thực tiễn: Thiết kế một đa phương tiện 2 ăn 1
Hãy xem xét một ví dụ cụ thể. Một máy 2 ăn 1 chọn một trong hai dữ liệu nhập dựa trên một dòng chọn.
Y = (S' e· A) + (S· B))
[FLT:] là dấu hiệu chọn, [FLT:] [FLT:] [FLT:] [FLT:] là các dữ liệu nhập vào. B này đã có trong tổng sản phẩm (SOP]. Trong một FP, điều này sẽ được thực hiện trực tiếp trong LUT. Giả sử chúng ta muốn thực hiện nó chỉ bằng các cổng NAND (mà là cổng phổ thông). Dùng luật Morgan, chúng ta có thể viết lại như thể nói:
Y = (S' A)' · (S B)' )
Sự biến đổi này cho thấy cách mà đại số Boonlan có thể cho phép nhà thiết kế có thể tương ứng với kiến trúc đích.
Dùng một chút phấn khích
Một chiếc FPGA với 4 máy tính có thể xử lý chức năng này dễ dàng.
| S | A | B | Y |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Mỗi mục nhập LUT được lưu trong cấu hình BRM. Công cụ tổng hợp tự động vẽ phương trình Boonlan lên bảng lẽ thật này. Tuy nhiên, cho các thiết kế lớn hơn, công cụ thực hiện tối ưu hóa Boolandidi để giảm số đếm LUT và cải thiện phù hợp.
Sự thay thế Boolananan trong bản sao của FPGA
Ngoài việc thu nhỏ, các công cụ tổng hợp hiện đại áp dụng một loạt các biến đổi Boolan trong bản đồ công nghệ.
Sự phân hủy và phân hủy
B. C. B. C. B. D. E [F.T: 1] có thể được phân hủy trong [FT:2] F + b = A + B. C. D. [B.E], nơi mà mỗi sản phẩm có thể được thực hiện trong một máy tính riêng lẻ, nếu máy LUT hỗ trợ nhập đủ. Việc nạp vào sẽ được phân tách thành [FT:2] F + b và C. F.A. + (D) [FL:3], nơi mà mỗi sản phẩm có thể được thực hiện trong một bảng LUT riêng lẻ nếu các giá trị nhập có thể được. chia sẻ thông tin. chia sẻ thông tin thường xuyên.
Sự kết hợp và sự kết hợp của lòng trung thành
Chất lượng của một đại diện Boolan có thể ảnh hưởng đến sự chậm trễ tín hiệu. Đại số Boonlan giúp cấu trúc lại độ sâu của logic để giảm thiểu mức độ logic, do đó giảm thiểu sự chậm tiến trình quan trọng. Chẳng hạn, một cây sâu của và cổng có thể được tái cấu trúc thành một cây cân bằng bằng bằng bằng bằng bằng bằng bằng cách sử dụng tính hợp tác để giảm độ sâu từ O( n log) sang O (log n) nhưng với những tính chất chậm trễ hơn.
Khởi động khởi động phụ huynh
Trong các máy nhà nước có hạn (FSMs), mã hóa tiểu bang và logic của bang kế tiếp được thể hiện như là các chức năng Boolian. Việc thu nhỏ các chức năng này có thể giảm cả vùng logic và sức mạnh. Kỹ thuật hóa như bài tập của nhà nước bằng đại số Boonlan (v. d., sử dụng sự phân loại của các quốc gia trong một khối lập phương Boolian) dẫn đến lô-môn đơn giản hơn.
Lợi ích của việc áp dụng đại số Boolaning trong thiết kế FPGA
Những lợi ích thực tế là đáng kể và trực tiếp ảnh hưởng đến các thước đo thiết kế then chốt:
- Sự tái sử dụng ): ít người và đăng ký có nghĩa là vùng nhỏ hơn, chi phí thấp hơn, và khả năng phù hợp nhiều chức năng hơn với cùng một thiết bị.
- Cách thức ): giảm độ sâu logic đã dẫn đến sự chậm phát tán ngắn hơn, cho phép tần số hoạt động cao hơn.
- Mức tiêu thụ ): mức độ đếm thấp và giảm hoạt động chuyển đổi năng lượng động; vùng nhỏ hơn cũng giảm trạng thái rò rỉ tĩnh.
- Khả năng chấp nhận ): logic nhỏ giảm khả năng vi phạm quy tắc thiết kế (v. d., giữ vấn đề thời gian) và mô phỏng xác thực.
- Việc định hướng khả năng gửi ): việc nâng cao tối ưu hóa đẩy thiết kế càng ít phụ thuộc vào vải FPGA, giảm sự di cư giữa các gia đình bán hàng.
Những lợi ích này là lý do tại sao các kỹ sư đầu tư thời gian vào hiểu đại số Boolan nằm ngoài những điều cơ bản.
Công cụ và Ngôn ngữ cho Thiết kế tiểu đường Boolian
Trong khi đại số Boolann ẩn trong dòng chảy hiện đại, các kỹ sư thường không thực hiện thu nhỏ bằng tay cho các thiết kế lớn.
- Công cụ tổng hợp HDL : Synpliify, Xilinx Vivado, Intel Quartus, và open-source Yosys tất cả thực hiện Boovendimization như một bước chính.
- Công cụ thu nhỏ ): Espresso (đứng yên) và ABC (Berkeley) cung cấp các công cụ thu nhỏ cấp cấp cấp cao hai cấp và nhiều cấp khác nhau.
- Ngôn ngữ mô tả Hrdware ]: Verilog và VHL cho phép nhà thiết kế trình bày phương trình Boolian trực tiếp (v. g., đã chỉ định các phát biểu) hoặc sử dụng các cấu trúc cấp cao (thường là nếu-else) mà bộ tổng hợp chuyển sang dạng khởi động lại cho khởi động khởi động khởi động.
- Xác thực ): khởi động (SAT) các công cụ kiểm tra công cụ chứng minh rằng các chức năng gốc và tối ưu Booriver giống nhau.
Hiểu được đại số Boonlan ẩn giúp các nhà thiết kế viết mã tổng hợp thân thiện với nhau. Ví dụ, việc viết [FLT: 0] trực tiếp xác định một XOR thay vì dựa vào công cụ để tối ưu hóa một mô tả thêm động từ.
Hướng tương lai: Đại số Boolant đáp ứng máy học
Cuộc tìm kiếm tìm kiếm các bước phân chia tốt nhất. Số đại số khuyến khích vẫn còn nằm trong sự thật trên mặt đất mà tất cả các động cơ tối ưu được đo. Vì mục đích của việc học tập là tiến hóa theo hướng kiến trúc có lợi hơn (v. g., [FL: 0] [FL: 0] G [FL] GRRRR [FL] và các công cụ tính toán chuyên môn (DP, AI), các nguyên tắc hỗ trợ hoạt động của động cơ sở hữu sẽ vẫn còn thiết yếu cho phần logic.
Kết luận
Phần tử Boolant không phải là một sự tò mò toán học trừu tượng; nó là động cơ điều khiển thiết kế FPGA. Từ bản đồ FPGA đơn giản nhất đến đường dẫn dữ liệu phức tạp nhất, mỗi khối logic riêng là một biểu hiện của biểu hiện của biểu thức khởi động, giảm thiểu, và vẽ bản đồ phần cứng.
Để đọc thêm, hãy tìm hiểu đại số ) [FLT: 1], hiểu [FLT: 2] [FLT:] , lặn vào thuật toán [FLT:] [FLT:] [FLT: 1], và ôn lại [FLT: 6) [FL: 6) Bản đồ [FL:6] Trong bộ tư liệu tư liệu] [FL: 7], nhảy] [FL: 7] để làm thí dụ thực tế.