/
punzik
/
simbench
Обзор
Документация
Войти
/
punzik
/
simbench
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
scripts/bin2mem.scm
28 строк
835 B
Nikolay Puzanov
Add sources
11 июн 2023, 16:15
11 июн 2023, 16:15
686d12b
Код
Авторство
О чём код?
#!/usr/bin/env guile !# ;; -*- geiser-scheme-implementation: guile -*- (use-modules (ice-9 binary-ports) (ice-9 format) (srfi srfi-11) (rnrs bytevectors)) (define (print-verilog-header binary-file mem-size) (let ((words (call-with-input-file binary-file (lambda (port) (bytevector->uint-list (get-bytevector-all port) 'little 4))))) (for-each (lambda (x) (format #t "~8,'0x\n" x)) (append words (make-list (- mem-size (length words)) 0))))) (let ((args (command-line))) (if (not (= (length args) 3)) (format #t "Usage: ~a <BINARY_FILE_NAME> <MEM_SIZE_KB>\n" (car args)) (let ((file-name (cadr args)) (mem-size (floor (/ (string->number (caddr args)) 4)))) (print-verilog-header file-name mem-size))))