Incorporating CoreGen files in EDK 8.1 peripheral

Jul 05, 2006 4 Replies

Hi folks,



I have a problem and I need a clean solution: I created an OPB peipheral which includes AsyncFIFO (created with FIFO generator). I have included the edn (tried also with ngc) in bbd file and a VHDL wrapper (original, created by CoreGen). During build I get the following error: ERROR:NgdBuild:604 - logical block 'imam_0/imam_0/FIFO' with type 'async_fifo' could not be resolved. A pin name misspelling can cause this, a missing edif or ngc file, or the misspelling of a type name. Symbol 'async_fifo' is not supported in target 'virtex4'. I did managed to overcome the problem somehow several times by changing bbd and netlist filenames, but the problem comes to the surface every time I clean all the EDK project files.



Guru



The async_fifo.edn is generated on the fly through some HDL pragma calls that XST understands.

To integrate this into EDK flow, add OPTION RUN_NGCBUILD=TRUE into the MPD of your pcore. This allows platgen to integrate sub-netlist files into the generated NGC file produced by XST.

Guru wrote:

You may have already done this, but I thought to point it out anyway:

Make sure that the core netlist (edn, etcc) is in the directory like this

pcores/your_core_v_1_00a/netlist

And the bbd file should have lines like below: FILES your_netlist_names

HTH, Jim

formatting link

Guru wrote:

Hi Guru,

I solved that problem (when I experienced it) by adding the line OPTION STYLE = MIX to my mpd file.

/Johan

----------------------------------------------- Johan Bernspång, xjohbex@xfoix.se Research engineer Swedish Defence Research Agency - FOI Division of Command & Control Systems Department of Electronic Warfare Systems www.foi.se Please remove the x's in the email address if replying to me personally. -----------------------------------------------

Actually I have done all of that that what you suggested.

The problem is actually that during synthesis async_fifo.ngc is not copied to project/implementation/my_peripheral_0_wrapper directory. If I copy it manually the it works, otherwise not - weird behaviour. Maybe synthesis on the fly can help, since Xilinx peripherals are done that way (fifo in opb_ddr for instance).

Guru

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required