UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 18362

7.1i XST - "ERROR:HDLCompilers:44 - <file>.v line xx Illegal left hand side of blocking assignment"

Description

Keywords: 247, Verilog, synthesize

Urgency: Standard

General Description:
When synthesizing a Verilog design, the following errors might occur:

"ERROR:HDLCompilers:247 - <file>.v line xx Reference to scalar wire '<signal>' is not a legal reg or variable lvalue"
"ERROR:HDLCompilers:44 - <file>.v line xx Illegal left hand side of blocking assignment"

Solution

These errors will occur if signals declared as wire type are assigned a value using an always block statement, like this:

<code>
...
wire data;
always@(<condition>)
data = din;
...
</code>

If a conditional assignment is desired, a reg data type must be used.
AR# 18362
Date Created 09/03/2007
Last Updated 01/06/2009
Status Archive
Type General Article