- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hello all!

I've encountered a problem that absolutely baffles me. It's regarding the radix interpretation in the Sim/Wave window. I've checked that the binary number is correct, 64-bit fixed with 32 bits decimals. When displayed with fixed#32#binary#signed everything is correct but when displayed with fixed#32#decimal#signed it shows nonsense (see picture attached). The bit sequence is: 00000000000000000000000000000000 . 00101110000000000000000000000000 in binary rep. it's showed correctly but decimal shows ~7.7e8 instead of the correct 0.1796875. Signed, unsigned makes no difference. Anybody that knows what error I'm doing here? Thanks in advance! BR/ eleteria

Link Copied

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hi eleteria,

The given bit sequence “00000000000000000000000000000000 . 00101110000000000000000000000000” represents fraction in binary so you should check “float32” option in Radix. Let me know if this has helped resolve the issue you are facing or if you need any further assistance. Best Regards Vikas Jathar Intel Customer Support – Engineering (Under Contract to Intel)- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Hello!

First of all, thanks for your effort and interest in replying! The 64 bit sequence is a fixed fractional number, not a float number. I.e. the 32 first bits represents the number and the 32 last (LSB ) represents the fractional part, 1/2 and below. But the most amazing thing regarding this, is that if I do the same with a 32 bit, with 16 bit integer, 16 fractional bits, then everything works perfectly. The 32-bit sequence: 0000000000000000 . 0000000100000000 i.e. 1/128 = 0.0078125 is showed correctly with radix fixed#16#decimal#signed. (signed/unsigned does not matter, it works correctly) See attached image. This is nothing short of mind blowing to me, I simply can't understand it.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Anybody that has any idea here?

My test development has pretty much come to a halt. I guess this is just a bump. :)- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

After a thorough investigation, this is simply a bug in Modelsim. Just replying for other users future knowledge.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

--- Quote Start --- After a thorough investigation, this is simply a bug in Modelsim. Just replying for other users future knowledge. --- Quote End --- Though late but I think there is trivial misunderstanding of terminology. It looks like Modelsim means by decimal as signed (without decimal point), unsigned as unsigned(without decimal point) and fixed point for binary with decimal point defintion. Thus your above value is viewed without decimal point unless you choose fixed point. For signed/unsigned it ignores decimal point entered for fixed point.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

--- Quote Start --- Though late but I think there is trivial misunderstanding of terminology. It looks like Modelsim means by decimal as signed (without decimal point), unsigned as unsigned(without decimal point) and fixed point for binary with decimal point defintion. Thus your above value is viewed without decimal point unless you choose fixed point. For signed/unsigned it ignores decimal point entered for fixed point. --- Quote End --- I'm sorry, but please read through my previous posts more carefully. For every even bit length <64 it works. Given the fact that I also have 15+ year experience in programming I can easily say that this is a bug. Classical index out of bounds error. Regarding decimal, that is how it's presented in the wave window. Signed/unsigned doesn't matter at all. This is already concluded to be a bug in the Xilinx forum. Thanks for your interest though.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page