Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[Moved]Xilinx Vivado compiler problem or systemverilog declaration error

Status
Not open for further replies.

dpaul

Advanced Member level 5
Joined
Jan 16, 2008
Messages
1,799
Helped
317
Reputation
635
Reaction score
342
Trophy points
1,373
Location
Germany
Activity points
13,069
Hi all,

I am trying to simulate a uP core defined in sv using Xilinx Vivado suite.

However I get an error message for which I cannot find a fault.

Error: "[VRFC 10-301] an enum variable may only be assigned to same enum typed variable or one of its values"

This error message points to the part of the code as below:
Code:
`ifdef MPU_EN
    output  logic   [ ARCHITECTURE_BASE-1:0]      dmem_rd_check_addr,
    output  type_operation_mode_e                           dmem_rd_check_size,  <-- ERROR line
`endif

Note that in the above error line, the variable 'dmem_rd_check_size' is allocated to type 'type_operation_mode_e'.

I have the 'type_operation_mode_e' defined in an `include file as follows:
Code:
typedef enum logic [1:0] {
    DATA_MODE_BYTE,
    DATA_MODE_WORD,
    DATA_MODE_DWORD,
    DATA_MODE_X=2'bxx
} type_operation_mode_e;

I have checked this entire file/code and no where is there an illegal assignment for 'dmem_rd_check_size'.
Then why is the Vivado simulator throwing such an error?

I have hit a wall. Please help or advice.
 
Last edited by a moderator:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top