Trong một thiết bị lôgic khả trình (PLD-Programmable Logic devices) thì phần mềm quyết định làm thế nào để nối các nhóm của các transistors (gates) hoặc các nhóm các cổng (gates) với nhau theo một cách nào đó để đạt đ−ợc chức năng mang muốn. PLD có thể lập trình theo 3 cách:
- Nối các cổng đ−ợc liiên kết vật lý bằng cách cắt đứt các đ−ờng(fuse) - Nối các cổng bằng cách làm chảy một số đ−ờng (anti-fuse)
- Cách thứ 3 là nối các cổng với nhau bằng cách sử đụng phần mềm điều khiển.
Khi một kết nối đ−ợc tạo, PLD đ−ợc coi là một mạch do ng−ời sử dụng thiết kế. Từ đó ta có thể lập đ−ợc một mạch logic lớn thực hiện một chức năng nào đó bằng cách kết nối các cổng một cách hợp lý.
2.1.3. Ưu nh−ợc điểm giữa công nghệ ASIC và PLD
Công nghệ PLD và công nghệ ASIC khác nhau ở một số điểm sau:
- ASIC mất một thời gian dài cho việc thiết kế và chế tạo. Trong khi đó PLD tạo ra chỉ nhờ phần mềm nên rất nhanh chóng.
- ASIC th−ờng đ−ợc thiết kế tối −u cho một chức năng đặc biệt nên th−ờng có tốc cao hơn. Nh−ng với công nghệ cao ngày càng phát triển thì PLD vừa cho độ linh động cao vừa có tốc độ nhanh và giá thành rẻ.
- ASIC có giá thành th−ờng đắt gấp nhiều lần so với công nghệ PLD trong các dự án vừa và nhỏ; đối với các dự án lớn thì ng−ợc lại, ASIC lại có giá thành rẻ hơn PLD rất nhiều.
- Tính linh động ,đa dạng trong chức năng thì PLD hơn hẳn ASIC
2.1.4. Một số loại thiết bị logic lập trình đ−ợc
-Simple Programmable Logic Devices(SPLD): là một con chíp nhỏ với các cổng nối tiếp hoặc một nhóm các cổng đ−ợc nối với nhau để làm một chức năng đơn giản.
-Complex Programmable logic Deviecs(CPLD): có cấu trúc phức tạp hơn SPLD, nó có thể chứa một vài mạch, mỗi mạch đ−ợc hiểu nh− một SPLD.
-Field Programmable Gate Array(FPGA): có cấu trúc và hoạt động phức tạp hơn CPLD. Nó có thể thực hiện những chức năng phức tạp.
2.1.4.1. CPLD
CPLD cung cấp cho các nhà thiết kế mạch logic có dung l−ợng rất lớn để thiết kế những mạch phức tạp chỉ trên một con chip. CPLD có thể coi là một tập hợp của các SPLDs.
Một SPLD là một nhóm các cổng đ−ợc nối liền với nhau mà chúng có thẻ lập trình đ−ợc để thực hiện một chức năng nào đó. Đ−ợc phát triển bắt đầu từ những năm 1970, SPLD là một phần hết sức cơ bản để thiết kế SPLD, PAL, PLA, CPLD chứa các khối SPLD, trong đó mỗi SPLD đ−ợc coi là một khối logic bao gồm PAL hoặc PLA.
Công nghệ CPLD đ−ợc phát triển cho các ứng dụng sau: - Các thiết kế đơn giản.
- Các thiết bị có giá thành thấp, chức năng đơn giản. - Giảm kích th−ớc mạch.
So sánh giữa các công nghệ PLD thì FPGA là một cộng nghệ mới đ−ợc phát triển có tiềm năng rất lớn.
2.1.4.2. FPGA
FPGA-Field Programmable Gate Arrays-Các mảng cổng logic lập trình theo tr−ờng-hiện đang trở thành một phần then chốt trong việc thiế kế hệ thống. Nhiều nhà sản xuất hiện đang cung cấp rất nhiều cấu trúc và ph−ơng pháp xử lý khác nhau. Vì vậy, việc lựa chọn một cấu trúc và ph−ơng pháp xử lý để có thể đáp ứng đ−ợc các yêu cầu về chức năng và ổn định đối với một hệ thống trong thực tế là vấn đề mang tính quyết định.
Thiết bị logic lập trình đ−ợc phát minh lần đầu tiên vào cuối thập 1970 và ngay lập tức đã trở lên phổ biến trong ngành công nghiệp bán dẫn. Ngoài khả năng lập thình đa dạng, công nghệ này còn có thời gian sản xuất nhỏ nên có khả năng cạnh tranh th−ơng mại rất lớn. Hơn nữa, việc thiết kế với nó khá dễ dàng và nó có khả năng lập trình lại nhiều lần.
Sử dụng sản phẩm FPGA ( Field Programmble Gate Array) hoặc CPLD (Complex Programmable Logic Devices) thì có thể tối thiểu hoá đ−ợc các công đoạn thiết kế. Các mạch số đều có thể đ−ợc thực hiện và lắp ráp trên máy vi tính thông th−ờng. Các phần mềm mô phỏng phần cứng HDL (Hardward Discription Languages) nh− ABEL, VHDL, Verilog, schematic... cho phép thiết kế và mô phỏng hoạt động của mạch bằng ch−ơng trình. Các ch−ơng trình mô phỏng cho phép xác định lỗi một cách dễ dàng và đầu ra của ch−ơng trình là một file bitstream để có thể download vào FPGA hoặc CPLD.