Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug found in FMA, with enable MultiplePumping #1

Open
xuanyoya opened this issue Apr 19, 2013 · 3 comments
Open

Bug found in FMA, with enable MultiplePumping #1

xuanyoya opened this issue Apr 19, 2013 · 3 comments
Assignees
Labels

Comments

@xuanyoya
Copy link
Contributor

Code version:
753d51f

To reproduce:
make -f $FPGEN/Makefile clean run GENESIS_PARAMS="top_FPGen.FPGen.Architecture=FMA top_FPGen.FPGen.FMA.FractionWidth=52 top_FPGen.FPGen.FMA.ExponentWidth=11 top_FPGen.FPGen.FMA.PipelineDepth=7 top_FPGen.FPGen.FMA.EnableMultiplePumping=YES top_FPGen.FPGen.FMA.EnableForwarding=NO top_FPGen.FPGen.FMA.MulShift.MUL0.TreeType=Wallace top_FPGen.FPGen.FMA.MulShift.MUL0.BoothType=1 " RUN="+Seed=7062954 +NumTrans=1000 +Silent"

Description:
Turn on EnableMultiplePumping signal, got warnings as following:
RT Warning: No condition matches in 'unique case' statement.
"genesis_synth/Pipelined_MultiplierP_unq1.v", line 148, for top_FPGen.FPGen.FMA.MulShift.MUL0, at time 0.
And result is an error:
29501: SENT: TypeA=Random SignA=1 ExpA=0x3b8 FracA=0x96015fd3152a4
29501: TypeB=PointOneOneOne SignB=1 ExpB=0x3fe FracB=0xfffffffffffff
29501: TypeC=Random SignC=0 ExpC=0x247 FracC=0x8a4c0d8a1da48
29501: EXPECTED: Type=Random Sign=0 Exp=0x3b8 Frac=0x96015fd3152a3
29501: FOUND: Type=Random Sign=0 Exp=0x3b7 Frac=0xd9ba64885ad3c
29501: bb896015fd3152a4xbfefffffffffffff+2478a4c0d8a1da48 = 3b7d9ba64885ad3c (3b896015fd3152a3) WRONG
29501: ERROR Found

@shacham
Copy link
Contributor

shacham commented Apr 19, 2013

Hi Xuan,
It is great that you put the code version and the command line. Thank you.
However, for people to be able to look into this, you need to put a better description. What does "code in Pipelined_MultiplierP.vp is not working" mean? the code not compiling? the result is an error? give us a little more info.
Also, if you have a bug, you always want to assign it to someone. For nasty bugs we might need to ask Sameh to take a look since he built most of the logic. Sameh already has access to the repo.

Ofer.

@ghost ghost assigned sameh-galal Apr 21, 2013
@sameh-galal
Copy link
Contributor

the warning is ok because at time 0 the enable signal is not defined but after the reset signal the enable is initialized properly and as such it works fine..

The interesting thing is that running this command on my old version of the code from perforce time, I get no error but the downloaded github version gives the above error.. I wonder what is different..

/nobackup/sameh06/FP-Gen/simv -l simv.log +vcs+lic+wait +vpdbufsize+100 +vpdfileswitchsize+100 +Seed=7062954 +NumTrans=1000 +Silent -l run_bb.log
Chronologic VCS simulator copyright 1991-2012
Contains Synopsys proprietary information.
Compiler version G-2012.09_Full64; Runtime version G-2012.09_Full64; Apr 21 14:23 2013
Message: From $vcdpluson at time 0 in file genesis_verif/TestBench_FPGen_unq1.v line 476: [VCD+-SFSL]:
Setting file switch size limit to (100) megabytes.
Message: From $vcdpluson at time 0 in file genesis_verif/TestBench_FPGen_unq1.v line 476: [VCD+-SVBS]:
Setting buffer size to (100) megabytes.
Using Clk Period= 1000 pS
RT Warning: No condition matches in 'unique case' statement.
"genesis_synth/Pipelined_MultiplierP_unq1.v", line 149, for top_FPGen.FPGen.FMA.MulShift.MUL0, at time 0.
RT Warning: No condition matches in 'unique case' statement.
"genesis_synth/Pipelined_MultiplierP_unq1.v", line 149, for top_FPGen.FPGen.FMA.MulShift.MUL0, at time 0.
RT Warning: No condition matches in 'unique case' statement.
"genesis_synth/Pipelined_MultiplierP_unq1.v", line 149, for top_FPGen.FPGen.FMA.MulShift.MUL0, at time 0.
RT Warning: No condition matches in 'unique case' statement.
"genesis_synth/Pipelined_MultiplierP_unq1.v", line 149, for top_FPGen.FPGen.FMA.MulShift.MUL0, at time 0.
0: Runtime input +Silent found
0: Runtime input +Seed= 7062954 found
0: Runtime input +NumTrans= 1000 found
0: TESTBENCH IS ALIVE -- STARTING INITIALIZATION...
0: TESTBENCH IS ALIVE (SEED= 7062954) -- NOW RUNNING 1000 TESTS...
1036000: TESTBENCH IS DONE -- TEST PASS
V C S S i m u l a t i o n R e p o r t
Time: 1036000 ps

@jingpu
Copy link
Member

jingpu commented Apr 21, 2013

I think there is some changes in testbench. So I guess the random test numbers are different. By the way, all the p4 changes are preserved in git repo, so I think you can still compare code with 'git diff' command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants