diff options
Diffstat (limited to 'src/tcl/readable.tcl')
-rw-r--r-- | src/tcl/readable.tcl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/tcl/readable.tcl b/src/tcl/readable.tcl new file mode 100644 index 00000000..39f43caa --- /dev/null +++ b/src/tcl/readable.tcl @@ -0,0 +1,25 @@ +proc iswithin { ADDRESS BASE LEN } { + return [expr ((($ADDRESS - $BASE) > 0) && (($ADDRESS - $BASE + $LEN) > 0))] +} + +proc memorytype { ADDRESS } { + for { set chip 0 } { $chip < $N_CHIP } { incr chip } { + if { iswithin $ADDRESS $FLASH($chip,BASE) $FLASH($chip,LEN) } { + return "flash" + } + } + + for { set chip 0 } { $chip < $N_RAM } { incr chip } { + if { iswithin $ADDRESS $RAM($chip,BASE) $RAM($chip,LEN) } { + return "ram" + } + } +} + +# default to 32bit reads. +proc isreadable { ADDRESS } { + return isreadable32 $ADDRESS +} + +proc isreadable32 { ADDRESS } { +
\ No newline at end of file |