Banzs TeamBANZSASIC FLOW WORKSHOP← BackAsk a mentor
Module 36 min

Verilog RTL

Synthesizable RTL describes hardware structure and clocked behavior rather than software execution.

◉ Banzs Tip

Use blocking assignments for combinational logic and nonblocking assignments for clocked storage.

An always_comb block calculates next_count; an always_ff @(posedge clk) block assigns count <= next_count.

Digital Design & Verilog flow

Follow each stage in sequence. Every stage produces information needed by the next.

Verilog RTL—visualized

This technical view uses the actual structures and relationships associated with this stage, followed by its key terms.

Understand every concept

01

Modules, ports and data types

What it is: Modules, ports and data types is a core concept within Verilog RTL. It describes the information, structure, or analysis engineers use at this stage of the Digital Design & Verilog flow.

Why it matters: Understanding it helps you interpret the stage correctly, avoid incorrect assumptions, and connect the result to the next implementation or signoff step.

Where it fits: This topic belongs to module 3, Verilog RTL, and its output supports the stages that follow.

Practical example: Engineer workflow: Declare clear module ports and parameters. An always_comb block calculates next_count; an always_ff @(posedge clk) block assigns count <= next_count.

02

Combinational and sequential coding

What it is: Combinational and sequential coding is a core concept within Verilog RTL. It describes the information, structure, or analysis engineers use at this stage of the Digital Design & Verilog flow.

Why it matters: Understanding it helps you interpret the stage correctly, avoid incorrect assumptions, and connect the result to the next implementation or signoff step.

Where it fits: This topic belongs to module 3, Verilog RTL, and its output supports the stages that follow.

Practical example: Engineer workflow: Code combinational outputs with complete assignments. An always_comb block calculates next_count; an always_ff @(posedge clk) block assigns count <= next_count.

03

Parameters and generate blocks

What it is: Parameters and generate blocks is a core concept within Verilog RTL. It describes the information, structure, or analysis engineers use at this stage of the Digital Design & Verilog flow.

Why it matters: Understanding it helps you interpret the stage correctly, avoid incorrect assumptions, and connect the result to the next implementation or signoff step.

Where it fits: This topic belongs to module 3, Verilog RTL, and its output supports the stages that follow.

Practical example: Engineer workflow: Code registers in edge-triggered always blocks. An always_comb block calculates next_count; an always_ff @(posedge clk) block assigns count <= next_count.

Work through it step by step

  1. 1

    Modules, ports and data types

    Declare clear module ports and parameters.

  2. 2

    Combinational and sequential coding

    Code combinational outputs with complete assignments.

  3. 3

    Parameters and generate blocks

    Code registers in edge-triggered always blocks.

  4. 4

    Modules, ports and data types

    Lint, simulate, then synthesize and review warnings.

Explore each topic

01

Modules, ports and data types

Understand the concept, connect it to the ASIC flow, study the report or behavior it produces, and apply it in a guided exercise. Check the result against the module goal before moving forward.

02

Combinational and sequential coding

Understand the concept, connect it to the ASIC flow, study the report or behavior it produces, and apply it in a guided exercise. Check the result against the module goal before moving forward.

03

Parameters and generate blocks

Understand the concept, connect it to the ASIC flow, study the report or behavior it produces, and apply it in a guided exercise. Check the result against the module goal before moving forward.

Completion checklist

  • No unintended latch warnings
  • Widths and signedness are intentional
  • Clock and reset are clean
  • Simulation and synthesis agree

Practise with open-source tools

These are official third-party GitHub projects selected for this learning path.

See all curated resources →