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.

The reason of Verilog signed math calculation error

EDA_hg81

Advanced Member level 2
Joined
Nov 25, 2005
Messages
507
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
4,808
I am using Microchip Libero SOC to process the incoming data using Verilog.

But I found out the Verilog signed math operation is not correct, such as "01a114" + "ff6a1d" should = 010b31, but the result is "000b31"

Please let me know how to fix this problem.

Many thanks in advance.

Screenshot 2023-09-17 094357.png
 
What prevents you from posting the code? I'm sure there will be an indication of why only the 2 least significant bytes are being considered.
 
I am using Microchip Libero SOC to process the incoming data using Verilog.

But I found out the Verilog signed math operation is not correct, such as "01a114" + "ff6a1d" should = 010b31, but the result is "000b31"

Please let me know how to fix this problem.

Many thanks in advance.

View attachment 184986
why the waveform is 32 bits as 01a11400 not 01a114
 
I found out the solution to fix above problem is to break math into steps instead of putting all equation into one line.
 

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top