Я преобразовал файл изображения в шестнадцатеричный файл, который имеет значения R, G, B и альфа в нескольких столбцах. Например:Чтение файла hex в testbench: Verilog
3с 48 36 и далее 1d 2b 19 и далее 08 18 06 FF 08 17 05 FF 14 1f 0d далее 1б 22 11 и далее 1a 1f 0e и далее 1a 1b 0b и далее 1d 1a 0b и далее 20 1a 0b и далее 23 1a 0c ff 23 1c 0d ff 24 1d 0e ff 24 1d 0e ff 21 1c 0d ff 23 1c 0d ff 1f 1a 0b ff 1e 19 0a ff 1c 19 0a ff 1e 1a 0b ff 20 1a 0b ff 24 18 0b ff 23 18 0a ff 21 18 0a ff
Теперь я хочу, чтобы прочитать и сохранить эти данные в виде коллекции из 32 бит (т.е. 4 байта). Если я не знаю, как байты присутствуют в файле (так как файл может быть любого размера), как я могу это достичь?
Спасибо за ответ :) – ssgr
Есть ли способ, что я могу избегать этих значений «x» для файлов меньшего размера? Потому что мне нужно снова преобразовать выходные данные в изображение. Поэтому слишком много значений «x» могут не дать мне требуемое изображение. – ssgr
Если вам нужно создать выходной шестнадцатеричный файл, вы можете использовать '$ writememh' и включать начальный и конечный адреса, где конечный адрес не является максимальным размером, но истинным размером; например '$ writememh (" out.hex ", image_32, 0, image_size - 1);'. Вы также можете всегда определять размер как параметр, а не максимальный размер, но вам нужно перекомпилировать для каждого нового изображения, если вы это сделаете. – Unn