Hot PCB FPGA MCU News From Altium

Posted by

Introduction to PCBs, FPGAs, and MCUs

Printed circuit boards (PCBs), field-programmable gate arrays (FPGAs), and microcontroller units (MCUs) are essential components in modern electronic systems. Each plays a unique role in enabling the functionality, flexibility, and performance required by today’s applications.

What is a PCB?

A PCB is a flat board made of insulating material with conductive copper tracks printed on one or both sides. Components are soldered onto the board to create a complete electronic circuit. PCBs provide mechanical support and electrical connections for electronic components.

PCB Type Layers Typical Applications
Single-layer 1 Simple circuits, low-cost devices
Double-layer 2 More complex circuits, power and ground planes
Multi-layer 4+ High-density circuits, high-speed signals

What is an FPGA?

An FPGA is an integrated circuit designed to be configured by a customer or designer after manufacturing. FPGAs contain an array of programmable logic blocks and a hierarchy of reconfigurable interconnects, allowing the blocks to be “wired together” in different configurations to implement custom hardware functionality.

FPGA Feature Benefit
Programmability Can be reconfigured for different applications
Parallel processing Enables high-performance computing
Hardware acceleration Offloads processing from CPU/MCU

What is an MCU?

An MCU is a small computer on a single integrated circuit, containing a processor core, memory, and programmable input/output peripherals. MCUs are designed for embedded applications, where they control a specific function within a larger system.

MCU Component Function
Processor core Executes program instructions
Memory Stores program code and data
I/O peripherals Interface with external devices

Altium’s Latest PCB Design Tools

Altium, a leading provider of PCB design software, has recently released several new tools and features to streamline the PCB design process.

Altium Designer 22

Altium Designer 22 is the latest version of Altium’s flagship PCB design software. It includes several enhancements to improve productivity and collaboration:

  • Enhanced 3D PCB viewing and collision detection
  • Improved multi-board design functionality
  • New commenting system for better team collaboration
  • Advanced high-speed design and signal integrity analysis

Altium 365

Altium 365 is a cloud platform that enables teams to collaborate on PCB designs from anywhere in the world. It provides secure storage and version control for design files, as well as tools for project management and task tracking.

Altium 365 Feature Benefit
Cloud storage Access designs from anywhere
Version control Track changes and revert if needed
Design reviews Get feedback from stakeholders
Manufacturer collaboration Share designs with manufacturing partners

FPGA Design Trends and Tools

FPGAs continue to grow in popularity due to their flexibility and performance advantages over traditional processors. Here are some of the latest trends and tools in FPGA design.

High-Level Synthesis

High-level synthesis (HLS) allows FPGA designers to work at a higher level of abstraction, using languages like C/C++ or SystemC to describe hardware functionality. HLS tools automatically generate the lower-level RTL (register-transfer level) code needed to implement the design on an FPGA. This can significantly reduce development time and make FPGAs accessible to software developers.

HLS Tool Vendor
Vivado HLS Xilinx
Intel HLS Compiler Intel
Catapult HLS Siemens EDA

FPGA Acceleration Frameworks

FPGA acceleration frameworks provide pre-built libraries and APIs to simplify the integration of FPGAs into software applications. These frameworks handle the low-level details of FPGA Programming and communication, allowing developers to focus on the high-level application logic.

Framework Vendor
Vitis Xilinx
oneAPI Intel
SDAccel Xilinx (deprecated)

MCU Development Tools and Ecosystems

MCUs are the workhorses of the embedded world, powering everything from simple sensors to complex IoT devices. Here are some popular MCU development tools and ecosystems.


Arduino is an open-source electronics platform based on easy-to-use hardware and software. It provides a simple IDE for programming MCUs and a wide range of compatible boards and shields for different applications.

Arduino Board MCU
Uno ATmega328P
Nano 33 BLE nRF52840

ARM Mbed

ARM Mbed is a platform and operating system for IoT devices based on ARM Cortex-M MCUs. It provides an online IDE, device management services, and a large library of reusable software components.

Mbed Board MCU
FRDM-K64F Kinetis K64F
Nucleo F401RE STM32F401RE
LPC1768 NXP LPC1768


PCBs, FPGAs, and MCUs are critical components in modern electronics, each serving a unique purpose. Altium’s latest PCB design tools, such as Altium Designer 22 and Altium 365, help teams create high-quality PCBs efficiently and collaboratively. FPGA design is becoming more accessible with high-level synthesis tools and acceleration frameworks, while MCU development is supported by popular ecosystems like Arduino and ARM Mbed. As these technologies continue to evolve, they will enable even more innovative and powerful electronic systems.


Q1: What’s the difference between a PCB and a breadboard?

A: A breadboard is a temporary prototyping tool for creating electronic circuits without soldering. Components are plugged into the breadboard’s holes, which are connected by conductive strips. A PCB, on the other hand, is a permanent and more reliable way to create circuits. Components are soldered onto the PCB, which has copper traces that connect the components according to the circuit design.

Q2: Can FPGAs replace CPUs?

A: FPGAs and CPUs serve different purposes and are often used together in a system. CPUs are general-purpose processors that execute sequential instructions, while FPGAs are specialized hardware that can be configured to perform specific tasks in parallel. FPGAs are often used to accelerate certain parts of an application, while the CPU handles the overall control and less performance-critical tasks.

Q3: What’s the difference between an MCU and a CPU?

A: An MCU (microcontroller unit) is a small, self-contained computer on a single chip. It includes a CPU (central processing unit) along with memory and peripherals. MCUs are designed for embedded applications where they control a specific function within a larger system. A CPU, on the other hand, is just the processor core itself, without the memory and peripherals. CPUs are used in general-purpose computers and require external chips for memory, I/O, and other functions.

Q4: Do I need to know HDL to design FPGAs?

A: Traditionally, FPGA design required knowledge of hardware description languages (HDLs) like VHDL or Verilog. However, with the advent of high-level synthesis (HLS) tools, it’s now possible to design FPGAs using higher-level languages like C/C++ or SystemC. HLS tools automatically generate the lower-level HDL code needed to implement the design on an FPGA. This makes FPGA design more accessible to software developers and can significantly reduce development time.

Q5: Can I use the same code for different MCUs?

A: It depends on the specific MCUs and the code. If the MCUs are from the same family and have the same architecture (e.g., two different PIC MCUs), then the code may be directly compatible or require only minor modifications. However, if the MCUs are from different families or have different architectures (e.g., an AVR MCU and an ARM MCU), then the code will likely need to be ported or rewritten to work on the new MCU. Using a cross-platform ecosystem like Arduino or ARM Mbed can help make code more portable between different MCUs.