(ROM) and programmable logic arrays (PLAs) are crucial components in digital systems. These devices store fixed data and implement custom logic functions, offering various programming options to suit different design needs and production scales.

FPGAs take programmable logic further, providing reconfigurable arrays of logic blocks. This flexibility enables rapid prototyping, field upgrades, and custom computing solutions, making FPGAs invaluable in modern digital design for applications ranging from signal processing to ASIC prototyping.

Read-Only Memory (ROM) and Programmable Logic Arrays

Types of ROM

Top images from around the web for Types of ROM
Top images from around the web for Types of ROM
  • Mask-programmed ROM
    • Programmed during manufacturing process by customizing metal interconnect layers
    • Contents permanently fixed after production, ensuring data integrity
    • Lowest cost per unit for large production runs (millions of units)
    • Longest lead time for production, typically several weeks to months
  • (PROM)
    • One-time programmable by the user after manufacturing
    • Uses fuse-based or antifuse-based technology to create permanent connections
    • Faster turnaround time compared to mask-programmed ROM, usually days
    • Higher cost per unit than mask-programmed ROM but more flexible for small runs
  • Erasable Programmable Read-Only Memory ()
    • Can be erased and reprogrammed multiple times using ultraviolet light
    • Requires removal from circuit for erasing, typically 20-30 minutes under UV lamp
    • Useful for prototyping and small production runs, allowing for design iterations
    • Features a quartz window for UV exposure
  • Electrically Erasable Programmable Read-Only Memory ()
    • Can be erased and reprogrammed electrically while in-circuit
    • No need to remove from circuit for reprogramming, enhancing convenience
    • Slower write times compared to RAM, typically microseconds per
    • Limited number of write cycles, usually 100,000 to 1,000,000
    • Higher cost per compared to other ROM types due to complex cell structure

Structure of programmable logic arrays

  • Basic structure of PLAs
    • Implements two-level logic using AND-OR structure
    • Consists of an AND plane and an OR plane for flexible logic realization
    • Utilizes programmable interconnections between planes for customization
  • AND plane
    • Implements product terms (minterms) by combining input variables
    • Features programmable connections between inputs and AND gates
    • Generates all possible combinations of input variables for logic flexibility
  • OR plane
    • Combines product terms to form sum-of-products expressions
    • Employs programmable connections between AND gate outputs and OR gates
    • Generates final output functions based on selected product terms
  • Programming methods
    • Fuse-based programming burns out connections to create desired logic
    • Antifuse technology forms permanent connections when programmed
    • SRAM-based configuration allows for reconfigurable designs
  • Flexibility in implementation
    • Realizes any function within array size limits
    • Allows for easy modification of logic without changing underlying hardware

PLA design for combinational logic

  • Design process for PLAs

    1. Express logic function in sum-of-products form
    2. Determine required number of product terms
    3. Map product terms to AND plane connections
    4. Connect appropriate AND outputs to OR plane inputs
  • Advantages of PLAs

    • Flexibly implements multiple output functions in a single device
    • Reduces chip count compared to discrete logic implementations
    • Facilitates easier modifications and updates to logic without hardware changes
  • Limitations of PLAs

    • Fixed size and structure may lead to inefficient resource utilization
    • Potentially wastes resources for small functions due to predefined array size
    • Operates slower compared to custom logic due to programmable interconnects
  • Comparison with other implementation methods

    • Offers more flexibility than fixed-function logic gates (74xx series)
    • Provides less customization than full-custom ASIC designs
    • Suits medium-complexity functions better than simple look-up tables

FPGAs in digital systems

  • FPGA architecture

    • Comprises array of configurable logic blocks (CLBs) for implementing logic
    • Utilizes programmable interconnect for flexible routing between CLBs
    • Incorporates input/output blocks (IOBs) for interfacing with external signals
  • Configuration methods

    • SRAM-based (volatile) configuration allows for rapid reconfiguration
    • Flash-based (non-volatile) configuration retains programming after power-off
    • Antifuse (one-time programmable) offers secure, permanent configuration
  • Design flow for FPGAs

    1. (HDL) coding (VHDL, Verilog)
    2. to convert HDL to netlist
    3. Place and route to map netlist to FPGA resources
    4. Bitstream generation for programming the FPGA
  • Advantages in modern digital systems

    • Enables rapid prototyping and design iteration, reducing time-to-market
    • Allows field-upgradable hardware for system flexibility
    • Lowers non-recurring engineering costs compared to ASIC development
    • Offers parallel processing capabilities for high-performance applications
  • Applications

    • Performs signal processing tasks (FFT, filtering)
    • Creates custom computing machines for specialized algorithms
    • Prototypes ASICs to verify functionality before fabrication
    • Implements reconfigurable systems for adaptive computing
  • Comparison with ASICs

    • Provides higher flexibility but lower performance than ASICs
    • Incurs lower upfront costs but higher per-unit costs in production
    • Achieves shorter time-to-market, typically weeks instead of months
  • Future trends

    • Increases logic density and speed through advanced manufacturing processes
    • Integrates hard IP cores (ARM processors, memory controllers)
    • Improves power efficiency for mobile and edge computing applications

Key Terms to Review (18)

Bit: A bit is the most basic unit of data in computing and digital communications, representing a binary value of either 0 or 1. It serves as the foundation for all forms of data in digital systems, as bits combine to form larger units of information like bytes and enable complex operations such as arithmetic and logical computations. Understanding bits is essential for converting between number systems, performing binary arithmetic, and designing digital circuits and programming languages.
Byte: A byte is a unit of digital information that consists of 8 bits, serving as the foundational building block for data representation in computing and digital communications. It is used to encode a wide variety of data types, including characters, numbers, and instructions, making it essential for memory storage and processing in modern computing systems. The byte plays a critical role in various number systems, binary arithmetic, and logic implementations, influencing how data is stored and manipulated across digital devices.
Combinational logic: Combinational logic refers to a type of digital circuit where the output is determined solely by the current inputs, without any memory or feedback involved. This means that the output at any given time is a direct function of the inputs at that same time. Combinational logic forms the basis for many digital systems and is crucial for implementing arithmetic operations, data encoding, and memory functions.
EEPROM: EEPROM, or Electrically Erasable Programmable Read-Only Memory, is a non-volatile memory type that allows data to be written, erased, and reprogrammed electrically. This memory is crucial in applications where data needs to be retained even when the power is turned off, making it ideal for storing firmware and configuration settings in electronic devices.
Embedded systems: Embedded systems are specialized computing systems that are designed to perform dedicated functions within larger mechanical or electrical systems. They often integrate hardware and software to manage specific tasks, and are commonly found in everyday devices like appliances, vehicles, and medical equipment. These systems typically operate with real-time constraints and can include components like microcontrollers and programmable logic devices to enhance their functionality.
EPROM: EPROM stands for Erasable Programmable Read-Only Memory, a type of non-volatile memory that retains data even when power is turned off. It can be erased and reprogrammed using ultraviolet light, which makes it particularly useful for applications where software may need to be updated or changed. This feature allows EPROMs to be reused multiple times, leading to cost efficiency and flexibility in digital design.
Field-Programmable Gate Array: A field-programmable gate array (FPGA) is an integrated circuit that can be configured by the user after manufacturing to implement various digital logic functions. This flexibility allows designers to create custom hardware architectures tailored to specific applications, making FPGAs ideal for prototyping, testing, and deploying complex digital systems. They can be programmed using hardware description languages (HDLs) and are widely used in areas like telecommunications, automotive systems, and consumer electronics.
Hardware description language: A hardware description language (HDL) is a specialized programming language used to model and describe the structure and behavior of electronic systems, particularly digital circuits. HDLs allow designers to specify the functionality of hardware components in a human-readable form, which can be synthesized into actual physical components like integrated circuits or programmable logic devices. This capability is crucial for designing complex systems, enabling simulation, and ensuring accurate implementation in hardware.
Logic Gate: A logic gate is a fundamental building block of digital circuits that performs a basic logical function on one or more binary inputs to produce a single binary output. These gates are the core components used in creating complex Boolean functions and expressions, and they serve as the basis for constructing various types of digital systems, including memory devices and programmable logic arrays.
Mask ROM: Mask ROM is a type of read-only memory that is permanently programmed during the manufacturing process, using a photolithographic technique to create the desired data patterns. It is non-volatile, meaning the data is retained even when the power is turned off, making it ideal for storing firmware and other fixed data in various electronic devices. The structure of mask ROM allows for high density and fast access times, contributing to its use in applications where speed and stability are critical.
Microcontrollers: Microcontrollers are compact integrated circuits designed to govern a specific operation in an embedded system. They consist of a processor core, memory, and programmable input/output peripherals, allowing them to perform tasks with high efficiency in real-time. Microcontrollers are essential in devices such as automotive controls, home appliances, and consumer electronics, often programmed to execute specific functions based on the application requirements.
Programmable logic array: A programmable logic array (PLA) is a type of digital device used to implement combinational logic circuits. It consists of a programmable AND gate array followed by a fixed OR gate array, allowing users to configure it to perform specific logical functions. PLAs provide flexibility in circuit design, enabling designers to create custom logic functions without needing to produce a new chip for each application.
Programmable read-only memory: Programmable read-only memory (PROM) is a type of non-volatile memory that can be programmed once after manufacturing, allowing data to be written to it using a special programming device. This technology bridges the gap between traditional read-only memory (ROM) and more flexible forms of memory, enabling specific applications to store permanent data. PROM is especially useful in applications where the data does not need to be altered frequently, offering a reliable solution for embedded systems and electronic devices.
Propagation Delay: Propagation delay is the time it takes for a signal to travel from one point to another within a digital circuit. It’s a crucial factor in determining the speed and performance of digital systems, affecting how quickly signals can be processed and how many operations can occur in a given time.
Read-only memory: Read-only memory (ROM) is a type of non-volatile storage that permanently stores data and instructions that are essential for a computer or electronic device to boot up and function. This data cannot be easily modified or erased, which makes it reliable for storing firmware and system-level software. Because it retains its contents even when the power is turned off, ROM plays a crucial role in the initial startup process and hardware configuration.
Sequential logic: Sequential logic is a type of digital circuit whose output depends not only on the current inputs but also on the history of past inputs. This characteristic allows sequential logic to store information and perform complex operations over time, distinguishing it from combinational logic, which only relies on present inputs. It plays a crucial role in the design of systems that require memory and state management, such as flip-flops, registers, and finite state machines.
Setup time: Setup time is the minimum amount of time that a data input must be stable before the clock edge triggers a flip-flop or latch to ensure that the input data is correctly captured. It is crucial for the reliable operation of sequential circuits, as violations can lead to incorrect outputs and timing failures.
Synthesis: Synthesis refers to the process of combining various components to form a coherent and functional whole. In digital design, this involves creating circuits or systems from high-level descriptions or algorithms, ensuring that the final output meets specified requirements and functions correctly within a larger system.
© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.