Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
15 years ago

Error (10147): Verilog HDL error at ColQueue.v(39): identifier "ColQueue" cannot be u

Hi there!

I made 3 queues to push pixel data in, with Mega Wizard.

It is asynchronous FIFO, and target is MAX II.

How is the solution of below issue?

plz help!

Error (10147): Verilog HDL error at ColQueue.v(39): identifier "ColQueue" cannot be used in expression

I get it with Quartus 9.1sp2 and 10.0.

7 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    This compilation error does not happen when the module was not used.

    But if there are syntax error, even if the module are not used, compilation is failed.

    So, this problem is not came from syntax error, I think, Rather than the MegaWizard setting.

    Plz Help!

    Thx!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    You didn't mention in which expression the error is generated. If you are using colqueue for another object than the module name, it would be plausible.

    P.S.: I see, you posted the code in the meantime. Can you please clearly indicate the reported error location?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    This is the problem Part.

    Error (10147): Verilog HDL error at ColQueue.v(39): identifier "ColQueue" cannot be used in expression

    Now I have edited above post to add the problem part.

    Thanks a lot!

    PS: this error happens after Error (10147).

    I think 10147 error causes below error.

    Error: Can't elaborate user hierarchy "InputLayer:comb_3|InputsideQueueArray:IQAentity"
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I looked for colqueue in source codes,

    but there nothing but only in below and generated file.

    --- Quote Start ---

    ColQueue Queue_Red (

    .wrclk ( Wrtcmplt ),

    .rdclk ( Req ),

    .data ( Redin[3:0] ),

    .rdreq ( Req ),

    .wrreq ( Wrtcmplt ),

    .empty ( Remp ),

    .full ( Rful ),

    .q ( RedOt[3:0] )

    );

    ColQueue Queue_Gre (

    .wrclk ( Wrtcmplt ),

    .rdclk ( Greq ),

    .data ( Grein[3:0] ),

    .rdreq ( Greq ),

    .wrreq ( Wrtcmplt ),

    .empty ( Gemp ),

    .full ( Gful ),

    .q ( GreOt[3:0] )

    );

    ColQueue Queue_Blu (

    .wrclk ( Wrtcmplt ),

    .rdclk ( Blreq ),

    .data ( Bluin[3:0] ),

    .rdreq ( Blreq ),

    .wrreq ( Wrtcmplt ),

    .empty ( Bemp ),

    .full ( Bful ),

    .q ( BluOt[3:0] )

    );

    --- Quote End ---

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Curiously, the errors is caused by a misplaced always @ in line 23 of InputsideQueueArray.v

    always @ColQueue Queue_Red (

    .wrclk ( Wrtcmplt ),

    If you remove the line, you'll notice more errors (wrong port names), but they are quite normal.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thank you, sir!

    My report, that I get same advice from a engineer who I am so respecting, has delayed,

    because I had wanted to post so after make it more clear why I have done so and how to remove "quite usual error".

    But, it is so better to report quickly, I'm sorry for not having reported so more quickly.

    And, your advice was exactly and clear!

    Thanks a lot!