core Estimated learning time: 10 hCommon in syllabi

Included in at least one reviewed higher-education syllabus.

S4-4.5 Verilog: Behavioral Modelling & Synthesis

You can write behavioral Verilog with procedural blocks and timing control, use tasks and functions, and explain what logic synthesis and FPGA programming do with your code.

Behavioral modelling is where Verilog becomes expressive and where beginners write code no tool can turn into hardware — the standing question is always what hardware does this describe. The classic trap is blocking versus non-blocking assignment; the rule worth making reflexive is blocking for combinational logic, non-blocking for sequential. Synthesis and the FPGA flow close the loop from text to configured silicon, and the unit ends the subject there deliberately: putting a design onto an FPGA is also the first step of the road that later leads to running models at the edge.

Work through these

  • Structured procedures: initial and always

    Procedural blocks are where Verilog stops looking like a schematic, and the two kinds differ in when they run: once at the start, or every time something changes. Getting this distinction wrong produces hardware nobody intended.

  • Procedural assignments; timing control; conditional statements

    Assignments inside procedural blocks, the delays and event controls that sequence them, and the conditional statements that choose between them. The standing question for every line is what hardware this describes.

  • Sequential and parallel blocks

    Statements inside a sequential block happen one after another; inside a parallel block they happen at once. Verilog is describing hardware that all exists simultaneously, so this choice is about modelling, not execution speed.

  • Switch-level modelling

    Switch-level modelling describes a circuit as transistors rather than gates, which is a level below anything else here. It matters for custom cells and for understanding what the gate abstraction is hiding.

  • Tasks and functions; useful modelling techniques

    Tasks and functions let a description be factored into reusable pieces, with the difference turning on whether time may pass inside. Used well they keep a large model readable rather than sprawling.

  • Procedural continuous assignments, overriding parameters, conditional compilation

    The remaining facilities that turn a working model into a maintainable one: assignments that override procedurally, parameters set from outside, and code included or skipped at compile time. These are what let one description serve several configurations.

  • Introduction to logic synthesis

    Synthesis is the step that turns your description into actual gates, and it is where unsynthesisable code is finally rejected. Knowing what a synthesiser can and cannot do changes how you write from the start.

  • Concept of programming an FPGA

    Programming a field-programmable gate array configures a chip of generic logic into your specific circuit, closing the loop from text to working hardware. This is also the on-ramp to edge and embedded machine learning work later.

  • Lab: write behavioral Verilog for your Unit-3 FSM and simulate it end to end

    Take the state machine you designed in the sequential unit, write it behaviorally, and simulate it end to end. Carrying one design through three notations is what ties the whole subject together.

    HDLBits: Verilog Practice Problems · Tutorial

Sign in to keep your progress.

Free resources

Links last checked 29 Aug 2026.

Stuck here?

Ask a mentor. A real person answers, and they can see exactly which topic you're on. Usually within a couple of working days.

Checking your session…

Topics shown in module order.