Bạn muốn thiết kế một đầu đọc thẻ nhớ 5 trong 1? Dễ thôi, bạn mua 1 bộ điều khiển cho MMC, 1 bộ điều khiển cho SD,... rồi gắn tất cả lên trên 1 bo mạch? Nhưng tại một thời điểm chỉ có thể có (và chỉ cần) một loại card được sử dụng trong đầu đọc. Phải chăng là 1 sự lãng phí? Lãng phí tài nguyên phần cứng, lãng phí công suất tiêu thụ? Tại sao bạn không nghĩ đến FPGA? |
Với FPGA, khi bạn cho thẻ nhớ MMC vào, đầu đọc hoạt động theo chuẩn của MMC và khi bạn dùng thẻ SD, FPGA trong đầu đọc sẽ được tự cấu hình lại theo chuẩn của SD. Như vậy bạn đã tiết kiệm được tài nguyên cho hệ thống bởi chỉ với 1 platform bạn thực hiện được nhiều tác vụ và tất nhiên cả công suất tiêu tán trên nó. Trên thực tế không ai làm như vậy vì như thế là đem dao mổ trâu đi giết gà và còn phải giải quyểt vấn đề về mức điện áp logic của các chuẩn. Ý tưởng này chỉ tồn tại trong các hobby project :D Vậy FPGA là gì? FPGA (Field-Programambe gate array) là 1 chip silicon chứa trong nó rất nhiều “khối logic” có thể tái cấu hình CLB (Configurable Logic Blocks) được liên kết với nhau thành bằng các liên kết khả trình (Programmable Interconnect). Các khối vào ra được phân bố xung quanh chip tạo thành các liên kết với bên ngoài. Bên trong khối logic CLB có bảng LUT (Look-Up Table) và các phần tử nhớ (FlipFlop hoặc bộ chốt). Bảng LUT với nhiều đầu vào và 1 đầu ra tạo thành 1 mạch logic tổ hợp nhỏ, còn các phần tử nhớ dành cho logic synchronous và sequential. |