From: Bernhard Urban Date: Sun, 9 Jan 2011 01:03:55 +0000 (+0100) Subject: tools: dthex2vhdl added. read source for readme X-Git-Tag: bootrom_v1~42 X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=calu.git;a=commitdiff_plain;h=2479c11c20e9e64487cff87170ac68299acfad23 tools: dthex2vhdl added. read source for readme --- diff --git a/tools/dthex2vhdl b/tools/dthex2vhdl new file mode 100755 index 0000000..321e314 --- /dev/null +++ b/tools/dthex2vhdl @@ -0,0 +1,17 @@ +#!/bin/bash + +# README: Aufruf: +# $ ./dthex2vhdl +# die Ausgabe kann man dann einfach in sein gewuenschstes VHDL kopieren. +# alternativ kann man es auch gleich in die entsprechende datei reinpipen: +# $ ./dthex2vhdl >> ../cpu/src/rom_b.vhd +# dann muss man es im VHDL file nur noch an die richtige position schieben. + +# TODO: data memory beruecksichtigen? brauch ma eh nicht fuer bootrom? +# TODO: .org anweisungen werden nicht beruecksichtigt! + +if [ -f "$1" ]; then + egrep -e '^1;' $1 | awk -F ';' '{ print "\twhen \"" (dec2bin(NR-1)) "\" => data_out <= x\"" $3 "\"; -- "$4} func dec2bin(i, str,c) { c = 7; while(i) { if (i%2 == 0) { str = "0" str; } else { str = "1" str; } i = int(i/2); c = c - 1;} while(c) { str = "0" str; c = c - 1;} return str; }' +else + echo "$1 existiert nicht oder ist ein directory" +fi