[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Compilation problem with icarus 0.8.1?



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mark Schellhorn wrote:
| Hi Stephen,
|
| Thanks for your response!
|
| I tried using a sized reg for m as well but I still get the error:

Hmm, looks like d and e are also used in that manner.

However, I see that someone pointed out that the constant propagation
may have taken away a known with. That's an Icarus Verilog bug.

| module junk;
|
|    integer d, e;
|
|    reg [31:0] m;
|
|    reg [63:0]           a;
|    reg [(512*8)-1:0]  b;
|    reg [2:0]           c;
|
|    initial begin
|       b = 0;
|       c = 0;
|       d = 0;
|       m = 0;
|       e = 9'd256 + 9'd32;
|
|       // This one works
|       a = b >> {(e - d[4:0] - (9'd8 - c) + {(m - 1'b1),3'o0}),3'o0};
|
|       // This one doesn't
|       a = b >> {(9'd256 + 9'd32 - d[4:0] - (9'd8 - c) + {(m -
| 1'b1),3'o0}),3'o0};
|
|       $display("%m : 0x%h",a);
|    end
|
| endmodule
|
| produces:
|
| [mark@camelot-007 DT_mark_cosim]$ iverilog junk.v
| junk.v:22: error: operand of concatenation has indefinite width:
| ((('d288)-(+d[4:0]))-((9'b000001000)-(c[2:0])))+({(m[31:0])-(1'b1),
| 3'b000})
| 1 error(s) during elaboration.
|

- --
Steve Williams                "The woods are lovely, dark and deep.
steve at icarus.com           But I have promises to keep,
http://www.icarus.com         and lines to code before I sleep,
http://www.picturel.com       And lines to code before I sleep."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFCNwXwrPt1Sc2b3ikRAo/3AJ44VIEvyBN6679nuwdyyxroshu3MgCg01Zu
sY7HUiInho8WIOrOikOppAI=
=ObCd
-----END PGP SIGNATURE-----