Difficulty: Easy
Correct Answer: Speed—they are too slow
Explanation:
Introduction / Context:
Choosing between software running on microprocessors/DSPs and dedicated hardware (CPLDs/FPGAs/ASICs) is a core architecture decision. While software offers rapid iteration and rich libraries, some applications require deterministic, ultra-low-latency or high-throughput processing that general-purpose CPUs/DSPs struggle to achieve.
Given Data / Assumptions:
Concept / Approach:
Microprocessors and many DSPs execute instructions sequentially (or in limited superscalar/parallel forms), whereas FPGAs exploit deep spatial parallelism. For tight timing loops, nanosecond-class I/O handshakes, or massive multiply-accumulate arrays, custom logic pipelines reach far higher deterministic speed with lower latency. Thus, the common limitation of software-only solutions is inadequate speed for demanding real-time tasks.
Step-by-Step Solution:
Verification / Alternative check:
Latency measurements routinely show sub-microsecond responses in FPGA logic versus millisecond or tens of microseconds for software stacks, supporting the speed argument in real deployments.
Why Other Options Are Wrong:
Common Pitfalls:
Overlooking memory and I/O bottlenecks that further slow software solutions; ignoring determinism requirements (jitter) that hardware meets more easily than software on multitasking systems.
Final Answer:
Speed—they are too slow
Discussion & Comments