Compare commits

..

2 Commits

Author SHA1 Message Date
Nikolay Puzanov
536bde92df Allow to disable code sanitization 2022-12-04 11:29:25 +03:00
Nikolay Puzanov
b9cd29ad87 Fix Crtl-S hotkey 2022-12-04 11:29:10 +03:00
2 changed files with 10 additions and 6 deletions

View File

@ -160,7 +160,7 @@
document.addEventListener('keydown', (e) => { document.addEventListener('keydown', (e) => {
if (e.key.toLowerCase() === 's' && e.ctrlKey) { if (e.key.toLowerCase() === 's' && e.ctrlKey) {
e.preventDefault(); e.preventDefault();
save_code(); save_code('%SAVECODEURI%');
} }
}); });

View File

@ -303,8 +303,8 @@
(with-output-to-file command-file (with-output-to-file command-file
(lambda () (lambda ()
(println "~a" verilog-file)
(println "~a" metatop-file) (println "~a" metatop-file)
(println "~a" verilog-file)
(println "+define+TESTBENCH") (println "+define+TESTBENCH")
(println "+timescale+1ps/1ps")))) (println "+timescale+1ps/1ps"))))
work-dir)) work-dir))
@ -504,7 +504,7 @@
;;; ;;;
(define (make-page-handler host root index-file (define (make-page-handler host root index-file
work-base stor-base work-base stor-base
max-code-size max-code-size sanitize
iverilog-wrap vvp-wrap iverilog-wrap vvp-wrap
verilator-wrap verilator-sim-wrap verilator-build-jobs) verilator-wrap verilator-sim-wrap verilator-build-jobs)
@ -629,7 +629,7 @@
(make-response (make-response
(exec-sim 'iverilog (exec-sim 'iverilog
(sanitize-verilog code) (if sanitize (sanitize-verilog code) code)
work-base work-base
TOP-MODULE TOP-MODULE
#:metatop iverilog-metatop #:metatop iverilog-metatop
@ -646,7 +646,7 @@
(make-response (make-response
(exec-sim 'verilator (exec-sim 'verilator
(sanitize-verilog code) (if sanitize (sanitize-verilog code) code)
work-base work-base
TOP-MODULE TOP-MODULE
#:verilator-wrap verilator-wrap #:verilator-wrap verilator-wrap
@ -716,6 +716,7 @@
(-> " --verilator-sim-wrap PATH Verilator simulation executable wrapper.") (-> " --verilator-sim-wrap PATH Verilator simulation executable wrapper.")
(-> " --verilator-build-jobs N Verilator parallel build.") (-> " --verilator-build-jobs N Verilator parallel build.")
(-> " --max-len LEN Set maximum code size in symbols. Default: 0 (infinite)") (-> " --max-len LEN Set maximum code size in symbols. Default: 0 (infinite)")
(-> " --dont-sanitize Do not sanitize verilog code (dangerous)")
(-> " --work-base PATH Set work base path. Default: ./") (-> " --work-base PATH Set work base path. Default: ./")
(-> " --stor-base PATH Set snippets storage path. Default: ./") (-> " --stor-base PATH Set snippets storage path. Default: ./")
(-> " --log-level LEVEL Set log level from 0 (quiet) to 10 (verbose). Default: 1./") (-> " --log-level LEVEL Set log level from 0 (quiet) to 10 (verbose). Default: 1./")
@ -743,6 +744,7 @@
'(("verilator-sim-wrap") required) '(("verilator-sim-wrap") required)
'(("verilator-build-jobs") required) '(("verilator-build-jobs") required)
'(("max-len") required) '(("max-len") required)
'(("dont-sanitize") none)
'(("work-base") required) '(("work-base") required)
'(("stor-base") required) '(("stor-base") required)
'(("log-level") required) '(("log-level") required)
@ -758,6 +760,7 @@
(verilator-sim-wrap (string-trim-if-string (option-get opts "verilator-sim-wrap"))) (verilator-sim-wrap (string-trim-if-string (option-get opts "verilator-sim-wrap")))
(verilator-build-jobs (string->number (string-trim (or (option-get opts "verilator-build-jobs") "0")))) (verilator-build-jobs (string->number (string-trim (or (option-get opts "verilator-build-jobs") "0"))))
(max-code-size (string->number (string-trim (or (option-get opts "max-len") "0")))) (max-code-size (string->number (string-trim (or (option-get opts "max-len") "0"))))
(sanitize (not (option-get opts "dont-sanitize")))
(work-base (string-trim (or (option-get opts "work-base") "./"))) (work-base (string-trim (or (option-get opts "work-base") "./")))
(stor-base (string-trim (or (option-get opts "stor-base") "./"))) (stor-base (string-trim (or (option-get opts "stor-base") "./")))
(log-level (string->number (string-trim (or (option-get opts "log-level") "1"))))) (log-level (string->number (string-trim (or (option-get opts "log-level") "1")))))
@ -782,6 +785,7 @@
(logger LOG-INFO "verilator simulator wrapper: '~a'" verilator-sim-wrap) (logger LOG-INFO "verilator simulator wrapper: '~a'" verilator-sim-wrap)
(logger LOG-INFO "verilator build jobs: ~a" verilator-build-jobs) (logger LOG-INFO "verilator build jobs: ~a" verilator-build-jobs)
(logger LOG-INFO "Max code size: ~a" max-code-size) (logger LOG-INFO "Max code size: ~a" max-code-size)
(logger LOG-INFO "Sanitize code: ~a" sanitize)
(logger LOG-INFO "Work base path: '~a'" work-base) (logger LOG-INFO "Work base path: '~a'" work-base)
(logger LOG-INFO "Storage base path: '~a'" stor-base) (logger LOG-INFO "Storage base path: '~a'" stor-base)
(logger LOG-INFO "Log level: '~a'" log-level) (logger LOG-INFO "Log level: '~a'" log-level)
@ -789,7 +793,7 @@
(run-server (run-server
(make-page-handler host root INDEX-FILE (make-page-handler host root INDEX-FILE
work-base stor-base work-base stor-base
max-code-size max-code-size sanitize
iverilog-wrap vvp-wrap iverilog-wrap vvp-wrap
verilator-wrap verilator-sim-wrap verilator-build-jobs) verilator-wrap verilator-sim-wrap verilator-build-jobs)
'http `(#:host ,addr #:port ,port))))))) 'http `(#:host ,addr #:port ,port)))))))