FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5990 Discussions

LPDDR3 Simulation using example design

KCMurphy
New Contributor II
387 Views

I'm having some issues with the LPDDR3 IP in my project.   See attached lpddr3.ip file in the ZIP

 

As a sanity test, I create the Intel LPDDR3 example design via Platform Designer, using the attached IP file without change.

(Hard Controller/PHY, LPDDR3-1600 4Gb (128Mbx32) from the presets, 800MHz mem clock with 200Mhz ref, autopch control ON (or OFF), Verilog, no board)

 

I then simulate with Modelsim-AE 2021.1 version.  I get some very strange results with all kinds of warnings and complaints.  The load itself has a number of warnings involving items in the protected portion of the design.  Running the test for 100uS gives the attached transcript. 

 

Note: I have also run this with the abbreviated calibration option and these messages persist after calibration "succeeds."  Note that for the most part the control and data wires to the memory are not moving.

 

(Win10Pro 21H1 19043, QPP 21.2, AMD Ryzen 7 5800x)

0 Kudos
1 Solution
KCMurphy
New Contributor II
333 Views

Never mind.  I rebuilt the project from source and paid careful attention to sequences, and it works fine now.  Apparently there was a build problem somewhere along the line and things were unhappy.

View solution in original post

4 Replies
AdzimZM_Intel
Employee
362 Views

Hi KCMurphy,


I'm Adzim. Thanks for using Intel Community.


From the KDB: https://www.intel.com/content/www/us/en/support/programmable/articles/000078759.html

The warning messages about the unconnected ports are for the optional ports.

The other warning messages look similar and I think it's not harmful and the design should be fine.


What are the issues that you're facing in your project?


Do you get some errors when compiling the design?


Regards,

Adzim



KCMurphy
New Contributor II
353 Views

From the transcript in the above zip file, the simulation RUN results in a constant stream of messages like the following:

# [14747638000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x2106]
# [14747638000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [14747638000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [14747638000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [14767734000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x2106] => 0x00000001 (         31 cycles)
# [14807926000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x6106]
# [14807926000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [14807926000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [14807926000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [14828022000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x6106] => 0x00000001 (         31 cycles)
# [17380214000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x2200] <= 0x000001fc
# [17440502000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x6200] <= 0x000001ff
# [17460598000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x3a0] <= 0x000001f9
# [17480694000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0xba0] <= 0x000001f9
# [17520886000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a0] <= 0x000001f8
# [17540982000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x1ba0] <= 0x000001f8
# [17561078000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x43a0] <= 0x000001f8
# [17581174000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x4ba0] <= 0x000001f8
# [17641462000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a8]
# [17641462000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [17661558000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a8] => 0x00000000 (         31 cycles)
# [17701750000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a8] <= 0x00000002
# [17762038000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a8]
# [17762038000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [17782134000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a8] => 0x00000002 (         31 cycles)
# [17802230000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a8] <= 0x00000006
# [17822326000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a9]
# [17842422000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a9] => 0x00000000 (         31 cycles)
# [17862518000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a9] <= 0x00000004
# [17922806000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a8]
# [17922806000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [17942902000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a8] => 0x00000006 (         31 cycles)
# [17962998000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a8] <= 0x0000000e
# [18023286000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a8]
# [18023286000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [18043382000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a8] => 0x0000000e (         31 cycles)
# [18063478000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a8] <= 0x0000004e
# [18083574000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a9]
# [18103670000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a9] => 0x00000004 (         31 cycles)
# [18123766000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a9] <= 0x00000044
# [18184054000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a8]
# [18184054000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [18204150000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a8] => 0x0000004e (         31 cycles)
# [18224246000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a8] <= 0x000000ce
# [18284534000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a8]
# [18284534000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [18304630000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a8] => 0x000000ce (         31 cycles)
# [18324726000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a8] <= 0x000001ce
# [18344822000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a9]
# [18364918000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a9] => 0x00000044 (         31 cycles)
# [18385014000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a9] <= 0x00000144
# [18445302000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a8]
# [18445302000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [18465398000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a8] => 0x000001ce (         31 cycles)
# [18485494000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a8] <= 0x000003ce
# [18545782000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a8]
# [18545782000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [18565878000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a8] => 0x000003ce (         31 cycles)
# [18585974000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a8] <= 0x000007ce
# [18606070000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x13a9]
# [18626166000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x13a9] => 0x00000144 (         31 cycles)
# [18646262000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x13a9] <= 0x00000544
# [18706550000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x1ba8]
# [18706550000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [18726646000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x1ba8] => 0x00000000 (         31 cycles)
# [18746742000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x1ba8] <= 0x00000002
# [18807030000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x1ba8]
# [18807030000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [18827126000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x1ba8] => 0x00000002 (         31 cycles)
# [18847222000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x1ba8] <= 0x00000006
# [18867318000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x1ba9]
# [18887414000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x1ba9] => 0x00000000 (         31 cycles)
# [18907510000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x1ba9] <= 0x00000004
# [18967798000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x1ba8]
# [18967798000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [18987894000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x1ba8] => 0x00000006 (         31 cycles)
# [19007990000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x1ba8] <= 0x0000000e
# [19068278000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x1ba8]
# [19068278000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [19088374000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x1ba8] => 0x0000000e (         31 cycles)
# [19108470000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x1ba8] <= 0x0000004e
# [19128566000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x1ba9]
# [19148662000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x1ba9] => 0x00000004 (         31 cycles)
# [19168758000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x1ba9] <= 0x00000044
# [19229046000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x1ba8]
# [19229046000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [19249142000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x1ba8] => 0x0000004e (         31 cycles)
# [19269238000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x1ba8] <= 0x000000ce
# [19329526000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x1ba8]
# [19329526000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.
#       It is possible that your read operation may contain invalid data.
# [19349622000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x1ba8] => 0x000000ce (         31 cycles)
# [19369718000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x1ba8] <= 0x000001ce
# [19389814000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x1ba9]
# [19409910000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ:  [0x1ba9] => 0x00000044 (         31 cycles)
# [19430006000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: WRITE: [0x1ba9] <= 0x00000144
# [19490294000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: Initiating Read operation from [0x1ba8]
# [19490294000] IOAux instance ed_sim.emif_0.emif_0.arch.arch_inst.io_aux_inst.io_aux.inst.<protected>.<protected>: READ Warning: IOAux detected dirty input data.

 

AdzimZM_Intel
Employee
344 Views

Hi KCMurphy,


I think you have to run the simulation until it's finished.

There should be a lot of processes that have been done before the memory is ready to use.

The important thing is the calibration must be succeed.


Regards,

Adzim


KCMurphy
New Contributor II
334 Views

Never mind.  I rebuilt the project from source and paid careful attention to sequences, and it works fine now.  Apparently there was a build problem somewhere along the line and things were unhappy.

Reply