Other articles


  1. SoC Intermediate 04: RTL synthesis and timing closure

    Why a design can pass sign-off timing and still fail in silicon, and the machinery that decides it: what synthesis optimises, what static timing analysis actually proves, SDC exceptions and the damage they hide, reading a timing report, RTL versus tool fixes, and multi-corner multi-mode closure.

    read more
  2. SoC Intermediate 02: Cache coherency protocols

    Why two threads with separate counters can run slower than one thread, and the coherency machinery that explains it: the single-writer rule, MESI states, read-for-ownership, snooping, directories, snoop filters, and the cache line granularity that no amount of reading the source code reveals.

    read more
  3. SoC Article 09: Hardware Description Languages and RTL Design

    How SoC hardware is described in code: the fundamental difference between sequential software and parallel hardware, RTL vs behavioural vs structural design, SystemVerilog key constructs, FSMs, testbenches, assertions, and the synthesis step that turns RTL into gates.

    read more
  4. RFC 2119 Requirements Keywords

    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 more

social