I was going to suggest some of the formats that lordbubsy suggested as well. In addition, i would suggest the ascii hex MEM file format. It is useful for loading programs into FPGA block RAMs without requiring any monitor/loader on the target.
MEM files consist of ascii hex address records followed by ascii hex data records. Address records are preceded by "@", and data records are not. The address records and data records are separated by spaces or newlines. The following is an 8-bit memory example:
Quote:
@aaaa dd dd dd dd dd dd dd dd
@aaaa dd dd dd dd dd dd dd dd
Like most binary formats, the MEM file format can simply consist of a single address record, i.e. the load address, followed by the data bytes or words. Usually, no special formatting is applied to the data records, and they can simply be output as ascii hex in natural print order. However, the MEM file can be implemented in a manner similar to that of the intel/motorola ascii hex file formats (without the extended address records).
If you were to include the MEM file format, it would simplify the process of loading your output into an existing FPGA project.