I am building a project that uses an EMIF to push data from a transceiver to DDR3 memory. I took the following steps and now I am stuck:
THE PROBLEM: Now I want to pull in a FIFO, and 4 other IP components. The problem is that the file hierarchy of the generated example design is much different than the structure of a normal project. Namely, there is no apparent test bench and no IP folders in the top level like normal. This makes it so that pulling in IP components is a non-trivial task.
QUESTIONS: Is it possible to build off of an IP generated example and simulate it correctly in modelsim? what is the underlying mechanism for modelsim to run an example design ?(there is no testbench file) How would one add components to a generated IP example desing while maintaining the ability to simulate in Modelsim?
Example designs are generated with two set of files, one for hardware implementation and second for simulation purpose. you should be able to find the readme file with commands to guide you on next steps.
Yes, example designs are generated with simulation scripts you will be able to bring up the simulating using the script for Modelsim it will be "msim_setup.tcl" You can take it as a baseline and build up your design on top of it by adding other components.
You should refer to example design user guide to answer the questions related to file structure and file details.
Let me know if this is helpful to address your question.
Thanks for the reply. So if I took the hardware implementation from the qii folder and added my components to it I would need to write a testbench for it and pull in the ip components manually to the project in order to run in Modelsim? The main point of confusion is that I don't understand modelsims mechanism for running the simulation without a testbench from the sim folder.
Example design does comes with the testbench and all the files needed to bring up the simulation.
Notice the Figure 8. Simulation Example Design in the document referenced earlier.
Also steps to bring up simulation mentioned in topic "Simulating External Memory Interface IP With ModelSim" of same document.
Are you able to bring up simulation for example design (without any modification) following the instructions mentioned in user guide ?
Thanks for the continued help. Yes, I can run the unmodified EMIF example design in Modelsim simulation successfully. Now I want to add IP components to the EMIF example design , which is a quartus project file in the qii directory, and have the new signals show up in the same simulation. The quartus project compiles in quartus, however, when I run the simulation using the process source msim_setup.tcl -> ld_debug -> run -all the new signals from my IP do not show up. This tells me that although the IP has been added to the quartus project, it is not being included in the simulation. Any advice on how to proceed.
Yes this is expected, as explained earlier example design generate different file sets for Synthesis folder (qii/) and simulation folder (sim/)
Now I assume when you are saying that you modified the top level in quartus you updated the "ed_synth.v" to include your IP.
In order to add your IP's in example design simulation you need to update the files in simulation toplevel file "ed_sim.v" and update the simulation script as necessary to compile your IP files.
Hope this will help you to proceed.
Let me know if you have question.