- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I would like to ask anyone here can please teach me how to use floating-point number in verilog code? For example, I got a formula, y=100*p^(1000/5255); if I enter p=100000, I want my y value=894 Is it possible to do that in verilog? Thanks. Best regard, TWKLink Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Verilog has very specific rules about how data types (bit widths, signedness, and realness) are propagated through an expression.
Verilog uses integer arithmetic by default when all operands are integers. You can covert to real arithmetic by using real constants writing: y - 100.0*p^(1000.0/5200.0);- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Is it possible to do that in verilog? --- Quote End --- It's possible to calculate real expressions at compile time, e.g. for constants, but the code isn't synthesizable.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you are using constants you could represent them using binary form.
http://davidcastells.blogspot.com.es/2012/07/floating-point-to-fixed-point-online.html
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page