Skip to content


Introduction to circuit blocks

Complex circuits may be built from blocks of thoroughly well-tried circuitry. This allows a modular approach to design, while also providing a degree of assurance that implementation of the design will have its base set firmly upon ground that has a proven track record.

ARMUST — Abstraction, Replaceable, Modular, Upgradable, Substitutable, Testable#

  1. Abstraction — abstraction allows the designer to get on with designing the mechanism and functionality without getting concerned over the detail of implementation. This is good as we want to avoid jumping into a fixed solution when a better one that might easily be seen using block diagrams.

  2. Replaceable — The module or block may be Replaced with another suitable block that performs the same function, without detriment to the functionality of the whole mechanism.

  3. Modular — This allows for a Modular approach in design, development and subsequent modifications and subsequent improvements.

  4. Upgradable — We can Upgrade a specific module instantly or many years down the line.

  5. Substitutable — Especially for testing purposes, we may Substitute a module with a piece of equipment that performs the same function.

  6. Testable — The whole design may be Tested on paper for operability, and functionality. Moreover, each module, when implemented, may be individually tested, by removing it from the system and performing detailed analysis on its performance.

The modular design process#

Frequently, both an overview and a sanity check on one or all of the blocks is useful. By this, I mean that it is wise to test out any functional block that is in any doubt while also designing at the top level. This might include well-tested circuitry that has not been used with one of the other blocks.

%%{init: { 'theme': 'dark' } }%% journey title The modular design process section Sketch plans Block diagram design 1: 5: Paper, Pencil Block diagram design 2: 5: Paper, Pencil section Test suspicious blocks Tested block X: 5: Multimeter, Oscilloscope Tested block Y: 1: Multimeter, Oscilloscope

Unhappy as block Y did not work#

A block Y failed and pertains only to Design 2, the designer has a decision to make

%%{init: { 'theme': 'dark' } }%% graph LR idB1[Block diagram design 1] idB2[Block diagram design 2] idSOL((Solution agreed)) idDEC{Design 1 or 2?} idB1==>|no failed module|idDEC idB2==>|has failed module|idDEC idDEC==>|YES to design 1|idSOL

We see that the Designer does not want to experiment with a new version of block Y. So he chooses Design 1. However, it is not always as simple as this.

Imagine that Design 2 is far more cost-effective. Then it may be worth spending time on a new version or a refinement of the failed block Y.

Black box functionality#

Additionally, a block diagram shows overall 'black box' functionality, such that the box describes its function and shows inputs and outputs.

Diagram showing 4 blocks#

This diagram consists of 4 audio blocks. The actual circuitry inside the blocks is not considered here. Instead, we are concerned about the whole functionality.

Like all circuitry or other complex systems, including software architecture, a block diagram is useful to comprehend and see an overview of how the whole thing works.

%%{init: { 'theme': 'dark' } }%% graph LR Microphone==>| millivolts |Preamp==>| 1V line signal level |Compressor==>|reduced dynamics |Headphones

A direct conversion receiver in blocks#

%%{init: { 'theme': 'dark' } }%% graph LR idA[Antenna] idB[Band pass filter] idM[RF Mixer] idAU[Audio amplifier] idL[Loudspeaker] idLD[Local oscillator] idA==>|all radio frequencies|idB==>|frequencies in band|idM idLD==>|chosen frequency|idM==>|sum & difference|idAU==>|only audio|idL