-
Notifications
You must be signed in to change notification settings - Fork 108
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
DRAM fix vendor tools tests #1268
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rather than disabling the dram test, let's just fix the fasm2bels bug?
Done. I think the issue was that there were orphan sinks due to the absence of routing to the INT tiles of the harness. By changing the designs, the problem should disappear. |
|
6f844a4
to
1b9fdc9
Compare
@litghost I have tried to fix the issue with drams, but it seems that the problem is more complex than I first thought. There are other different situations for which some sources are not being instantiated:
IMO this should be solved, but there are other higher priority things to be done, I have temporarily disabled the faulty vendor tool tests and enabled the ones that do pass. |
In both of these cases the output of fasm2bels should actually probably be a |
xc7/tests/dram/CMakeLists.txt
Outdated
dram_tests(1 32m 8 17) | ||
dram_tests(1 64m 4 17) | ||
# dram_tests(<dram_num_instances> <dram_mode> <syn_outpad_assert_usage> <syn_inpad_assert_usage> <enable_vivado_target>) | ||
dram_tests(4 32x1s 4 11 N) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are the 32x1s
/32x1d
failing? Please fix these two.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding 32x1d it is currently enabled and completes correctly (dram_2_32x1d_vivado_diff_fasm
).
As for 32x1s, vivado fails with the following error:
ERROR: [Vivado 12-2285] Cannot set LOC property of instance 'CLBLM_R_X3Y116_SLICE_X2Y116_RAM32X1S_C_0', for bel C5LUT Two RAM symbols can not share a LUT site if two RAM symbols are not also sharing the D LUT site. There are fewer than two RAM symbols in the D LUT site, for bel D5LUT Both D6LUT and D5LUT are occupied by a RAM. This prevents LUT xxx to go to site yyy
Resolution: When using BEL constraints, ensure the BEL constraints are defined before the LOC constraints to avoid conflicts at a given site.
I have tried to adopt the Resolution
suggested, but the same failure is produced.
@litghost I have seen that Vivado implements the 32x1s DRAM mode in a different way than done in Symbiflow. In fact here is the fasm I get: Vivado:
SymbiFlow:
I have added an additional pb_type, with an additional model, so to have the Does this make sense? |
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
230d936
to
e3d73c0
Compare
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
e3d73c0
to
0d07454
Compare
So I think the problem is the order that Vivado and Symbiflow pack 32X1S's. I'm guessing (without strong evidence) that Vivado packs:
And symbiflow was packing:
We probably need a minitest to verify. |
The new structure allows only 4 |
So, As far as I have seen, the |
<xi:include href="spram32.pb_type.xml" xpointer="xpointer(pb_type/metadata/child::node())" /> | ||
<meta name="fasm_params"> | ||
INIT[63:32] = INIT_00 | ||
INIT[31:0] = INIT_ZERO |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add an XML comment explaining that this is known to be wrong? Open a new issue about fixing the RAM32's in the future.
Signed-off-by: Alessandro Comodi acomodi@antmicro.com