1
\$\begingroup\$

A couple days ago we were given our last project assignment at the HDL course at my uni. Among the files provided was a .ngc file and we were told to place it inside the project folder. It is supposed to contain info regarding the famous Lena image which we are supposed to process. Now I'm done with the assignment but doing a little research regarding what an .ngc file is supposed to do, I'm confronted with a bunch of stuff regarding PCB layout descriptions which does not make any sense considering that lena.ngc is supposed to contain the image or maybe a RAM with the image's bytes. What exactly does an .ngc file do in this case? Is it still a PCB layout or some way of configuring the on-board SRAM on the FPGAs?

Sorry if I wasn't clear about a couple things here and there but as you might understand I'm a bit confused : )

\$\endgroup\$
1
  • \$\begingroup\$ It's a precompiled module or "black box". There ought to be a matching VHDL entity, or a component declaration you can use in your code, describing its interface. (Most likely it instantiates enough BlockRams configured as ROM to hold the image) \$\endgroup\$
    – user16324
    Commented May 22, 2023 at 11:32

1 Answer 1

1
\$\begingroup\$

See command line reference, https://www.xilinx.com/htmldocs/xilinx14_7/devref.pdf.

NGC file format is ISE's synthesis (XST) output. It is a target-specific cell netlist.

For inspection and/or post synthesis simulation with generic tools, you might be able to use conversion tools from ISE (ngdbuild and netgen) to get back to a VHDL netlist. For instance while having a "blink.ngc" in current directory:

ngdbuild -sd . blink blink.ngd
netgen -sim -ofmt vhdl -w blink.ngd blink-netlist.vhd

(Those commands are defined in the document above)

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.