<- Click here to Toggle

Home » Resources » Processes » Continuous Assignments

Continuous Assignments

In Verilog, continuous assignments can only drive nets, and not variables.

SystemVerilog removes this restriction, and permits continuous assignments to drive nets any type of variable.

Nets can be driven by multiple continuous assignments, or a mixture of primitives and continuous assignments.

Variables can only be driven by one continuous assignment or one primitive output. It shall be an error for a variable driven by a continuous assignment or primitive output to have an initializer in the declaration or any procedural assignment.

fork...join:

The fork...join construct enables the creation of concurrent processes from each of its parallel statements.

The syntax to declare a fork...join block is:

fork
    begin
        statement1; // one process with 2 statements
        statement2;
    end
join