Формат v2.0 raw
Формат v2.0 raw намеренно сделан предельно простым. Это позволяет легко генерировать образы памяти с помощью внешних программ (например, пользовательских ассемблеров) для последующей загрузки в Logisim.
Пример структуры файла
Представим, что в памяти содержатся следующие данные:
Если все остальные ячейки (не показанные на иллюстрации) заполнены нулями, результирующий текстовый файл образа будет выглядеть так:
v2.0 raw 12 22 45 67 12*80 23 a2 bb ce 4f 6a cc 45 7*cc 12 24
Правила и синтаксис формата
- Заголовок: Первая строка обязана содержать идентификатор формата (v2.0 raw).
- Данные: Начиная со второй строки, перечисляются шестнадцатеричные значения ячеек памяти, начиная с нулевого адреса. В одной строке можно располагать любое количество значений, разделяя их пробелами или переносами строк.
- Кодирование повторов (RLE): Для сокращения записи одинаковых, идущих подряд значений, используется
синтаксис N*XX, где N — количество повторений (строго в десятичной системе), а
XX — само значение (в шестнадцатеричной).
Пример: Запись 12*80 означает, что шестнадцатеричное значение 80 повторяется 12 раз. (При сохранении образа сам Logisim автоматически применяет кодирование повторов только для последовательностей из четырёх и более одинаковых значений). - Комментарии: Поддерживаются однострочные комментарии. Любой текст в строке, идущий после символа решётки (#), полностью игнорируется парсером Logisim.
Обработка несоответствий
- Недостаток данных (файл меньше объёма памяти): Если значений в файле меньше, чем ячеек в компоненте, оставшиеся ячейки будут инициализированы нулями (для ПЗУ) или нулями/случайными значениями (для ОЗУ) в зависимости от настроек на вкладке | Опции проекта |.
- Избыток разрядности: Если разрядность данных в файле превышает значение атрибута Биты данных самого компонента памяти, «лишние» старшие биты будут отброшены (проигнорированы).
Далее: Контекстное меню и файлы.