RFC 2119 defines a vocabulary of requirement keywords -- MUST, SHOULD, MAY and their negatives -- widely used in IETF specifications and software engineering. This post covers the full RFC 2119 keyword set, the capitalisation convention introduced by RFC 8174, and the key differences from the IEEE normative term conventions covered in the earlier requirements writing post.
read moreOther articles
3D Printed Pinch Rods in OpenSCAD
Designing a parametric set of pinch rods in OpenSCAD using the BOSL2 library. Pinch rods are a traditional woodworking tool for checking carcases for square and transferring interior dimensions without measuring.
read moreSoC Article 06: Interconnects and Bus Protocols - AXI, AHB, and APB
How SoC blocks communicate: the AMBA bus family from simple APB peripherals through pipelined AHB to the high-performance AXI4 with its five independent channels, valid/ready handshake, and crossbar interconnects.
read moreSoC Article 05: Memory Architecture - Caches, DRAM, and On-chip Storage
How modern SoCs bridge the speed gap between fast CPU cores and slow external DRAM through cache hierarchies, SRAM, and DRAM controllers. Covers cache organisation, MESI coherency, the MMU, and on-chip storage.
read moreSoC Article 04: Processor Cores - CPU, DSP, GPU and Hardware Accelerators
A survey of the main processor types in modern SoCs: CPUs for general-purpose code, DSPs for signal processing, GPUs for parallel workloads, and hardware accelerators for AI, video, and cryptography.
read moreSoC Article 03: The SoC Design Stack - From Transistors to Software
How SoC design is organised as a stack of abstraction layers, from transistors at the bottom to application software at the top, and the languages and tools used at each level.
read moreSoC Article 02: What is a System on Chip? - Anatomy and Motivation
What blocks make up a System on Chip, how do they relate, and why does integration deliver such dramatic benefits over traditional board-level designs?
read moreManaging Dotfiles with Stow and Git
How to centralise and manage Unix dotfiles in a Git repository, using source directives and GNU Stow to link them into place.
read moreEmotional Intelligence in the Workplace
A summary of high and low emotional intelligence (EQ) traits in leaders and employees, and how EQ shapes team dynamics and decision making.
read more