generic-flash-memory

The generic-flash-memory class simulates different types of flash-memory depending on which attributes are set.
Refer to [simics]/home/scripts/flash_memory.py for a complete description of the features implemented and the flash chips that are pre-configured.

If 1, the flash device will handled inquiries as normal accesses. If 0, it will ignore them. Default is 0.

accept_smaller_reads

Optional attribute; read/write access; type: Integer.

If 1, the flash device will accept smaller reads than the bus width. If 0, it will complain when receiving smaller reads. Default is 0.

accept_smaller_writes

Optional attribute; read/write access; type: Integer.

If 1, the flash device will accept smaller writes than the bus width. If 0, it will complain when receiving smaller writes. Default is 0.

amd_ignore_cmd_address

Optional attribute; read/write access; type: Integer.

If 1, the address will be ignored when parsing AMD commands. Default is 0.

big_endian

Optional attribute; read/write access; type: Integer.

If 1, the flash device will behave as a big endian device. If 0, it will behave as a little endian device. Default is 0.

bus_width

Required attribute; read/write access; type: Integer.

Total width (in bits) of the data path connected to the flash device.

busy_signal_targets

Optional attribute; read/write access; type: [n|o|[os]*].

(dst_object, dst_signal)* The destination device and signal name to connect the busy signal of the chips to. The destinations should implement the signal interface. Without a timing model, the device will never raise the busy signal.

Associates a flash state/operation with a time. The flash will remain in this state the given time allowing a more strict time model to be simulated. Sometimes flash drivers requires that an operation takes some time to for the software to work correctly.

unit_erase_time

Optional attribute; read/write access; type: Float.

Obsolete attribute since timing is not modeled. Kept for backward compatibility only.