-
Notifications
You must be signed in to change notification settings - Fork 415
Implicit Memory Ports Connection #1657
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
Implicit Memory Ports Connection #1657
Conversation
Hi @aman26kbm , |
Sure. Lemme try it out. Thanks for working on this :) |
Hi @sdamghan , Single port ram inference worked well. But I am seeing an error for a dual port ram. Here's the design code:
In the resulting netlist, there are multiple drivers for a net. Pasting a snippet below. out1 and out2 are connected to the same net.
I am using the architecture: k6_frac_N10_frac_chain_depop50_mem32K_40nm.xml |
Thats weird, let me check! |
0e23400
to
612e48b
Compare
@aman26kbm That was a tricky point, now this should be okay! I have not indexed the out1 and ou2 properly so that both output signals would connect to the same net. |
Cool. Trying it now. Will let you know in a bit. |
@sdamghan |
Thanks @aman26kbm |
Hi @vaughnbetz ,
|
Not sure ... worth flagging this to @litghost |
612e48b
to
cf6ebd4
Compare
Sarah had a problem with Kokoro today; so seems like there may still be an issue. I think kokoro restarted with your latest push; please comment here on whether it finishes in a reasonable time (one day is good, two days may be OK, more than that definitely looks like a problem). |
FYI - @litghost |
@vaughnbetz It works the same as before; it resulted in "Tool Failed" for VtR Nightly Tests. |
cf6ebd4
to
bc2d650
Compare
It would be good to run vtr_nightly on your own machine and confirm QoR is OK (or do a QoR run on the VTR benchmarks and paste the results here), since vtr_reg_nightly is not running automatically right now. |
Before you run vtr_reg_nightly locally, run the following command: |
Thanks, I ran the above-mentioned command, however, I still get the following error by running the following command:
Is the used command wrong or something else? |
Did you also run "make get_titan_benchmarks" and "make get_ispd_benchmarks"? You also need to run these before running nightly |
Thanks @sfkhalid baseline_results.txt It worth noting that RAM inference has considerably changed compared to the past since not only actual DPRAMs were not inferred, but also SPRAMs were considered as DPRAMs if there were both read and write accesses to that block of memory in the Verilog file. This could be a reasonable cause for considerable change in abc_synth_time. |
Thanks, the QoR results look OK. I just updated the branch; will merge when the fast tests pass so we can get this in. |
Thanks @vaughnbetz . |
139284b
to
f38aa8f
Compare
Description
Odin II considered the same memory access in LHS and RHS as different ports with different addresses for hard block memories. In this PR, I resolved this issue by checking the source of new address signals to the connected one if there were any. Moreover, the memory type would have considered 'DUAL_PORT_MEM' even if there was only one port with the same address signals due to the previous design. This issue also has been resolved by considering the 'SINGLE_PORT_MEM' as the default memory type and changing it to the DUAL_PORT_MEM if there is another address signal that is not connected previously.
Related Issue
#1642
Motivation and Context
How Has This Been Tested?
Types of changes
Checklist: