Skip to main content

Using Functional Design Blocks to Organize Your EDA Workflows

hierarchical design

Schematic capture is the first step of the EDA (electronic design automation) cycle. It involves using a schematic editor to sketch a circuit diagram which maps all the connections between the various components that make up your circuit.

As you might imagine, the larger and more complex the circuit, the harder it is to properly lay out all the components and connections for your design on a single page. It can be easy to lose sight of the bigger picture of your design when you have to keep track of thousands of resistors, capacitors, and other components across multiple pages of schematics.

Fortunately, there is a better way: Functional design blocks. What follows are some tips and tricks for improving your EDA process flow using functional design blocks.

What is a Functional Design Block?

A functional design block is simply a block symbol that represents a working circuit within your design. By abstracting away the details of more complex circuits behind functional blocks, it becomes possible to fit the overall design into a single top-level schematic (or fewer pages for those really complex designs). Blocks let you focus on the bigger picture of how the different functional parts of a circuit are connected together.

When you need more detail, you can simply go into a block and access the underlying schematic. It’s also possible to nest schematics into one another, block by block. This is why the use of block symbols is also known as hierarchical design. Let’s take a look at some of the common functional blocks you may have to design.

Here are some examples of functional blocks:


Does your board need random access memory (RAM)? You’ll need to design a logic circuit for reading and writing to your memory cards. When a processor needs to read or write memory, it does so to a physical memory location on an address bus. It can be convenient to group this logic into a block on your top level schematic, and focus on how the memory block as a whole must be connected to the rest of your circuit.

Power Supply

The one thing every design needs is a power circuit. One way or another, all the components in your board need to have access to your power source. This one is pretty straightforward, make sure all the functional areas of your board have access to a steady supply of voltage from the power block.


A typical microcontroller consists of a processor, memory, and I/O ports for interfacing with the rest of an embedded system. Whether your microcontroller is recording temperature measurements from thermistors or telling a motor when to run, it can be useful to treat it as its own functional block based on its application.

Functional Blocks Streamline the Design Process

To recap, schematic capture and hierarchical design blocks streamline the PCB design process by giving designers a bird’s eye view of their designs. Functional block symbols let you nest schematics within hierarchies, making it easier to split the design work up among multiple engineers. Ready to use functional blocks to streamline your design process? Check out Cadence’s suite of PCB design and analysis tools today.