PROM

PROM là viết tắt của programmable Read-only memory trong tiếng Anh, hay "chíp bộ nhớ chỉ đọc lập trình được". PROM là vi mạch lập trình đầu tiên và đơn giản nhất trong nhóm các vi mạch bán dẫn lập trình được (programmable logic device, hay PLD). PROM chỉ lập trình được một lần duy nhất bằng phương pháp hàn cứng. PROM có số đầu vào hạn chế, thông thường đến 16 đầu vào, vì vậy chỉ thực hiện được những hàm đơn giản PROM được phát minh bởi Wen Tsing Chow năm 1956 khi làm việc tại Arma Division của công ty American Bosch Arma tại Garden, New York. PROM được chế tạo theo đơn đặt hàng từ lực lượng Không quân Hoa Kỳ lúc bấy giờ với mục đích có được một thiết bị lưu trữ các tham số về mục tiêu một các an toàn và linh động. Thiết bị này dùng trong máy tính của Atlas E/F và được giữ bí mật trong vòng vài năm trước khi Atlas E/F trở nên phổ biến. Cấu trúc của PROM tạo bởi ma trận tạo bởi mảng cố định các phần tử AND nối với mảng các phần tử OR lập trình được. Tại mảng nhân AND, các đầu vào sẽ được tách thành hai pha, ví dụ a thành pha thuận a và nghịch ( a ¯ ) {\displaystyle ({\bar {a}})} , các chấm (•) trong mảng liên kết thể hiện kết nối cứng, tất cả các kết nối trên mỗi đường ngang sau đó được thực hiện phép logic AND, như vậy đầu ra của mỗi phần tử AND là một nhân tử tương ứng của các đầu vào. Ví dụ như hình trên thu được các nhân tử T 1 , T 3 {\displaystyle T_{1},T_{3}} như sau: T 1 = a ¯ . b ¯ . c ¯ {\displaystyle T_{1}={\bar {a}}.{\bar {b}}.{\bar {c}}} , T 3 = a . b ¯ . c ¯ {\displaystyle T_{3}=a.{\bar {b}}.{\bar {c}}} . Các nhân tử được gửi tiếp đến mảng cộng OR, ở mảng này "X" dùng để biểu diễn kết nối lập trình được. Ở trạng thái chưa lập trình thì tất cả các điểm nối đều là X tức là không kết nối, tương tự như trên, phép OR thực hiện đối với toàn bộ các kết nối trên đường đứng và gửi ra các đầu ra X, Y, Z,... Tương ứng với mỗi đầu ra như vậy thu được hàm dưới dạng tổng của các nhân tử, ví dụ tương ứng với đầu ra Y: Y = T 3 + T 1 = a ¯ . b ¯ . c ¯ + a . b ¯ . c ¯ {\displaystyle Y=T_{3}+T_{1}={\bar {a}}.{\bar {b}}.{\bar {c}}+a.{\bar {b}}.{\bar {c}}} . FPD Field-Programmable Device PLA Programable Logic Array PAL Programable Array Logic SPLD Simple Programable Logic Device CPLD Complex Programble Logic Device FPGA Field-Programable Gate Aray HCPLD High-Capacity PLD: refers to both FPGA and CPLD ASIC Application-Specific Integrated Circuit